263
PROGRAMAC ¸ ˜ AO LINEAR MS428 Tuesday, 19 de novembro de 2013, 15:56

PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Embed Size (px)

Citation preview

Page 1: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

PROGRAMACAO LINEAR

MS428

Tuesday, 19 de novembro de 2013, 15:56

Page 2: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

PROGRAMACAO LINEAR

➊ Introducao

➋ Modelos

➌ Otimalidade

➍ Metodo Simplex

➎ Metodo de Pontos Interiores

➏ PL na Pratica

♣ Informacao

♥ Exercıcios

♠ Provas

Page 3: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

I - INTRODUCAO

➀ Matematica Aplicada e Pesquisa Operacional

➁ Etapas de Aplicacao

➂ Problema, Exemplar e Modelo

➃ Metodo, Algoritmo e Programa

➄ Problema de Carga de Maquina

➅ Hipoteses da Programacao Linear

Page 4: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

➀ Matematica Aplicada e Pesquisa Operacional

Page 5: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Curso de Matematica Aplicada: Producao

• Calculo

• Fısica

• Probabilidade & Estatıstica

• Computacao

• Analise Numerica

• Pesquisa Operacional

◦ MS428 – Programacao Linear

◦ MS528 – Fluxos em Redes

◦ MS628 – Programacao Nao Linear

◦ MS728 – Otimizacao Combinatoria

◦ MS515 – Modelos Probabilısticos (Estoques & Filas)

◦ MS715 – Planejamento e Controle da Producao

Page 6: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Pesquisa Operacional: Ferramentas

• Programacao Linear

• Programacao Nao-Linear

• Fluxos em Redes

• Programacao Inteira

• Otimizacao Combinatoria

• Programacao Dinamica

• Teoria de Decisoes

• Teoria de Filas

• Teoria de Estoques

• Simulacao de Sistemas

• etc.

Page 7: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Aplicacoes em Planejamento

• transportes

• comunicacoes

• energia

• redes hidraulicas

• sequenciamento

• alocacao

• localizacao

• producao & distribuicao – supply-chain

• etc.

Page 8: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Aplicacoes em Manufatura

• avaliacao de capital para equipamentos

• reducao de estoque em processo (work-in-process)

• planejamento de manutencao

• manipulacao de material

• layout de fabrica

• just-in-time e tecnologia de grupo

• planejamento de capacidade

• programacao de chao de fabrica

• balanceamento de linhas

• avaliacao de tecnologias

• etc.

Page 9: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Aplicacoes em Supply Chain e Logıstica

• gerenciamento de inventario e materiais

• distribuicao e armazenamento

• planejamento de transporte

• processamento de pedidos

• empacotamento

• garantia de qualidade

• planejamento de munutencao

• nıveis de servico ao cliente

• confiabilidade e disponibilidade

• suporte de produtos

• etc.

Page 10: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

➁ Etapas da Pesquisa Operacional

Page 11: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

��

�✠

��

�✠

❅❅❅❘

❅❅❅❘

Problema

Sistema

Modelo

Metodo

Solucao

Decisao

REALIMENTAC~AO

Ambiente

Real

Espaço

Matemáti o

Equipamento

Computa ional

Page 12: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Etapas da Pesquisa Operacional

☛ estudar problema a resolver (mundo real)

☛ identificar sistema envolvido no problema

☛ construir modelo matematico que representa o sistema

☛ utilizar metodo computacional para obter solucao

☛ transformar solucao matematica em decisao

☛ implementar decisao no ambiente real

☛ usar realimentacao, quando necessario

Page 13: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

➂ Problema, Exemplar e Modelo

Page 14: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Problema s.m.

1. Questao matematica proposta para que se lhe de solucao.

2. Questao nao solvida, ou de solucao difıcil.

Wikipedia: Questao proposta em busca de uma solucao.

Sistema – estrutura de subsistemas interconectados que operam

sob certas restricoes para atingir determinados objetivos.

Item – objeto importante processado por subsistemas:

produto, materia prima, peca, refugo, etc.

Componente – subsistema importante que desenvolve uma ativi-

dade propria, cujo nıvel define a quantidade de itens processados.

Page 15: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

C1

C2

C3✲

✲✲

I1

I2

I3

I4

I5

Sistema com 3 componentes e 5 itens

Modelo – representacao simplificada do sistema

(conjunto de equacoes e desigualdades matematicas)

Metodo – procedimento ou algoritmo utilizado para obter o

resultado desejado, compatıvel com o modelo

Solucao – meio matematico de resolver um problema

Decisao – operacionalizacao da solucao

Page 16: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Modelo

• concreto × abstrato (conceitual)

• fısico × matematico

• fechado × aberto (interacao com o meio ambiente)

• analıtico × numerico (nao fornece solucoes analıticas)

• estatico × dinamico (para observacoes ao longo do tempo)

• explicativo × preditivo

• determinıstico × estocastico (incertezas) × nebuloso

◦ discreto aperiodico (alteracoes instantaneas – eventos),

◦ discreto periodico (alteracoes a intervalos regulares),

◦ contınuo (alteracoes suaves) [comp. analogico]

Page 17: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Comecar com modelo simples e acrescentar detalhes necessarios.

Nıvel de detalhe no modelo depende dos objetivos do estudo.

Modelo deve replicar o comportamento do sistema.

‘Mandamentos’ – Ravindran, Phillips & Solberg

• Nao usar modelo complexo se basta um simples

• Ha benefıcios primarios na modelagem

• Validar modelo antes de implementar

◦ Nao forcar hipoteses simplificadoras

◦ Nao forcar metodo de solucao

• Nao sobrevalorizar modelo nem suas respostas

◦ Modelo nao melhora informacao que utiliza

◦ Modelo desconhece detalhe nao modelado

◦ Modelo nao substitui tomador de decisao

Page 18: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

➃ Metodo, Algoritmo e Programa

Page 19: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Metodos para PL

Pontos Extremos ( convergencia finita )

– simplex primal, simplex dual

Pontos Interiores

– elipsoide, transformacao projetiva (polinomiais)

– seguidor de caminho, transformacao afim

Especializacoes e extensoes

– variaveis canalizadas e livres, restricoes canalizadas

– geracao de colunas, programacao fracionaria

– programacao em redes (fluxos)

– programacao convexa com objetivo quadratico

– etc.

Page 20: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

➄ Problema de Carga de Maquina

Page 21: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Pecas P1,P2 sao fabricadas nos centros de producao C1,C2,C3

Centro Peca Disponibilidade

P1 P2 (horas)

C1 1 2 60

C2 2 1 60

C3 1 0 25

Lucro 20 22 (Maximizar)

Cada P1 tem $20 de lucro e gasta 1h,2h,1h de C1,C2,C3

Cada P2 tem $22 de lucro e gasta 2h,1h,0h de C1,C2,C3

Producao que maximiza o lucro total?

Page 22: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

✬✫

✩✪C1

✬✫

✩✪C2

✬✫

✩✪C3

ProduzirP1 em C1

ProduzirP1 em C2

ProduzirP1 em C3

ProduzirP2 em C1

ProduzirP2 em C2

✛ ✲

✛ ✲

✻✻ ✻ ✻✻$20 $22

2

2

1

1

1

60

60

20

Modelo com 5 variaveis em 6 restricoes: q11, q12, q13, q21, q22/ qij – qtde. a produzir de Pi em Cj, i = 1..2, j = 1..3

Page 23: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

variaveis de decisao:

qij – qtde. a produzir de Pi em Cj, i = 1..2, j = 1..3

max 20q11 + 22q21suj q11 + 2q21 ≤ 60 (C1)

2q12 + q22 ≤ 60 (C2)q13 ≤ 25 (C3)q11 − q12 = 0q12 − q13 = 0q21 − q22 = 0

qij ≥ 0

Page 24: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Modelo mais simples

✪C3

✪C2

✪C1

Produzir P1

Produzir P2

✲ $

✲ $

Page 25: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

variaveis de decisao:

x1 – quantidade da peca P1

x2 – quantidade da peca P2

max 20x1 + 22x2suj x1 + 2x2 ≤ 60 (C1)

2x1 + x2 ≤ 60 (C2)x1 + ≤ 25 (C3)x1 , x2 ≥ 0

Page 26: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

0

20

40

60

0 20 40 60

x1

x2

(C1) : x1+2x2≤60

(C2) : 2x1+x2≤60

(C3) : x1≤25

20x1+22x2=440

ր

∗ x∗=(20,20)

Page 27: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Primal:

x=(20,20)$840

max 20x1 + 22x2suj x1 + 2x2 ≤ 60 (C1)

2x1 + x2 ≤ 60 (C2)x1 + ≤ 25 (C3)x1 , x2 ≥ 0

Dual:

y=(8,6,0)$840

min 60y1 + 60y2 + 25y3suj y1 + 2y2 + y3 ≥ 20 (P1)

2y1 + y2 ≥ 22 (P2)y1 , y2 , y3 ≥ 0

Folgas:

(60− x1 − 2x2) y1 = 0 (C1)(60− 2x1 − x2) y2 = 0 (C2)

(25− x1) y3 = 0 (C3)(y1 +2y2 + y3 − 20) x1 = 0 (P1)

(2y1 + y2 − 22) x2 = 0 (P2)

Page 28: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

➅ Hipoteses da PL

Page 29: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Hipoteses da PL

• Modelo determinıstico aij, bi, cj ∈ ℜ

• Variaveis contınuas xj ∈ ℜ

• Proporcionalidade ( cjxj ), ( aijxj )

• Aditividade (∑

j cjxj ), (∑

j aijxj )

minx{ c′x : Ax = b, x≥0 }

Page 30: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

II - MODELOS

➀ Racao (Dieta)

➁ Producao

➂ Multiproduto

➃ Estoque (Multiperıodo)

➄ Transporte

➅ Mistura

Etc

⊛ Questoes

Page 31: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Racao ( Dieta ) *

Racao de menor custo (Alimentos A1..A4 × Nutrientes N1..N2)

A = (aij) A1 A2 A3 A4 min.b

N1 2 3 1 2 7

N2 3 2 3 2 9

custo c 50 60 30 40

min 50x1 + 60x2 + 30x3 + 40x4suj 2x1 + 3x2 + x3 + 2x4 ≥ 7

3x1 + 2x2 + 3x3 + 2x4 ≥ 9x1 , x2 , x3 , x4 ≥ 0

x = (xj): qtde. de alimento na racao ( j = 1..4, i = 1..2 )

geral: min{ c′x : Ax≥b, x≥0 }

Page 32: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Producao *

Producao de maior lucro (Produtos P1..P2 × Insumos I1..I3)

A = (aij) P1 P2 max.b

I1 1 2 6000

I2 2 1 6000I3 1 0 2500

lucro c 22 20

max 22x1 + 20x2

suj x1 + 2x2 ≤ 60002x1 + x2 ≤ 6000x1 ≤ 2500x1 , x2 ≥ 0

x = (xj): qtde. de produto ( j = 1..2, i = 1..3 )

geral: max{ c′x : Ax≤b, x≥0 }

Page 33: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Multiproduto *

d : demanda

ck : lucro de producao da fabrica k

bk : disponibilidade de insumos na fabrica k

A : matriz de producao ( insumo×produto )

Producao de maior lucro (Produtos × Insumos × Fabricas)

xkj : qtde. do produto j na fabrica k

geral: max{

k(ck)′xk : Axk≤bk, ∑

k xk≤d, xk≥0

}

A b1. . . ...

A bk

I · · · I d

x1

x2

...xk

Page 34: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Estoque ( Multiperıodo ) *

ck : custos de producao no perıodo k

dk : custos de estocagem no perıodo k

bk : demandas no perıodo k

Producao/estocagem de menor custo durante os perıodos

xk : qtdes. produzidas no perıodo k

sk : qtdes. estocadas p/ perıodo k (s0 fixo)

min{

∑(ck)′xk +

∑(dk)′sk : sk-1 + xk − sk = bk, xk, sk≥0

}

I I −I b1

I I −I b2. . . . . . . . . ...

I I −I bk

s0

x1

s1...xk

sk

Page 35: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Transporte *

Transporte de menor custo (Minas M1..M2 para Fabricas F1..F3)

c = (cij) F1 F2 F3 Qmax a

M1 11 12 13 301

M2 21 22 23 302

Qmin b 200 201 202

M1 F1

F2

M2 F3

xij : qtde. de minerio de mina para fabrica ( i = 1..2, j = 1..3 )

Page 36: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

min 11x11 +12x12 +13x13 +21x21 +22x22 +23x23suj x11 +x12 +x13 ≤301

x21 +x22 +x23 ≤302x11 +x21 ≥200

x12 +x22 ≥201x13 +x23 ≥202

x11, x12, x13, x21, x22, x23 ≥0

Transporte:

geral: min{

ij cijxij :∑

j xij≤ai, ∀i;∑

i xij≥bj, ∀j; xij≥0, ∀i, j}

Page 37: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Mistura

Producao de menor custo: Minas M1..M2 × Pilhas P1..P3

c = (cij) P1 P2 P3 Qmax a teor

M1 11 12 13 301 60

M2 21 22 23 302 68

Qmin b 200 201 202

teor min 62 64 66

M1 F1

F2

M2 F3

xij : qtde. do minerio Mi na pilha Pj ( i = 1..3, j = 1..2 )

teor da pilha P1: −2x11 +6x12≥060x11+68x21

x11+x21≥62 ⇒ (60-62)x11 + (68-62)x21≥0

Page 38: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

max 11x11 +12x12 +13x13 +21x21 +22x22 +23x23suj x11 +x12 +x13 ≤ 301

x21 +x22 +x23 ≤ 302x11 +x21 ≥ 200

x12 +x22 ≥ 201x13 +x23 ≥ 202

−2x11 +6x21 ≥ 0−4x12 +4x22 ≥ 0

−6x13 +2x23 ≥ 0x11, x12, x13, x21, x22, x23 ≥ 0

Mistura:

min{

ij cijxij :∑

j xij≤ai,∑

i xij≥bj,∑

i dijxij≥0, xij≥0}

Page 39: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Alocacao

Alocar pedidos Pj as maquinas Mi (em paralelo).

αij: tempo de cada unidade de Pj em Mi

βj: quantidade pedida em Pj

δi: disponibilidade de Mi

γi: custo por unidade de tempo em Mi

α P1 P2 P3 P4 δ γ

M1 2 3 3 4 1200 22

M2 4 5 6 5 1500 45

β 110 120 130 140

xij: tempo da maquina Mi alocado para o pedido Pj.

min{ ∑

ij

γixij :∑

j

xij ≤ δi,∑

i

xij/αij = βj, x≥0}

ou© qij: qtde do pedido Pj alocado na maquina Mi.

min{ ∑

ij

γiαijqij :∑

i

qij = βj,∑

j

αijqij ≤ δi, q≥0}

Page 40: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Estrategia de E/S

A1

A2

A3✲

✲✲ ✲

R1

R2

R3

R4

R5

a11 0 00 a21 00 0 a330 a42 0a51 0 a53

[x1

x2

x3

]

= Ax = b =

b1b2b3b40

Listas completas de recursos Ri e de atividades Aj.

Modelo Ax=b, x≥0 com matriz A de recurso×atividade.

xj: nıvel que a atividade Aj devera ser desenvolvida (incogita)

aij=0: se o recurso Ri nao e utilizado pela atividade Aj

aij>0 (<0): Aj consome (produz) aijxj unidades de Ri

bi>0 (<0): atividades consomem (produzem) Ri

cj: contribuicao da atividade Aj na funcao objetivo

min/max [ c1 c2 c3 ]

[x1

x2

x3

]

= c′x

Page 41: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Artifıcios para Demanda Ax ≃ b

a) Ax≤b venda no varejo

b) Ax≥b venda sob encomenda e no varejo

c) Ax = b demanda exata (carteira de pedidos)

d) .9b≤Ax≤1.1b carteira com tolerancia de 10%

e) b-d≤Ax≤b+d media b e desvio padrao d (estoque)

Artifıcios para Estoque Perecıvel

a) 1 perıodo : sj-1≤dj sj-1 + xj − sj = djb) 2 perıodos: sj-1+tj-2≤dj sj-1+tj-2 + xj − sj-tj = dj

Page 42: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Artifıcios para Produtos Aj = Ak

a) combinados: xk = αxjb) alternativos e ilimitados: escolher melhor custo ou lucro

c) alternativos limitados: objetivo linear por partes

( propaganda, economia de escala, etc.)

d) mix de producao∑

xj = 1′x = 1

Propaganda s: aumento na demanda d com investimento f ′s

min{

c′x+f ′s : Ax≤b, Dx-s=d, x, s≥0 }

Mistura xj ⊕ xk vide Problema da Mistura

(nao-linear)h′x1′x≥η ⇒ (h− η)x≥0 (linear)

Page 43: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Estocastico II (Racao)

Racao de menor custo (Alimentos A1..A4 × Nutrientes N1..N2)

x = (xj): qtde. de alimento na racao ( j = 1..4, i = 1..2 )

classico: min{ c′x : Ax≥b, x≥0 }

c: custo de alimento

b, b, b: qtdes normais/mınimas/maximas de nutriente

A, B: matrizes nutriente×alimento (media/desvio padrao)

1 min{ c′x : (A−B/2)x≥b, x≥0 }

2 min{ c′x : (A− 3B)x≥b, (A+3B)x≤b, x≥0 }

Page 44: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Estocastico I *

Perıodo 1: prod/estoc s = (s1, s2) a custos c com demanda a

Perıodo 2: producao xk a custo dk com demanda bk

cenario k=1..3 (ensolarado,nublado,chuvoso) ocorre com probabilidade pk

c=(10,2), d=(15,15,15), a=50, b=(120,100,80), p = (1/3,1/3,1/3)

min 10s1 +2s2 + (1/3)15x1 + (1/3)15x2 + (1/3)15x3suj s1 − s2 = 50 (perıodo 1)

s2 + x1 = 120 (perıodo2 - ensolarado)

s2 + x2 = 100 (perıodo2 - nublado)

s2 + x3 = 80 (perıodo2 - chuvoso)

s1, s2, x1, x2, x3≥0

min

c′s+

k

(pk) (dk)′xk : As = a, Bs+ Cxk = bk, s, xk≥0, ∀k

Page 45: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Questoes

Page 46: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Formular. ( variaveis! )

Obter plano de producao de custo mınimo para os produtos

P1..P3 nas maquinas similares M1..M4 (cada unidade de produto

pode ser fabricado em qualquer maquina). Uma unidade de

cada um dos produtos requer horas de maquina e tem cus-

tos de acordo com as tabelas abaixo. A demanda e d=[4000,

5000, 3000] unidades dos produtos e a ha a disponibilidade

b=[1500,1200,1500,2000] horas de maquinas.

custo unitario consumo unitarioc M1 M2 M3 M4 a M1 M2 M3 M4

P1 4 4 5 7 P1 .3 .25 .2 .2P2 6 7 5 6 P2 .2 .3 .2 .25P3 12 10 8 11 P3 .8 .6 .6 .5

☼ xij: qtde de produto Pi na maquina Mj

min{

ij cijxij :∑

j aijxij≤bj ∀j,∑

j xij≥di ∀i, xij≥0 ∀ij}

Page 47: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Formular. ( variaveis! )

a) Obter plano de custo mınimo de producao e estoque para 12

meses de um produto a partir da materia prima. No mes i, os

custos unitarios sao ai de processamento, bi de materia prima

e ci de estoque (mes i para mes i+1); a demanda contratada

e di e a disponibilidade de materia prima e ei. Cada unidade

do produto requer α unidades de materia prima. A capacidade

mensal de producao e β e a capacidade mensal de estoque e γ.

A materia prima nao pode ser estocada. O estoque inicial do

produto e δ e deseja-se este mesmo estoque no final.

b) restringir o estoque a no maximo um mes.

c) restringir o estoque a no maximo dois meses.

☼ xi: producao do mes i; si: estoque de i para i+1.

Page 48: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Formular (var!) Produtos P1,P2 sao fabricados com I1,I2,I3:

Insumo P1 P2 disp. bI1 11 22 2100I2 12 22 2200I3 13 23 2200

venda max a 110 120lucro c $51 $52

a) Maximizar o lucro total.

b) Venda casada: vende P2 so com P1

c) Vendas adicionais com propaganda tem lucros d=[51-14,52-24]

d) Terceirizacao parcial da pintura: lucro reduz para c=[41,41]

e) Reposicao de 13% por defeito de fabricacao: a=1.13a

max{ c′x+ d′s : A(x+ s)≤b, x≤a, x, s≥0 }

Page 49: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

☼ xj: qtde. de produto vendido sem propaganda

☼ sj: qtde. adicional de produto vendido com propaganda

!© solucao otima com x+s>a tem x=a pois c>d

Page 50: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Formular. ( var! ) Fabrica de queijos de minas padrao e meia-cura tem 60 empregados e vaicontratar mais 30 em 8 semanas. Cada 3 trainees sao treinados por 1 empregado experientedurante 2 semanas durante as quais os 4 nao participam da producao de queijo. A cada horaum empregado produz 10 pounds de padrao ou 6 pounds de meia-cura. A demanda (em1000pounds) nas proximas 8 semanas de 40 horas e [12,12,12,16,16,20,20,20] de padrao e[8,8,10,10,12,12,12,12] de meia-cura. Todos recebem o mesmo salario.

☼ xi: no. de grupos em treinamento nas semanas i, i+1 i = 1..8

min 8×60+ 3(8x1 +7x2 +6x3 +5x4 +4x5 +3x6 +2x7 + x8), suj x≥0,60− (x1)≥(12000/10+ 8000/6)/40

60− (x1 + x2)≥(12000/10+ 8000/6)/40

60− (x2 + x3) + 3(x1)≥(12000/10+ 10000/6)/40

60− (x3 + x4) + 3(x1 + x2)≥(16000/10+ 10000/6)/40

60− (x4 + x5) + 3(x1 + x2 + x3)≥(16000/10+ 12000/6)/40

60− (x5 + x6) + 3(x1 + x2 + x3 + x4)≥(20000/10+ 12000/6)/40

60− (x6 + x7) + 3(x1 + x2 + x3 + x4 + x5)≥(20000/10+ 12000/6)/40

60− (x7 + x8) + 3(x1 + x2 + x3 + x4 + x5 + x6)≥(20000/10+ 12000/6)/40

x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 = 30/3

Page 51: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Formular. (var!) Empresa tem 3 fabricas e 6 postos de vendas:

Fab\Posto c 1 2 3 4 5 6 Cap. b $Prod. c1 .26 .30 .54 .41 .20 .37 2.2 .852 .45 .35 .30 .50 .32 .41 3.4 .943 .53 .40 .41 .20 .35 .25 1.8 .72

Demd. a .85 .75 .42 .58 1.02 .92$Oper. c .10 .13 .09 .12 .11 .08

☼ xij: qtde. de Fi para Pj, i = 1..3, j = 1..6

min∑

ij(cij + ci + cj)xij, suj x≥0,∑

j xij≤bi, ∀i∑

i xij≥aj, ∀j

Page 52: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Formular. (var!) Fabrica de 3 departamentos produz 4 moveis

hrs / custo mesa cadeira armario estante hrs disp.

Corte 3 / 15 1 / 8 2 / 12 2 / 12 800Montagem 10 / 30 6 / 18 8 / 24 7 / 21 1200Acabamento 10 / 35 8 / 28 8 / 25 7 / 21 800

$Venda 175 95 145 130

a) ☼ xj: producao (mesa,cadeira,armario,estante), (j = 1..4)

lucro:( 175-15-30-35, 95-8-18-28, 145-12-24-25, 130-12-21-21 )

= ( 95, 41, 84, 76 )

max ( 95, 41, 84, 76 ) x, suj x≥0,( 3, 1, 2, 2 ) x≤800( 10, 6, 8, 7 ) x≤1200( 10, 8, 8, 7 ) x≤800

Page 53: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

b) 3: custo adicional para terceirizar parte do acabamento

hrs / custo mesa cadeira armario estante hrs disp.

Corte 3 / 15 1 / 8 2 / 12 2 / 12 800Montagem 10 / 30 6 / 18 8 / 24 7 / 21 1200

Acab. int. 10 / 35 8 / 28 8 / 25 7 / 21 800Acab. ext. 10 / — 8 / — 8 / — 7 / — —

$Venda 175 95 145 130

☼ xj: qtde. c/acab.int (j = 1..4), lucro = ( 95, 41, 84, 76 )

yj: qtde. c/acab.ext (j = 1..4), lucro = ( 92, 38, 81, 73 )

max ( 95, 41, 84, 76 ) x+ ( 95, 41, 84, 76 ) y, suj x, y≥0,( 3, 1, 2, 2 ) (x+ y)≤800( 10, 6, 8, 7 ) (x+ y)≤1200( 10, 8, 8, 7 ) x≤800

Page 54: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

c) 13% das estantes sao de 2a. linha por defeito de fabricacao

hrs/cst mesa cadeira armario estante estante2 hrs disp.

Corte 3 / 15 1 / 8 2 / 12 2 / 12 2 / 12 800Monta 10 / 30 6 / 18 8 / 24 7 / 24 7 / 21 1200Acaba 10 / 35 8 / 28 8 / 25 7 / 25 7 / 21 800

$Venda 175 95 145 130 70

☼ xj: producao (mesa,cadeira,armario,estante,estante2), (j = 1..5)

lucro = ( 95, 41, 84, 76, 15 ) = (.. 130-12-21-21, 70-12-21-21 )

max ( 95, 41, 84, 76, 15 ) x, suj x≥0,( 3, 1, 2, 2, 2 ) (x+ y)≤800( 10, 6, 8, 7, 7 ) (x+ y)≤1200( 10, 8, 8, 7, 7 ) x≤800x5 = .13x4

Page 55: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

d) cada mesa requer uma cadeira.

☼ xj: producao (mesa,cadeira,armario,estante), (j = 1..4)

max ( 95, 41, 84, 76 ) x, suj x≥0,( 3, 1, 2, 2 ) x≤800( 10, 6, 8, 7 ) x≤1200( 10, 8, 8, 7 ) x≤800x2≥x1

Page 56: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

e) cada 3 mesas/cadeiras requer uma estante e um armario.

☼ xj: producao (mesa,cadeira,armario,estante), (j = 1..4)

max ( 95, 41, 84, 76 ) x, suj x≥0,( 3, 1, 2, 2 ) x≤800( 10, 6, 8, 7 ) x≤1200( 10, 8, 8, 7 ) x≤800x2≥x1x3, x4≥x1/3

Page 57: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

III - OTIMALIDADE

➀ Dualidade

Otimalidade

Folgas Complementares

➁ Modelos:

Racao (Dieta)

Producao

Multiproduto

Estoque (Multiperıodo)

Transporte

➂ Questoes

Page 58: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Par Primal-Dual de PLs

min c1x1 + c2x2 + c3x3suj a11x1 + a12x2 + a13x3 ≥ b1 : y1≥0

a21x1 + a22x2 + a23x3 = b2 : y2

a31x1 + a32x2 + a33x3 ≤ b3 : y3≤0x1≥0 x3≤0

max b1y1 + b2y2 + b3y3suj a11y1 + a21y2 + a31y3 ≤ c1 : x1≥0

a12y1 + a22y2 + a32y3 = c2 : x2

a13y1 + a23y2 + a33y3 ≥ c3 : x3≤0y1≥0 y3≤0

≥restւ min

rest≤

maxր

Page 59: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

DUALIDADE

PROBLEMA min ⇔ max PROBLEMA

≥ ≥0restric~ao = ⇔ livre variavel

≤ ≤0≥0 ≤

variavel livre ⇔ = restric~ao

≤0 ≥coef(res,var) ⇔ coef(var,res)

• min{

c′x : Ax≥b, x≥0}

× max{

b′y : A′y≤c, y≥0}

• min{

c′x : Ax=b, x≥0}

× max{

b′y : A′y≤c}

• max{

c′x : Ax=b, x≥0}

× min{

b′y : A′y≥c}

Page 60: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

T. dual do dual e o primal.

solucao x: satisfaz Ax = b

solucao factıvel: satisfaz restricoes.

solucao otima: solucao factıvel de melhor valor (obj)

problemas equivalentes: ha relacao 1↔1 entre os conjuntos de

solucoes factıveis e entre os conjuntos de solucoes otimas.

T. duais de PLs equivalentes sao equivalentes.

max{ c′x : Ax≤b, x≥0 } × min{ b′y : A′y≥c, y≥0 }max{ c′x : Ax+Is=b, x, s≥0 } × min{ b′y : A′y≥c, Iy≥0 }• (x)↔ (x, s) com s=b-Ax • (y)↔ (y)

Page 61: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

PL factıvel: possui solucao factıvel.

PL ilimitado: solucao otima e ilimitada (infinita).

T. Fraco da Dualidade. Par primal-dual de solucoes factıveis

tem valor da minimizacao maior ou igual ao da maximizacao.

, Seja (x, y) factıvel para o par primal-dual de PLs

min{ c′x : Ax≥b, x≥0 } ≥ max{ b′y : A′y≤c, y≥0 }

c′x =

x≥0 × c≥A′y︷ ︸︸ ︷

x′c≥x′A′y =

y≥0 × Ax≥b︷ ︸︸ ︷

y′Ax≥y′b = b′y ∴ c′x≥b′y

C. Par primal-dual de solucoes factıveis de mesmo valor e otimo.

C. PL com otimo ilimitado tem dual infactıvel.

T. Forte da Dualidade. PL com solucao otima (finita) tem

par primal-dual com otimos de mesmo valor.

Page 62: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

D. Par primal-dual de solucoes factıveis complementares:

cada par folga-restricao × variavel-nao-livre tem produto nulo

T. Complementaridade. Par primal-dual de solucoes factıveis:

otimas sss de mesmo valor sss complementares

E. min { c′x : Ax≥b, x≥0 } × max { b′y : A′y≤c, y≥0 }X ( c-A′y ) = 0, Y ( Ax-b ) = 0, X=diag(x), Y =diag(y)

E. forma padrao: zjxj = 0 ∀j, onde z=c-A′ymin{ c′x : Ax=b, x≥0 } × max{ b′y : A′y≤c } ≡ max{ b′y : A′y+z=c, z≥0 }y: preco sombra, multiplicador de Lagrange, variavel dual

valor marginal de insumo (nao e valor medio)

z: custo reduzido, custo relativo, folga (de restricao) dual

Page 63: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E.

Primal

max 22x1 + 20x2suj 2x1 + x2 ≤ 60

x1 + 2x2 ≤ 60x2 ≤ 25

x1 , x2 ≥ 0

Dual

min 60y1 + 60y2 + 25y3suj 2y1 + y2 ≥ 22

y1 + 2y2 + y3 ≥ 20y1 , y2 , y3 ≥ 0

Folgas

( 2x1 + x2 − 60 ) y1 = 0( x1 + 2x2 − 60 ) y2 = 0( x2 − 25 ) y3 = 0

( 2y1 + y2 − 22 ) x1 = 0( y1 + 2y2 + y3 − 20 ) x2 = 0

Page 64: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E. x=(20,20)′ e uma solucao otima? [ SIM ]

1) x e factıvel (primal) pois Ax≤b, x≥0

2) (FC)

x2<25 → y3 = 0x1>0 → 2y1 + y2 − 22 = 0x2>0 → y1 +2y2 + y3 − 20 = 0

∴ y = (8,6,0)′

3) y e factıvel (dual) pois A′y≥c, y≥0

4) x, y sao complementares pois Y (b-Ax)=0, X(A′y-c)=0ou valor de x = valor de y : $840

Page 65: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Racao ( Dieta ) +

cj : custo de alimento

bi : qtde. mınima de nutriente

Aij : matriz nutriente×alimento

min{

c′x : Ax≥b, x≥0}

max{

b′y : A′y≤c, y≥0}

Y ( Ax-b ) = 0, Y =diag(y)

X ( A′y-c ) = 0, X=diag(x)

xj : qtde. de alimento

yi : valor de nutriente (pılula)

Page 66: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Producao +

cj : lucro de produto

bi : disponibilidade de insumo

Aij : matriz insumo×produto

max{

c′x : Ax≤b, x≥0}

min{

b′y : A′y≥c, y≥0}

Y ( Ax-b ) = 0, Y =diag(y)

X ( A′y-c ) = 0, X=diag(x)

xj : qtde. de produto

yi : valor de insumo

Page 67: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Multiproduto +

ckj : lucro de producao em fabrica

bkj : disponibilidade de insumo em fabrica

dj : demanda de produto

Aij : matriz insumo×produto

max{

k(ck)′xk : Axk≤bk ∀k, ∑

k xk≤d, xk≥0 ∀k

}

min{

k(bk)′yk+d′z : A′yk+z≥ck, yk≥0, z≥0 ∀k

}

Z(d-∑

k xk)=0, Y k(bk-Axk)=0, Xk(ck-A′yk-z)=0, ∀k, diag:Xk, Y k, Z

xkj : qtde. de produto em fabrica

yki : valor de recurso em fabrica

zj : valor de produto

Page 68: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Estoque ( Multiperıodo ) +

ckj : custo de producao em perıodo

dkj : custo de estoque em perıodo

bki : demanda em perıodo

min{

k(ck)′xk+(dk)′sk : xk+sk-1-sk=bk, xk, sk≥0, ∀k

}

max{

k(bk)′yk : yk≤ck, yk-1-yk≤dk, ∀k

}

Xk( ck-yk ) = 0, ∀k, Xk=diag(xk)

Sk( yk-1-yk ) = 0, ∀k, Sk=diag(sk)

xkj : qtde. de produto em perıodo

skj : qtde. de estoque de k para k+1

ykj : valor de produto em perıodo

Page 69: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Transporte +

ai : disponibilidade de minerio em mina

bj : demanda de minerio em fabrica

cj : custo de transporte de mina a fabrica

min{

c′x : -∑

i xij≥-ai, ∀i;∑

i xij≥bj, ∀j; x≥0}

max{

b′v-a′u : vj≤ui+cij, ∀ij; u, v≥0}

xij(cij+ui-vj)=0, ∀ij; ui(ai-∑

i xij)=0, ∀i; vj(bj-∑

i xij)=0, ∀j

xij : qtde. a transportar de mina a fabrica

ui: valor de minerio em mina

vj: valor de minerio em fabrica

vj-ui: valor de transporte de mina a fabrica

Page 70: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Estocastico +

pkℓ: probabilidade do cenario k ocorrer no perıodo ℓ

bkℓ: demandas/disponibilidades do cenario k do perıodo ℓ

ckℓ: custos de producao/estocagem do cenario k do perıodo ℓ

min{ ∑

kℓ

(pkℓ) (ckℓ)′xkℓ : Axkℓ-1 +Bxkℓ = bkℓ, xkℓ≥0, ∀k, ℓ}

max{ ∑

kℓ

(bkℓ)′ykℓ : A′ykℓ-1≤(pkℓ-1)ckℓ-1, B′ykℓ≤(pkℓ)c

kℓ, ∀k, ℓ}

Xkℓ-1(A′ykℓ-1 − (pkℓ-1)ckℓ-1) = 0 = Xkℓ(B′ykℓ − (pkℓ)c

kℓ)

xkℓ: qtdes a produzir/estocar no cenario k do perıodo ℓ

ykl: valor da dem/disp de item no cen. k / per. ℓ

Page 71: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Questoes

Page 72: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Se o dual e infactıvel entao o primal e ilimitado?

☼ Nao! Contra-exemplo:

Mostre que cada PL do par primal-dual abaixo e infactıvel.

max x1suj x1 − x2 = 1

− x1 + x2 = 0x1 , x2 ≥ 0

min y1suj y1 − y2 ≥ 1

− y1 + y2 ≥ 0

Page 73: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Primal: Dual? Folgas? x = (0,1, α)?

min

(3 4 3)xsuj

(1 2 2)x≥6(2 2 1)x≥2(1 2 1)x = 4x1, x2≥0

max

(6 2 4)ysuj

(1 2 1)y≤3(2 2 2)y≤4(2 1 1)y = 3y1, y2≥0

((1 2 2)x− 6)y1 = 0((2 2 1)x− 2)y2 = 0((1 2 1)y − 3)x1 = 0((2 2 2)y − 4)x2 = 0

P3: α = 2. x = (0,1,2)′ e primal factıvel (P1,P2,P3,P4).

F2 : y2 = 0D3 : (2,1,1)y = 3F4 : (2,2,2)y = 4

⇒ y = (1,0,1) e dual factıvel (D1,D2,D3,D4).

x,y complementares (F1..F4): x = (0,1, α) e otimo para α = 2.

Page 74: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Primal: Dual? Folgas? x = (0, α, β)?

min

(1 2 1)xsuj

(1 2 3)x = 8(1 1 1)x≥2(1 1 0)x = 1x1, x2≥0

max

(8 2 1)ysuj

(1 1 1)y≤1(2 1 1)y≤2(3 1 0)y = 1y2≥0

((1 1 1)x− 2)y2 = 0((1 1 1)y − 1)x1 = 0((2 1 1)y − 2)x2 = 0

P1,P3: α=1, β=2. x=(0,1,2)′ e primal factıvel (P1,P2,P3,P4).

F1 : y2=0D3 : (3,1,0)y=1F3 : (2,1,1)y=2

⇒ y=(1/3,0,4/3) nao e dual factıvel (D1..D4).

x, y complementares (F1..F4): x = (0, α, β) nao pode ser otimo.

Page 75: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Primal: Dual? Folgas? x = (0, α,2)?

max

(2 4 5)xsuj

(2 1 3)x≤7(1 3 2)x≤6(1 2 3)x = 8(3 2 2)x = 6x1, x2≥0

min

(7 6 8 6)ysuj

(2 1 1 3)y≥2(1 3 2 2)y≥4(3 2 3 2)y = 5y1, y2≥0

(( 2 1 3 )x− 7)y1 = 0(( 1 3 2 )x− 6)y2 = 0((2 1 1 3)y − 2)x1 = 0((1 3 2 2)y − 4)x2 = 0

P3: α=1. x=(0,1,2)′ nao e primal factıvel (×P2).

∴ x = (0, α,2) nao e otimo para nenhum α.

Page 76: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

IV - METODO SIMPLEX

➀ Introducao

➁ Simplex

➂ Inıcio com 2 fases

➃ Simplex Dual

➄ Geometria dos PLs

➅ Pos-Otimizacao

➆ Variaveis Livres e Variaveis Canalizadas

➇ Analise Parametrica

➈ Questoes

Page 77: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

1. Introducao

Page 78: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Forma Padrao min{

c′x : Ax=b, x≥0}

- max c′x ≡ min -c′x

- { Ax ≤ b } ≡ { Ax+s = b : s≥0 }

- { Ax ≥ b } ≡ { Ax−s = b : s≥0 }

- { [x] : x≤0 } ≡ { [-x] : x≥0 }

, { Ax = b (<0) } ≡ { -Ax = -b }

/ { [x] : x livre } ≈ { [x+-x-] : x+, x-≥0 }

-

{

[tij] : i ∈ 1..I, j ∈ 1..J

}

≡{

[xk] : k ∈ 1..K

}

k=(i-1)J+j, K=IJ

(i, j) ∈ { (1,1), (1,2), (1,3), (2,1), (2,2), (2,3) } ≡ k ∈ { 1, 2, 3, 4, 5, 6 }

Page 79: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© Escrever na forma padrao

max − x1 + x2suj − x1 + 2x2 ≤ 6

2x1 − x2 = −6− x1 + x2 ≥ 1

x1 ≤ 0 (x2 livre)

min − x1 − (x+2-x-2)

suj x1 + 2(x+2-x-2) + x3 = 6

2x1 + (x+2-x-2) = 6

x1 + (x+2-x-2) − x4 = 1

x1 , x+2, x-2 , x3 , x4 ≥ 0

Page 80: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Metodos de Direcoes Factıveis min{ c′x : Ax=b, x≥0 }

x0, x1, x2, . . .→ x∗: soluc~oes factıveis de valor decrescente

Ax0=Ax1 . . . =b, x0, x1, . . .≥0, c′x0>c′x1> . . .

~x = x•-x◦: direc~ao de deslocamento entre duas solucoes:

dir.factıvel : A~x = A(x•-x◦) = 0

dir.descendente: c′~x = c′(x•-x◦) < 0

☼ Metodo Simplex: caminho de vertices entre arestas descendentes

· · · vertice x◦

x• vertice · · ·

aresta ~x

Page 81: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Solucoes / Direcoes min { c′x : Ax = b, x≥0 }

x, x•, x◦: ponto

Ax=b: soluc~ao, Ax=b, x≥0: sol.factıvel

~x=x•-x◦: direc~ao

A~x=0: dir.factıvel, c′~x<0: dir.descida

x+λ~x: deslocamento de passo λ reduz objetivo de λc′~x

{ x : Ax=b, x≥0 } = poliedro (⋂

semi-espacos)

☛ vertice, pt.extremo, sol.fac.basica x:

Ax=b, x≥0, { Aj : xj 6=0 } LI (linearmente independente)

☛ aresta de vertices x◦, x• (combinac~ao-convexa, seg.reta):

xλ = λx•+(1-λ)x◦ = x◦+λ(x•-x◦) = x+λ~x, λ∈[0,1]

Page 82: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Operacoes Elementares

Operacao O A OA O-1

➊ trocar duas equacoes

0 1 0 1 2 3 4 5 6

L1↔L2 1 0 0 4 5 6 1 2 3 O′0 0 1 7 8 9 7 8 9

➋ multiplicar uma equacao por uma constante nao-nula

1 0 0 1 2 3 1 2 3 1 0 0

L2←14L2 0 1

4 0 4 5 6 1 54

64 0 4 0

0 0 1 7 8 9 7 8 9 0 0 1

➌ somar a uma equacao, um multiplo de outra equacao

1 -14 0 1 2 3 0 34

32 1 4 0

L1←L1-14L2 0 1 0 4 5 6 4 5 6 0 1 0

0 0 1 7 8 9 7 8 9 0 0 1

☼ fazer ou desfazer operacao nao altera o conjunto de solucoes.

Page 83: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

oper.elem︷ ︸︸ ︷

Om..O3O2O1 I | A | b ≡pivoteamentos︷ ︸︸ ︷

Pn .. P1 I | A | b ≡base inv.︷ ︸︸ ︷

B-1 I | A | b

Ax = B(B-1b) = b : B-1 I | A | b ≡ B-1 | B-1A | B-1b

Qi←{

Ii, Bi=Bi

B-1Bi, Bi 6=Bi

: Q-1 B-1 | B-1A | B-1b ≡ B-1 | B-1A | B-1b

E© matriz de pivoteamento P entre bases adjacentes (1 coluna distinta)

B B-1 B B-1B=P -1 P B-1=PB-1

1 1 1 0 0 1 1 1 6 1 0 1 1 0 -1/3 -1/3 1/3 1

1 1 0 0 1 -1 1 1 3 0 1 2 0 1 -2/3 -2/3 5/3 -1

1 0 0 1 -1 0 1 0 1 0 0 3 0 0 1/3 1/3 -1/3 0

original original atual proximo

Page 84: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E0. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 85: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E1. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

a32: -2 = 0-(2×1)/1➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 86: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E1. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

a22: -3 = 1-(2×2)/1➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 87: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E1. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

a12: 2 = 2/1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 88: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E2. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

L2←L2-(2/1)L1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 89: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E2. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

L3←L3-(1/1)L1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 90: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E2. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

L1←L1/1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 91: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E3. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

T = [ B | I ]➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 92: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E3. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 93: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E4. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 94: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E4. Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -11 =

1 0 0

-2 1 0-1 0 1

-1

=

1 0 0

2 1 01 0 1

P -12 =

1 2/3 0

0 -1/3 00 -2/3 1

-1

=

1 2 0

0 -3 00 -2 1

Page 95: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E . Inversa B-1 com pivos ars: a11=1, a22=-31 2 0 L1 1 . .

B = 2 1 0 L2 . 1 . = I1 0 1 L3 . . 1

1 2 0 L1 1 0 0

P1B = . -3 0 L2 -2 1 0 = P1

. -2 1 L3 -1 0 1

1 . . L1 -1/3 2/3 0

P2P1B = . 1 . L2 2/3 -1/3 0 = P2P1 = B-1

. . 1 L3 1/3 -2/3 1

➊ aij ← aij-(ais/ars)arj, i 6=r, arj ← arj/ars➋ Li ← Li-(ais/ars)Lr, i 6=r, Lr ← Lr/ars➌ T ← PT➍ T ← B-1[B|I]

P -12 =

1 2/3 00 -1/3 0

0 -2/3 1

-1

=

1 2 00 -3 0

0 -2 1

P1-1=

1 0 0-2 1 0

-1 0 1

-1

=

1 0 02 1 0

1 0 1

Page 96: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

30

60

30 60◦

•∗

x1

x2

[x4]

[x3]

[x5]

x1 +2x2 ≤60 [x3]2x1 + x2 ≤60 [x4]x1 ≤25 [x5]x1, x2 ≥0

vertice: intercessao de 2 retas (fixar 2 folgas em zero)≡ resolver 3 equacoes com 2 vars. nulas

x1 +2x2 + x3 = 602x1 + x2 + x4 = 60x1 + x5 = 25x1, x2, x3, x4, x5 ≥0

Page 97: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. E©

xB A b◦ x1 x2 x3 x4 x5 =

x3 1 2 1 . . 60x4 2 1 . 1 . 60

x5 1 0 . . 1 25

x◦ =

00

60

6025

B =

A1 A2 A5

1 2 02 1 01 0 1

-1/3 2/3 02/3 -1/3 01/3 -2/3 1

= B-1

xB B-1A B-1b∗ x1 x2 x3 x4 x5 =

x1 1 . -1/3 2/3 . 20x2 . 1 2/3 -1/3 . 20

x5 . . 1/3 -2/3 1 5

x∗ =

2020

0

05

Ax=BxB+NxN=b : B-1 B|N |b ≡ I|B-1N |B-1b : xB+B-1NxN=B-1b

Page 98: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. E© vertices: Ax=b, arestas: A~x=0, pivos: 2, 3/2

xB inv(B) x1 x2 x3 x4 x5 = B

x3 1 . . 1 2 1 . . 60 1 . . pivo(1,2)=2

x4 . 1 . 2 1 . 1 . 60 . 1 .

x5 . . 1 1 0 . . 1 25 . . 1

◦ x=[0 0 60 60 25], ~x=[0 1 -2 -1 0], λ=30, B1←A2

x2 1/2 0 0 1/2 1 1/2 . . 30 2 0 0

x4 -1/2 1 0 3/2 . -1/2 1 . 30 1 1 0 pivo(2,1)=3/2

x5 0 0 1 1 . 0 . 1 25 0 0 1

• x=[0 30 0 30 25], ~x=[1 -1/2 0 -3/2 -1], λ=20, B2←A1

x2 2/3 -1/3 0 . 1 2/3 -1/3 . 20 2 1 0

x1 -1/3 2/3 0 1 . -1/3 2/3 . 20 1 2 0

x5 1/3 -2/3 1 . . 1/3 -2/3 1 5 0 1 1

∗ x=[20 20 0 0 5]

Page 99: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. E© teste da raz~ao: λ = min{ bi/ais : ais > 0 }xB inv(B) x1 x2 x3 x4 x5 = B bi/(ais)x2 1/2 0 0 1/2 1 1/2 . . 30 2 0 0 30/(1/2)

x4 -1/2 1 0 3/2 . -1/2 1 . 30 1 1 0 30/(3/2)

x5 0 0 1 1 . 0 . 1 25 0 0 1 25/(1)

• x=[0 30 0 30 25], ~x=[1 -1/2 0 -3/2 -1], λ=20 pivo=3/2

x2 2/3 -1/3 0 . 1 2/3 -1/3 . 20 2 1 0

x1 -1/3 2/3 0 1 . -1/3 2/3 . 20 1 2 0

x5 1/3 -2/3 1 . . 1/3 -2/3 1 5 0 1 1

∗ x=[20 20 0 0 5]

x3 ≡ 0, x1 = λ A(x+λ~x) = b+0 = b, x+λ~x≥0

x2 = 30− (1/2)λ → 20

x4 = 30− (3/2)λ → 0

x5 = 25− (1)λ → 5

x1 = λ → 20

λ→ 20

B•=[A2 A4 A5] sai x4, entra x1 B∗=[A2 A1 A5]

Page 100: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. E© criar a variavel x0 com coluna [1 0 0...0]’ e a equacao x0 + c′x = 0

A=[B N ] : xN=0, xB=b=B-1b, y′=c′BB-1, z=c=c-A′y

Q-1=

[

1 c′B0 B

]-1

=

[

1 -y′0 B-1

]

Q-1

[

Ic′ 0A b

]

=

[

Q-1 c′ -b′yA b

]

xB inv(Q) x1 x2 x3 x4 x5 = Q max x≥0x0 1 . . . 20 22 . . . 0 1 . . . z2=22

x3 . 1 . . 1 2 1 . . 60 . 1 . . pivo(1,2)=2

◦ x4 . . 1 . 2 1 . 1 . 60 . . 1 .x5 . . . 1 1 0 . . 1 25 . . . 1

x0 1 -11 0 0 9 . -11 . . -660 1 22 0 0 z1=9

x2 . 1/2 0 0 1/2 1 1/2 . . 30 . 2 0 0

• x4 . -1/2 1 0 3/2 . -1/2 1 . 30 . 1 1 0 pivo(2,1)=3/2

x5 . 0 0 1 1 . 0 . 1 25 . 0 0 1

x0 1 -8 -6 0 . . -8 -6 . -840 1 22 20 0 z≥0x2 . 2/3 -1/3 0 . 1 2/3 -1/3 . 20 . 2 1 0∗ x1 . -1/3 2/3 0 1 . -1/3 2/3 . 20 . 1 2 0

x5 . 1/3 -2/3 1 . . 1/3 -2/3 1 5 . 0 1 1

otimo ∗: B=[A2 A1 A5], y=[8 6 0], z=[0 0 -8 -6 0], x=[20 20 0 0 5], obj=840

Page 101: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

2. Metodo Simplex

Page 102: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

PL min{ c′x : Ax=b, x≥0 }, max{ b′y : A′y+z=c, z≥0 }, XZ=0

conjunto LI de colunas B: Bw=0 so tem solucao w=0

Amn (m<n) de posto completo: tem base Bmm e inversa B-1

b=B-1b ∴ b=∑

biBi=Bb As=a.s=B-1As ∴ As=∑

aisBi=BAs

Solucao basica A=[B|N ], c=(cB; cN), x=(xB;xN), z=(zB; zN)

fixar xN←0, zB←0 e resolver:

- Ax = BxB +NxN = b

[

BxB=b⇒

] {

xN ← 0

xB ← B-1b

- A′y + z = c:

{

B′y + zB = cBN ′y + zN = cN

[

B′y=cB⇒

] {

y′← c′BB-1

z ← c−A′y

!© zjxj = 0 ∀j ( [zB;xN]=0 ) ∴ c′x = c′BxB = c′Bb = c′BB-1b = y′b = b′y

☼ solucao basica primal-factıvel (x≥0) e dual-factıvel (z≥0) e otima

Page 103: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Quadros min{ c′x : Ax=b, x≥0 } ≡ min{ c′x : Ax=b, x≥0 }A = B-1A, b = B-1b, c′ = c′ − c′BB-1A

xN ← 0, xB← b, y′← c′BB-1, z ← c = c− A′y

0

1

B

c′B

:A

c′

b

-b′y

=0

1

B-1

−y′

×A

c′

b

0

︸ ︷︷ ︸

basico Q︸ ︷︷ ︸

corrente (canonico)

︸ ︷︷ ︸

inverso Q-1︸ ︷︷ ︸

original

‘cria’ a variavel x0 com coluna [1 0 0...0]’ e a equacao x0+c′x=0

Page 104: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Problema Canonico min{ c′x : Ax=b, x≥0 }A=B-1A, xB←b=B-1b, xN←0, y′←c′BB-1, z←c=c-A′y

☞ sol.basica primal-factıvel (x≥0) e dual-factıvel (z≥0) e otima

☞ escolher zs < 0

direc~ao primal ~x: ~xN←0, ~xs←1, ~xB←As ∴ A~x=0

teste da raz~ao λ← br/ars = min{ bi/ais : ais > 0 }direc~ao dual ~y, ~z: ~y′←-(B-1)r., ~z←-A′~y=(Ar.)′ ∴ A′~y+~z=0

pivo ars: xs substitui xBr na base B: Br ← As

!© passo λ: primal 6= dual

!© min × max: direcoes opostas para (~y, ~z)

Page 105: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Metodo Simplex Primal – Minimizar

base B: y′←c′BB-1, z←c-A′y, b←B-1b≥0repita

se z≥0 ent~ao pare: solucao otima.

escolha zs<0 (direcao de xs)

determine As←B-1As

se As≤0 ent~ao pare: solucao otima ilimitada.

escolha r←argmini{ bi/ais : ais>0 } (teste da razao)

faca Br←As e atualize B-1, b, y, z

Metodo Simplex Primal -- Maximizar . . .

repita

se z≤0 ent~ao pare: solucao otima.

escolha zs>0 . . .

Page 106: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© Iniciar com a base B=[A3 A2 A1]

x1 x2 x3 x4 x5 min

20 22 0 0 0 0

1 2 1 0 0 602 1 0 1 0 601 0 0 0 1 25

30

60

30 60∗ •

◦x1

x2

[x4]

[x3]

[x5]

20x1 +22x2 minx1 +2x2 ≤60 [x3]2x1 + x2 ≤60 [x4]x1 ≤25 [x5]x1, x2 ≥0

x∗ = [00,00,60,60,25]x• = [25,00,35,10,00]x◦ = [25,10,15,00,00]

Page 107: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

xB inv(Q) x1 x2 x3 x4 x5 = Q

20 22 0 0 0 01 2 1 0 0 60

2 1 0 1 0 60

1 0 0 0 1 25

◦ 1 0 -22 24 . . . -22 24 -720 1 0 22 20 z4=-22

x3 . 1 -2 3 . . 1 -2 3 15 . 1 2 1x2 . 0 1 -2 . 1 . ➀ -2 10 . 0 1 2 pivo(2,4)=1

x1 . 0 0 1 1 . . 0 1 25 . 0 0 1

• 1 0 0 -20 . 22 . . -20 -500 1 0 0 20 z5=-20

x3 . 1 0 -1 . 2 1 . -1 35 . 1 0 1x4 . 0 1 -2 . 1 . 1 -2 10 . 0 1 2

x1 . 0 0 1 1 0 . . ➀ 25 . 0 0 1 pivo(3,5)=1

∗ 1 0 0 0 20 22 . . . 0 1 0 0 0 z≥0x3 . 1 0 0 1 2 1 . . 60 . 1 0 0

x4 . 0 1 0 2 1 . 1 . 60 . 0 1 0x5 . 0 0 1 1 0 . . 1 25 . 0 0 1

◦ y=[00 22 -24] z=[00 00 00 -22 024] x=[25 10 15 00 00]~y=[00 -1 002] ~z=[00 01 00 001 -02] ~x=[00 -1 02 01 00] λd=22, λp=10

• y=[00 00 020] z=[00 22 00 000 -20] x=[25 00 35 10 00]~y=[00 00 -01] ~z=[01 00 00 000 001] ~x=[-1 00 01 02 01] λd=20, λp=25

∗ y=[00 00 000] z=[20 22 00 000 000] x=[00 00 60 60 25] z≥0 otimo obj=0

Page 108: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

3. Simplex com 2 Fases

Page 109: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

3. Simplex com 2 Fases ( b≥0 )

Fase II PL original: min { c′x : Ax = b, x≥0 }

Fase I PL artificial: min { 1′w : Ax+ w = b, x, w≥0 }

w: variaveis artificiais com base diagonal factıvel para fase I.

w = 0: x e factıvel para o PL original.

Fase I com otimo positivo: PL original e infactıvel

Page 110: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© 2 fases (infactıvel)

Fase II (original)

x1 x2 x3 x4

1 1 0 0 0

1 -2 -1 0 6

2 -1 0 1 6

✲3 6x1

-3

-6

x2

✁✁✁✁✁✁✁✁✁

✟✟✟✟✟✟

◦ •Fase I (artificial)

0 0 0 0 1 0

1 -2 -1 0 1 6

2 -1 0 1 0 6

xB inv(Q) x1 x2 x3 x4 x5 = Q Fase I

◦ 1 -1 0 -1 2 1 . . -6 1 1 0 z1=-1

x5 . 1 0 1 -2 -1 . 1 6 . 1 0x4 . 0 1 ➁ -1 0 1 . 6 . 0 1 pivo(2,1)=2

• 1 -1 1/2 . 3/2 1 1/2 . -3 1 1 0 z≥0x5 . 1 -1/2 . -3/2 -1 -1/2 1 3 . 1 1

x1 . 0 1/2 1 -1/2 0 1/2 . 3 . 0 2

PL original infactıvel:

• x5: -(3/2)x2-x3-(1/2)x4+x5=3 ∴ x5≥3

Page 111: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© 2 fases (otimo ilimitado)

Fase II (original)

x1 x2 x3 x4 x5

+ 4 2 -1 -1 -1 0

- 1 2 -1 0 0 60

- 2 1 0 -1 0 60

- 1 0 0 0 -1 15

Fase I (artificial)

0 0 0 0 0 1 1 1 0

1 2 -1 0 0 1 0 0 60

2 1 0 -1 0 0 1 0 60

1 0 0 0 -1 0 0 1 15

30

60

30 60◦

•⋄ +∗

x1

x2

[x5] [x4] [x3]

Page 112: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

xB inv(Q) x1 x2 x3 x4 x5 x6 x7 x8 = Q Fase I

0 0 0 0 0 1 1 1 0 min x≥01 2 -1 0 0 1 0 0 602 1 0 -1 0 0 1 0 601 0 0 0 -1 0 0 1 15

◦ 1 -1 -1 -1 -4 -3 1 1 1 . . . -135 1 1 1 1 z2=-3x6 . 1 0 0 1 2 -1 0 0 1 . . 60 . 1 0 0 pivo(1,2)=2x7 . 0 1 0 2 1 0 -1 0 . 1 . 60 . 0 1 0x8 . 0 0 1 1 0 0 0 -1 . . 1 15 . 0 0 1

• 1 1/2 -1 -1 -5/2 . -1/2 1 1 3/2 . . -45 1 0 1 1 z1=-5/2x2 . 1/2 0 0 1/2 1 -1/2 0 0 1/2 . . 30 . 2 0 0x7 . -1/2 1 0 3/2 . 1/2 -1 0 -1/2 1 . 30 . 1 1 0x8 . 0 0 1 1 . 0 0 -1 0 . 1 15 . 0 0 1 pivo(3,1)=1

⋄ 1 1/2 -1 3/2 . . -1/2 1 -3/2 3/2 . 5/2 -15/2 1 0 1 0 z5=-3/2x2 . 1/2 0 -1/2 . 1 -1/2 0 1/2 1/2 . -1/2 45/2 . 2 0 1x7 . -1/2 1 -3/2 . . 1/2 -1 3/2 -1/2 1 -3/2 15/2 . 1 1 2 pivo(2,5)=3/2x1 . 0 0 1 1 . 0 0 -1 0 . 1 15 . 0 0 1

+ 1 0 0 0 . . 0 0 . 1 1 1 0 1 0 0 0 z≥0x2 . 2/3 -1/3 0 . 1 -2/3 1/3 . 2/3 -1/3 0 20 . 2 0 1x5 . -1/3 2/3 -1 . . 1/3 -2/3 1 -1/3 2/3 -1 5 . 1 0 2x1 . -1/3 2/3 0 1 . 1/3 -2/3 . -1/3 2/3 0 20 . 0 -1 1

+: base primal-factıvel B=[A2 A5 A1]

Page 113: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

xB inv(Q) x1 x2 x3 x4 x5 = Q Fase II

4 2 -1 -1 -1 0 min x≥01 2 -1 0 0 60

2 1 0 -1 0 601 0 0 0 -1 15

+ 1 -1/3 -4/3 -1 . . -2/3 1/3 . -115 1 2 -1 4 z3=-2/3x2 . 2/3 -1/3 0 . 1 -2/3 1/3 . 20 . 2 0 1

x5 . -1/3 2/3 -1 . . 1/3 -2/3 1 5 . 1 0 2 pivo(2,3)=1/3x1 . -1/3 2/3 0 1 . 1/3 -2/3 . 20 . 0 -1 1

× 1 -1 0 -3 . . . -1 2 -105 1 2 -1 4 z4=-1x2 . 0 1 -2 . 1 . -1 2 30 . 2 -1 1

x3 . -1 2 -3 . . 1 -2 3 15 . 1 0 2 A4≤0x1 . 0 0 1 1 . . 0 -1 15 . 0 0 1

otimo ilimitado c′(x+λ~x)→∞: x=(15,30,15,0,0), ~x=(0,1,2,1,0), ~y, ~z?dual infactıvel: y1,y2,y3≤0, -y1-2y2≤-1 (A4)

Page 114: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© 2 fases.

Fase II (original)

0 0 1 1 1 2 0

0 1 1 0 1 1 7

3 3 1 1 0 1 12

1 0 0 1 1 1 7

Fase I (artificial)

0 0 0 0 0 0 1 1 1 0

0 1 1 0 1 1 1 0 0 7

3 3 1 1 0 1 0 1 0 12

1 0 0 1 1 1 0 0 1 7

3

6

3 6◦

•∗

x1

x2

[x3]

[x4]

[x5]

SFs formam tetradro: 5 vertices 8 arestas

2x1 +4x2 + x6 ≤12 2[x3]4x1 +2x2 + x6 ≤12 2[x4]2x1 +2x2 + x6 ≥-2 2[x5]x1, x2, x6 ≥0

FACETA DE x6=0

Page 115: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

xB inv(Q) x1 x2 x3 x4 x5 x6 x7 x8 x9 = Q Fase I

-4 -4 -2 -2 -2 -3 0 0 0 00 1 1 0 1 1 1 0 0 73 3 1 1 0 1 0 1 0 121 0 0 1 1 1 0 0 1 7

1 -1 -1 -1 -4 -4 -2 -2 -2 -3 . . . -26 1 1 1 1 z3=-2x7 . 1 -0 -0 0 1 1 0 1 1 1 . . 7 . 1 0 0 pivo(1,3)=1x8 . 0 1 -0 3 3 1 1 0 1 . 1 . 12 . 0 1 0x9 . 0 0 1 1 0 0 1 1 1 . . 1 7 . 0 0 1

1 1 -1 -1 -4 -2 . -2 0 -1 2 . . -12 1 0 1 1 z4=-2x3 . 1 0 0 0 1 1 0 1 1 1 . . 7 . 1 0 0x8 . -1 1 0 3 2 . 1 -1 0 -1 1 . 5 . 1 1 0 pivo(2,4)=1x9 . 0 0 1 1 0 . 1 1 1 0 . 1 7 . 0 0 1

1 -1 1 -1 2 2 . . -2 -1 0 2 . -2 1 0 0 1 z5=-2x3 . 1 0 0 0 1 1 . 1 1 1 0 . 7 . 1 0 0x4 . -1 1 0 3 2 . 1 -1 0 -1 1 . 5 . 1 1 0x9 . 1 -1 1 -2 -2 . . 2 1 1 -1 1 2 . 0 1 1 pivo(3,5)=2

1 .0 .0 .0 0 0 . . . 0 1 1 1 0 1 0 0 0 z≥0x3 . .5 .5 -.5 1 2 1 . . .5 .5 .5 -.5 6 . 1 0 1x4 . -.5 .5 .5 2 1 . 1 . .5 -.5 .5 .5 6 . 1 1 0x5 . .5 -.5 .5 -1 -1 . . 1 .5 .5 -.5 .5 1 . 0 1 1

B=[A3 A4 A5] e uma base primal factıvel para o PL original

Page 116: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

xB inv(Q) x1 x2 x3 x4 x5 x6 = Q Fase II

0 0 1 1 1 2 00 1 1 0 1 1 73 3 1 1 0 1 121 0 0 1 1 1 7

◦ 1 -1/2 -1/2 -1/2 -2 -2 . . . 1/2 -13 1 1 1 1 z2=-2x3 . 1/2 1/2 -1/2 1 2 1 . . 1/2 6 . 1 0 1 pivo(1,2)=2x4 . -1/2 1/2 1/2 2 1 . 1 . 1/2 6 . 1 1 0x5 . 1/2 -1/2 1/2 -1 -1 . . 1 1/2 1 . 0 1 1

• 1 0 0 -1 -1 . 1 . . 1 -7 1 0 1 1 z1=-1x2 . 1/4 1/4 -1/4 1/2 1 1/2 . . 1/4 3 . 1 0 1x4 . -3/4 1/4 3/4 3/2 . -1/2 1 . 1/4 3 . 3 1 0 pivo(2,1)=3/2x5 . 3/4 -1/4 1/4 -1/2 . 1/2 . 1 3/4 4 . 0 1 1

∗ 1 -1/2 1/6 -1/2 . . 2/3 2/3 . 10/6 -5 1 0 0 1 z≥0x2 . 1/2 1/6 -1/2 . 1 2/3 -1/3 . 1/6 2 . 1 0 1x1 . -1/2 1/6 1/2 1 . -1/3 2/3 . 1/6 2 . 3 3 0x5 . 1/2 -1/6 1/2 . . 1/3 1/3 1 5/6 5 . 0 1 1

∗ y=[1/2,-1/6,1/2] z=[0,0,2/3,2/3,0,10/6] x=[2,2,0,0,5,0] z≥0 otimo obj=5

Page 117: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Dados Essenciais: constantes A, b, c, correntes xB, b, y, B=LU

xB inv(Q) x1 x2 x3 x4 x5 x6 = Q Fase II

0 0 1 1 1 20 1 1 0 1 1 73 3 1 1 0 1 121 0 0 1 1 1 7

◦ -1/2 -1/2 -1/2 -2x3 1/2 1/2 -1/2 2 6x4 -1/2 1/2 1/2 1 6x5 1/2 -1/2 1/2 -1 1

• 0 0 -1 -1x2 1/4 1/4 -1/4 1/2 3x4 -3/4 1/4 3/4 3/2 3x5 3/4 -1/4 1/4 -1/2 4

∗ -1/2 1/6 -1/2 . . 2/3 2/3 . 10/6x2 1/2 1/6 -1/2 2x1 -1/2 1/6 1/2 2x5 1/2 -1/6 1/2 5

∗ y=[1/2,-1/6,1/2] z=[0,0,2/3,2/3,0,10/6] x=[2,2,0,0,5,0] z≥0 otimo obj=5

Page 118: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© Simplex 2 fases ( !© {A1, A2} nao e LI ! )

Fase II: min{ x1 : x1+2x2=2, 2x1+4x2=4, x≥0 }Fase I : min{ x3+x4 : x1+2x2+x3=2, 2x1+4x2+x4=4, x≥0 }xB inv(Q) x1 x2 x3 x4 = Q

1 -1 -1 -3 -6 . . -3 1 1 1 z1=-3x3 . 1 -0 ➀ 2 1 . 2 . 1 0 pivo(1,1)=1

x4 . 0 1 2 4 . 1 4 . 0 1

1 2 -1 . 0 3 . 0 1 0 1 z≥0 otimo F1

x1 . 1 0 1 2 1 . 2 . 1 0x4 . -2 1 . 0 -2 1 0 . 2 1

xB=?: x4 nulo comp~oe a base! L(x4): [0 -2 1][A|b]=0

1 -1 0 . -2 0 1 1 0 z2=-2

x1 . 1 0 1 ➁ 2 . 1 0

x4 . -2 1 . 0 0 . 2 1

1 0 0 1 . 0 1 0 0 z≥0 otimo F2

x2 . 1/2 0 1/2 1 1 . 2 0x4 . -2 1 0 . 0 . 4 1

Page 119: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Complexidade

teste de otimalidade: O(n-m)

calculo de uma coluna atualizada: O(m2)

teste da razao: O(m)

atualizacao da inversa da base e da solucao: O(m2)

∴ cada iteracao tem complexidade O(m2+n)

Page 120: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Refinamentos

• escolha s : zs < 0

• escolha r : λ =br

ars= min

i

{

biais

: ais > 0

}

Refinamentos do Simplex ( zj < 0 )

mais candidata ( Dantzig ) min zjmaior decrescimo min λjzjmaior declive min zj/sqrt(

i a2ij)

devex min zj/sqrt(∑

i a2ij : aij > 0)

menor custo/benefıcio min cj/y′Aj

menor ındice ( Bland ) min j

rodızio ( LRC - Least Recently Considered )

antiguidade ( LRB - Least Recently Basic )

Page 121: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

4. Simplex Dual

Page 122: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Problema Canonico min{ c′x : Ax=b, x≥0 }A=B-1A, xB←b=B-1b, xN←0, y′←c′BB-1, z←c=c-A′y

☞ sol.basica primal-factıvel (x≥0) e dual-factıvel (z≥0) e otima

☞ escolher br < 0

direc~ao dual ~y, ~z: ~y′←-(B-1)r., ~z←-A′~y=(Ar.)′ ∴ A′~y+~z=0

teste da raz~ao λ← -cs/ars = min{ -cj/arj : arj < 0 }direc~ao primal ~x: ~xN←0, ~xs←1, ~xB←-As ∴ A~x=0

pivo ars: xs substitui xBr na base B: Br ← As

!© passo λ: primal 6= dual

Page 123: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Metodo Simplex Dual

base B: b←B-1b, y′←c′BB-1, z←c-A′y≥0repita

se b≥0 ent~ao pare: solucao otima.

escolha br<0 (restricao xBr 6 ≥0)determine ~y←-(B-1)r., ~z←A′~y [ ~zj=arj ]

se ~z≥0 ent~ao pare: problema primal infactıvel.

escolha s← argminj{ -zj/arj : arj<0 } (teste da razao)

faca Br←As e atualize B-1, b, y, z

Page 124: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© Simplex dual

1 1 0 0 0 0

-1 -2 0 1 0 -60

-2 -1 0 0 1 -60

-1 0 1 0 0 -15 0

30

60

0 30 60◦

• ∗

xB inv(Q) x1 x2 x3 x4 x5 = Q

◦ 1 0 0 0 1 1 . . . 0 1 0 0 0 b1=-60x4 . 1 0 0 -1 -2 . 1 . -60 . 1 0 0 pivo(1,2)=-2

x5 . 0 1 0 -2 -1 . . 1 -60 . 0 1 0x3 . 0 0 1 -1 0 1 . . -15 . 0 0 1

• 1 1/2 0 0 1/2 . . 1/2 . -30 1 1 0 0 b2=-30x2 . -1/2 0 0 1/2 1 . -1/2 . 30 . -2 0 0

x5 . -1/2 1 0 -3/2 . . -1/2 1 -30 . -1 1 0 pivo(2,1)=-3/2x3 . 0 0 1 -1 . 1 0 . -15 . 0 0 1

∗ 1 1/3 1/3 0 . . . 1/3 1/3 -40 1 1 1 0 b≥0x2 . -2/3 1/3 0 . 1 . -2/3 1/3 20 . -2 -1 0

x1 . 1/3 -2/3 0 1 . . 1/3 -2/3 20 . -1 -2 0

x3 . 1/3 -2/3 1 . . 1 1/3 -2/3 5 . 0 -1 1

otimo: x=[20,20,5,0,0], y=[-1/3,-1/3,0], z=[0,0,0,1/3,1/3], obj=40

Page 125: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© Simplex dual

x1 x2 x3 x4

1 1 0 0 0

1 -2 -1 0 62 -1 0 1 6

✲3 6

x1✻

-3

-6

x2

✁✁✁✁✁✁

✟✟✟✟

◦ + ✲1

y1✻

-1

y2❍❍❍❍❥

❆❆❆❆

◦ +

Dual: max{ (6,6)y : (1,2)y≤1, (-2,-1)y≤1, y1≥0, y2≤0 }xB inv(Q) x1 x2 x3 x4 = Q

◦ 1 0 0 1 1 . . 0 1 0 0 b1=-6

x3 . -1 0 -1 2 1 . -6 . -1 0 pivo(1,1)=-1x4 . 0 1 2 -1 . 1 6 . 0 1

+ 1 -1 0 . 3 1 . -6 1 1 0 b2=-6x1 . 1 0 1 -2 -1 . 6 . 1 0

x4 . -2 1 . 3 2 1 -6 . 2 1 ~z≥0otimo dual ilimitado, primal infactıvel

+ x4: 3x2+2x3+x4=-6

Page 126: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Simplex dual

1 1 0 0 0

-1 -2 1 0 -6

-2 -1 0 1 -6

3 6 x1✲

3

6x2

❍❍❍❍❍❍❍❍

❆❆❆❆❆❆❆❆

•❍❍❍∗

✲-1 y1✻

-1

y2

❍❍❍❍❍❆❆❆❆❆

◦•❆❆❆∗

Dual: min{ (6,6)y : (1,2)y≥-1, (2,1)y≥-1, y≤0 }xB inv(Q) x1 x2 x3 x4 = Q

◦ 1 0 0 1 1 . . 0 1 0 0 b1=-6x3 . 1 0 -1 -2 1 . -6 . 1 0 pivo(1,2)=-2

x4 . 0 1 -2 -1 . 1 -6 . 0 1

• 1 1/2 0 1/2 . 1/2 . -3 1 1 0 b2=-3

x2 . -1/2 0 1/2 1 -1/2 . 3 . -2 0x4 . -1/2 1 -3/2 . -1/2 1 -3 . -1 1 pivo(2,1)=-3/2

∗ 1 1/3 1/3 . . 1/3 1/3 -4 1 1 1 b≥0x2 . -2/3 1/3 . 1 -2/3 1/3 2 . -2 -1

x1 . 1/3 -2/3 1 . 1/3 -2/3 2 . -1 -2

otimo: x=[2,2,0,0,0], y=[-1/3,-1/3], z=[0,0,1,1], obj=4

Page 127: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

5. Geometria dos PLs

Page 128: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Poliedro ≡ Politopo ⊕ Cone min { c′x : Ax=b, x≥0 }S (solucao) x : Ax=b

SF (factıvel) x : x≥0SO (otima) x∗ : c′x∗≤c′x, ∀x factıvel

SB (basica) x : {Aj : xj 6=0} e LI

SH (homogenea): SF de {Ax=0, x≥0} ( trivial: x=0 )

SHE (extrema): SFB de {Ax=0, x≥0, 1′x=1}

!© x e SH, λ≥0 ⇒ λx e SH

- SFs formam poliedro com SFBs nos vertices

- SFBs definem politopo

- SHEs definem cone poliedrico de SHs

T© Representacao. SF de { Ax=b, x≥0 } e a soma:

comb.convexa das SFBs + comb.nao-negativa das SHEs

SF = α′SBF+ β′SHE com 1′α=1, α≥0, β≥0

Page 129: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

x1-2x2≤ 6

2x1- x2≥-6x1, x2≥ 0

x1 x2 x3 x4 =

1 -2 1 0 6

2 -1 0 -1 6

SBFs: x1=[6 0 0 18], x2=[0 6 18 0], x3=[0 0 6 6]

vertices do poliedro de SFs

SHEs: ~x1=[2/6 1/6 0 3/6], ~x2=[1/6 2/6 3/6 0]

direcoes das arestas infinitas do poliedro de SFs

SF x = α1x1+α2x

2+α3x3 + β1~x

1+β2~x2,

α1+α2+α3=1, α1, α2, α3, β1, β2≥0

3

6

3 6• •

x1

x1~x1

x2

x2

~x2

x3

Page 130: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Vertice ≡ Solucao Basica Factıvel K = { x : Ax=b, x≥0 }ponto extremo ou vertice x:

nao existem x1 6=x2 ∈ K tais que x = αx1 + (1-α)x2, α∈(0,1)( vertice nao e interior a segmento de reta no poliedro )

T solucao factıvel basica (SFB) sss vertice (ponto extremo)

∃ SF ⇒ ∃ SFB ☼ ∃ SO ⇒ ∃ SOB

T© Forte da Dualidade

solucao otima ⇒ solucoes primal-dual otimas de igual valor

☼ Transformar solucao otima em otima basica.

Usar sua base para construir par primal-dual de SBFs de mesmo valor.

Page 131: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© Obter Ponto Extremo a partir de Ponto Factıvel.

0 1 1 4 5 6

0 2 2 4 5 6

1 0 1 4 5 6

2 1 3 4 5 6

x =

48310

, x≥0

x=[2 3 1 0 0 0] e factıvel mas nao e basico pois A3 = A1 +A2

A x=b×λ A ~x=0A (x+λ~x)=b

∼2A1+ 3A2+ A3 = bA1+ A2− A3 = 0

(2+λ)A1+ (3+λ)A2+ (1-λ)A3 = b

x(λ)=[2+λ 3+λ 1-λ 0 0 0] e SF para λ∈[-2,1]1) x(-2)=[0 1 3 0 0 0] e SFB pois {A2, A3} e LI

2) x( 1)=[3 4 0 0 0 0] e SFB pois {A1, A2} e LI

Page 132: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© Teste de Independencia Linear {A1, A2, A3} e LI?

xB A1 A2 A3 A4 A5 A6 Ax0 ➀ 1 4 5 6 4

A 0 2 2 4 5 6 8

➀ 0 1 4 5 6 3

2 1 3 4 5 6 10

x 2 3 1 0 0 0

· · ·x2 . 1 1 4

. . 0 0x1 1 . 1 3

. . 0 0

x 3 4 0 0 0 0

n~ao e LI: A3 = 1A2 + 1A1

x: [2 3 1 0 0 0] → [3 4 0 0 0 0]

Page 133: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?©Teste de

IndependenciaLinear II :

A1=

0012

, A2=

1201

, A3=

1213

A1 A2 A3

1 0 0 [ 0 0 1 2 ]

0 1 0 [ 1 2 0 1 ]

0 0 1 [ 1 2 1 3 ]

L1: 1A1 +0A2 +0A3 = [0,0,1,2]

L2: 0A1 +1A2 +0A3 = [1,2,0,1]

L3: 0A1 +0A2 +1A3 = [1,2,1,3]

A1 A2 A3

1 0 0 0 0 1 20 1 -1 0 0 -1 -20 0 1 1 2 1 3

1 1 -1 . 0 . 00 -1 1 . 0 1 20 1 0 1 2 . 1

pivos: (3,4), (2,6), L1 nula

{ A1, A2, A3 } nao e LI pois

L1: 1A1 +1A2 − 1A3 = [0,0,0,0]?© Identificar a inversa de B: MB = P ′ ∴ B-1 = PM

Page 134: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© Obter Vertice Otimo a partir de Otimo.

c -1 3 2 2 5 8 7 b I➀ 1 0 0 1 1 2 3 1 0 0

A -2 0 1 ➁ 2 2 1 4 0 1 00 2 ➀ 0 2 1 2 6 0 0 1

x 1 1 2 1 1 0 0

z 0 0 0 0 0 4 2

x1 1 ➀ . . 1 3 1 0 0x4 . 0 . ➀ 1 2 1 1/2 -1/2

x3 . 2 1 . 2 6 0 0 1

~x -1 1 -2 0 0 0 0 A2=A1+2A3

x 0 2 0 1 1 0 0 x←x+~xz 0 0 0 0 0 4 2

x2 1 . 1 3 1 0 0

x4 . 1 1 2 0 1/2 0. . 0 0 -2 0 1

~x 0 1 0 1 -1 0 0 A5=A2+A4

x 0 3 0 2 0 0 0 x←x-~x

obj=13 e um vertice pois {A2, A4} e LI

Page 135: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Obter vertice a partir de solucao. Otimo?.

A1 A2 A3 A4 A5 A6 A7 =

x 1 2 0 1 0 2 0

c 3 1 4 1 4 1 4 b3 1 2 1 2 1 2 8

A 2 0 2 1 1 1 1 5

1 0 1 0 0 1 1 3

c 0 . 2 0 2 0 2 -8

x2 3 1 2 1 2 1 2 82 . 2 1 1 1 1 5

1 . 1 0 0 1 1 3

c 0 . 2 . 2 0 2 -8

x2 1 1 0 . 1 0 1 3x4 1 . 1 1 1 1 0 5

1 . 1 . 0 1 1 3

c 0 . 2 . 2 . 2 -8

x2 1 1 0 . 1 . 1 3

x4 1 . 1 1 1 . 0 2x6 1 . 1 . 0 1 1 3

c1 = 0

A1=A2 +A4 +A6

x = [ 1,2,0,1,0,2,0]

~x = [-1,1,0,1,0,1,0]

↓ c′(x+ λ~x) = 8

x = [ 0,3,0,2,0,3,0]

vertice otimo

Page 136: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Degenerescencia. A: m×n-matriz de posto completo.

min { c′x : Ax=b, x≥0 }, max { b′y : A′y+z=c, z≥0 }, XZ1=0

SB da base B: xN←0, xB←b=B-1b, y′←c′BB-1, z←c=c-A′y

SBF x: Ax=b, x≥0, {Aj : xj>0} e LI.

SBF y, z: A′y+z=c, z≥0, {Aj : zj=0} gera as colunas de A.

SBF degenerada x: |{xj>0}|<m: ha variaveis basicas nulas.

SBF degenerada y, z: |{zj=0}|>m: ha folgas nao-basicas nulas

Pivoteamento muda para base adjacente

dual degenerado: mantem y, z e objetivo (aresta horizontal)

primal degenerado: mantem x e objetivo (aresta nula)

∴ vertice de varias bases que pode ter mais de n-m arestas.

PL primal (dual) degenerado: ha x (y, z) degenerado.

PL n~ao-degenerado: cada vertice tem n-m arestas (nao-horizontais)

Page 137: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A4|A1|A2]: obter otimo.

min [ 0 1 1 1 0 ] xsuj [-1 2 1 0 0 ] x = 4

[ 2 -1 0 1 0 ] x = 4

[ 0 1 0 0 1 ] x = 4

1

2

3

4

1 2 3 4

x1

x2

[x4]

[x3]

[x5]

xB inv(Q) A b Q

+ 1 -2 -1 2 . . -1 . 2 -4 1 1 0 1

4 . 2 1 -3 . . 2 1 -3 0 . 0 -1 21 . -1 0 2 1 . -1 . 2 4 . 1 2 -1

2 . 0 0 1 . 1 0 . 1 4 . 0 0 1

+: x=[4;4;0;0;0] e otimo? B=312?

* 1 -1 -.5 .5 . . . .5 0.5 -4 1 1 0 1

3 . 1 .5 -1.5 . . 1 .5 -1.5 0 . 1 -1 21 . 0 .5 .5 1 . . .5 0.5 4 . 0 2 -1

2 . 0 0 1 . 1 . 0 1 4 . 0 0 1

*: x=[4;4;0;0;0] e otimo! B=512?

☼ multiplicar 1a. restric~ao por -1 ?

Page 138: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Convergencia Finita.

Numero de bases e limitado a(mn

)

se Amn e de posto completo.

Pivoteamentos nao-degenerados:

objetivo melhora estritamente,

nenhuma base e revisitada

formam sequencia decrescente de objetivos

numero de pivoteamentos e limitado por(mn

)

.

∴ Metodo Simplex e finito em PLs nao-degenerados.

Pivoteamentos degenerados mantem objetivo e

permite visitas a uma base infinitas vezes (ciclagem).

Page 139: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

6. Pos-Otimizacao

Page 140: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

POS-OTIMIZACAO

✌ estudo de variacao de coeficientes (ambos)

☛ nova variavel ou coluna xn+1 (simplex dual)

☛ nova restricao ou linha ym+1 (ambos)

☛ analise parametrica de rhs b+ λ~b (simplex primal)

☛ analise parametrica de custo c+ λ~c (simplex dual)

Page 141: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Coeficiente varia e base permanece otima

min{ c′x : Ax=b, x≥0 }, max{ b′y : z=c-A′y≥0 }, zjxj=0, ∀j

B otima: xN=0, xB=b=B-1b≥0, y′=c′BB-1, z=c=c-A′y≥0

☞ rhs br ← βB otima: xB(β) = B-1b(β)≥0

☞ custo n~ao-basico cs ← γB otima: zs(γ) = γ − y′As≥0

☞ custo basico cs ← γB otima: z(γ) = c(γ)−A′y(γ)≥0 onde y(γ)

′=cB(γ)′B-1

☞ coluna n~ao-basica ars ← αB otima: zs(α) = cs − y′As(α)≥0

✍ coluna basica ars ← α (B-1(α)?)

Page 142: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© B = [A1, A2] e base otima de (min em x≥0):

x1 x2 x3 x4

c 6 6 -1 -1 b

A1 2 -1 0 6

2 1 0 -1 6

B-1=

[

1 2

2 1

]-1

=

[

-1/3 2/3

2/3 -1/3

]

x=[2,2,0,0], y=[2,2], z=[0,0,1,1]

?© b1 3≤b1≤12

xB = B-1b =

[

-1/3 2/3

2/3 -1/3

] [

b16

]

=

[

-b1/3+42b1/3-2

]

≥[

00

]

?© c3 c3≥− 2

z3 = c3 −A3′y = c3 − [-1,0]

[

22

]

= c3 +2≥0

Page 143: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© c1 9/2≤c1≤9

y′ = c′BB-1 = [c1,6]

[

-1/3 2/32/3 -1/3

]

= [ 4− c1/3, 2c1/3− 2 ]

zN=cN-N ′y=[

-1-1

]

-

[

-1 00 -1

] [

4-c1/32c1/3-2

]

=

[

3-c1/32c1/3-3

]

≥[

00

]

?© a13 a13≤− 1/2

z3 = c3 − A3′y = −1− [a13,0]

[

22

]

= −1− 2a13≥0

Page 144: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© a11 B=

[

a11 22 1

]

∴ B-1=1

a11-4

[

1 -2-2 a11

]

a11 6=4

xB = B-1b =1

a11-4

[

1 -2-2 a11

] [

66

]

=1

a11-4

[

-6-12+6a11

]

≥[

00

]

a11≤2

y = c′B-1 =1

a11-4[6,6]

[

1 -2-2 a11

]

=1

a11-4

[

-6-12+6a11

]

zN = cN −N ′y =1

a11-4

[

-a11 -25a11 -8

]

≥[

00

]

−2≤a11≤8/5

−2≤a11≤8/5

Page 145: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A1, A2, A3] e base otima para α, β, γ, δ? min{c′x : Ax=b, x≥0}

c′ =(

α 1 0 γ 4)

A =

1 0 0 1 21 1 0 2 21 1 1 1 δ

β46

= b

B=

1 0 01 1 01 1 1

1 0 0-1 1 00 -1 1

=B-1

y′ = [α,1,0]B-1=[α-1,1,0], zN = cN-N ′y =

[

γ-(α-1+2)≥04-(2α-2+2)≥0

]

xB = B-1b =

β≥04-β≥0

2≥0

∴ β ∈ [0,4] ∀δ α≤2, γ-1

Page 146: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

7. Extensoes

7a Variaveis Livres

7b Variaveis Canalizadas

7c Restricoes Canalizadas

Page 147: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

7a. Variaveis Livres

min{ c′x+d′t : Ax+Dt=b, x≥0 } max{ b′y : A′y+z=c, D′y=d, z≥0 } XZ=0

☛ substituir var.livre pela diferenca de duas var.nao-negativas

☛ eliminar var.livre com pivoteamento

☞ manter var.livre na base sempre

!© Supor [D|A], D de posto completo

base [D|B]: Particao em b.livres, b.nao-neg, nb.nao-neg

[D|A]=[D|B|N ], c=[cB; cN], x=[xB;xN], z=[zB; zN]

xN ← 0, [t;xB]← [D|B]-1b, y′← [d; cB]′[D|B]-1, z ← c-A′y

otimo: xB≥0, z≥0 candidata: zs<0 [ xr<0 ]

Br←As teste da raz~ao mantem xB≥0 [ z≥0 ]

Page 148: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Metodo Simplex com Variaveis Livres

base [D|B] primal factıvel com (t, x, y, z)

repita

se z≥0 ent~ao pare: solucao otima

escolha zs<0

determine As← [D|B]-1As

determine xBr/ars = λ← mini{ xBi/ais : ais>0 }

se λ=∞ ent~ao pare: solucao otima ilimitada.

faca Br ← As e atualize [D|B]-1, x, t, y, z

xN ← 0, [t;xB]← [D|B]-1b, y′← [d; cB]′[D|B]-1, z ← c-A′y

Page 149: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© min, x1,x2,x3,x4≥0, x5 livrexB inv(Q) x1 x2 x3 x4 x5 = Q

◦ 1 0 0 0 -1 -1 . . . 0 1 0 0 0x3 . 1 0 0 1 2 1 . . 6 . 1 0 0

x4 . 0 1 0 2 1 . 1 . 6 . 0 1 0x5 . 0 0 1 1 1 . . 1 1 . 0 0 1

• 1 0 1/2 0 . -1/2 . 1/2 . 3 1 0 -1 0x3 . 1 -1/2 0 . 3/2 1 -1/2 . 3 . 1 1 0

x1 . 0 1/2 0 1 1/2 . 1/2 . 3 . 0 2 0x5 . 0 -1/2 1 . 1/2 . -1/2 1 -2 . 0 1 1

∗ 1 1/3 1/3 0 . . 1/3 1/3 . 4 1 -1 -1 0x2 . 2/3 -1/3 0 . 1 2/3 -1/3 . 2 . 2 1 0

x1 . -1/3 2/3 0 1 . -1/3 2/3 . 2 . 1 2 0

x5 . -1/3 -1/3 1 . . -1/3 -1/3 1 -3 . 1 1 1

otimo *: x0=-4, B=[A2 A1 A5], x=[2 2 0 0 -3], y=[-1/3 -1/3 0], z=[0 0 1/3 1/3 0]

3

6

3 6◦

• ∗x1

x2

[x5]

[x4]

[x3]

x1 +2x2≤6 [x3]2x1 + x2≤6 [x4]x1 + x2 = 1− x5 (livre)

Page 150: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

7b. Variaveis Canalizadas ( d-≤x≤d+ )

☛ Forma padrao min{ c′x : Ax=b, x+s=d+, x≥d−, s≥0 }

☞ Modelo que reduz esforco computacional

min{ c′x : Ax=b, d-≤x≤d+ }max{ b′y+d-z-+d+z+ : A′y+z-+z+=c, z-≥0, z+≤0 }z = c-A′y = z-+z+, z- = max{z,0}, z+ = max{-z,0}z-j=zj > 0 ⇒ xj=d

-j

z+j=zj < 0 ⇒ xj=d+j

d-j<xj<d+j ⇒ zj=z+j=z

-j=0

B: ( base de A ) base de trabalho de

[

A 0

I I

]

Page 151: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

min{ c′x : Ax=b, d-≤x≤d+ }

A=[B|N-|N+]: particao em basicas, nb.inferiores, nb.superiores

c=(cB; cN-; cN+), d-=(), d+=(), x=(xB;xN-;xN+), z=()

soluc~ao basica: y′← c′BB-1, z ← c-A′y [A′y+z=c]

xN- ← d-N-, xN+ ← d+N+, xB ← B-1(b-N-xN--N+xN+) [Ax=b]

otima: d-≤x≤d+, zj>0⇒xj=d-j , zj<0⇒xj=d

+j , [d-j<xj<d+j⇒zj=0]

candidata: zs<0, xs=d-s ou zs>0, xs=d+sdirec~ao: ~x←0 ~xs←-sgn(zs), ~xB←sgn(zs)B-1As

teste da raz~ao mantem d-≤x≤d+: ‘sai’ xs ou xBr

pivo pode ser negativo!

Page 152: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Metodo Simplex Canalizadopartic~ao de trabalho [B|N-|N+] primal factıvel com (x, y, z)repita

escolha s tal que zs<0, xs=d-s ou zs>0, xs=d+sse nao existe tal s ent~ao pare: solucao otimafaca γ ← sgn(zs)determine As← B-1As

determine λ- ← mini{ (xBi-d-Bi

)/|ais| : γais>0 }determine λ+ ← mini{ (d+Bi

-xBi)/|ais| : γais<0 }

determine λ ← min { d+s-d-s, λ-, λ+ }

se λ=∞ ent~ao pare: solucao otima ilimitada.atualize a base de trabalho e a solucao basica

λ=d+s-d-s ⇒ xs ← d+s+d

-s-xs e mantem B, y, z

λ<d+s-d-s, γars > 0 ⇒ Br ← As (sai xBr=d

-Br

)λ<d+s-d

-s, γars < 0 ⇒ Br ← As (sai xBr=d

+Br

)y′←c′BB

-1, z←c-A′y, xN-←d-

N-, xN+←d+

N+, xB←B-1(b-N-xN--N+x

N+)

Page 153: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

E© B=[A2, A4, A5], N-=[A3], N+=[A1]:

min[ 9 1 0 0 0 ] x

suj

1 2 2 0 0

2 1 0 -2 0

1 1 0 0 2

x =

14

6

6

,

0000

-∞

≤x≤

4∞4∞∞

B B-1

2 0 0 1/2 0 0

1 -2 0 1/4 -1/2 0

1 0 2 -1/4 1/2 22

4

6

2 4 6

•⋄

x1

x2

[x5][x4]

[x3]

6≤x1 +2x2≤14 [x3]2x1 + x2≥6 [x4]0≤x1≤4x2≥0

Page 154: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

B inv(Q) x1 x2 x3 x4 x5 b xB xB Q

0 1 -1/2 0 0 17/2 . -1 . . -7 -41 -37 1 1 0 0

2 . 1/2 0 0 1/2 1 1 . . 7 5 1 . 2 0 0

4 . 1/4 -1/2 0 -3/4 . 1/2 1 . 1/2 7/2 3/2 . 1 -2 0

5 . -1/4 0 1/2 1/4 . -1/2 . 1 -1/2 -3/2 1/2 . 1 0 2

◦ obj=41 x=[4,5,0,7/2,-3/2], ~x=[0,-1,1,-1/2,1/2], s=3, r=s, λ=4

• obj=37 x=[4,1,4,3/2,1/2], ~x=[-1,1/2,0,-3/4,1/4], s=1, r=2, λ=2

0 1 7/3 -17/3 0 . . 14/3 34/3 . -4/3 -20 1 1 9 0

2 . 2/3 -1/3 0 . 1 4/3 2/3 . 22/3 2 . 2 1 0

1 . -1/3 2/3 0 1 . -2/3 -4/3 . -2/3 2 . 1 2 0

5 . -1/6 -1/6 1/2 . . -1/3 1/3 1 -1/3 1 . 1 1 2

⋄ obj=20 x=[2,2,4,0,1], ~x=[-2/3,4/3,-1,0,-1/3], s=3, r=2, λ=3

0 1 0 -1 0 7 . . 2 . -6 -6 1 1 0 0

2 . 0 1 0 2 1 . -2 . 6 6 . 2 2 0

3 . 1/2 -1 0 -3/2 . 1 2 . 1 1 . 1 0 0

5 . 0 -1/2 1/2 -1/2 . . 1 1 0 0 . 1 0 2

∗ obj=6 x=[0,6,1,0,0], y=[0,1,0], z=[7,0,0,2,0], otimo

Page 155: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

7c. Restricoes Canalizadas ( b-≤Ax≤b+ )

☛ Forma padrao min{ c′x : Ax-s-=b-, Ax+s+=b+, x, s-, s+≥0 }

☞ Modelo que reduz esforco computacional

min{ c′x : Ax+s=b+, x≥0, 0≤s≤b+-b- } max{ }

E© Iniciar com x=[5,7/2,-3/2]. (min em x2, x4≥0, x5 livre).

x2 x4 x5

c -7/2 9 0 b- b+

1/2 -1 0 -1 3

A 3/4 1/2 0 1.5 5.5

1/4 1/2 1 1.5 1.5

Inserir variaveis de folga para obter PL do exemplo anterior.

Page 156: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Questoes

Page 157: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© inversa B-1 de B ?

L B IL1: 1 2 0 1 0 0L2: 2 1 0 0 1 0L3: 1 0 1 0 0 1

L1 1 2 0 1 0 0L2-2L1 0 -3 0 -2 1 0L3-L1 0 -2 1 -1 0 1

1 0 0 -13

23

00 1 0 2

3-13

00 0 1 1

3-23

1

I B-1

Page 158: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Decomposicao LU: B = LU L (U) triangular inferior (superior)

pivoteamentos incompletos – zeros abaixo do pivo

I B1 . . 1 2 0

. 1 . 2 1 0

. . 1 1 0 1

1 . . 1 2 0

2 1 . . -3 0

1 . 1 . -2 1

1 . . 1 2 0

2 1 . . -3 0

1 23

1 . . 1

L U

k=1..n :

ukj ← bkj −k−1∑

m=1

ℓkmumj, j=k..n

ℓik ←

bik −k−1∑

m=1

ℓimumk

/ukk, i=k+1..n

Resolver Bw = LUw = d: (1) Lw = b, (2) Uw = w

d = [60; 60; 25] w = [60; -60; 5] w = [20; 20; 5]

Page 159: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© vertice de B=[A3|A1|A5] ? factıvel?

L xB B-1 x1 x2 x3 x4 x5 bL1: x3 1 0 0 1 2 1 60L2: ◦ x4 0 1 0 2 1 1 60L3: x5 0 0 1 1 0 1 25

L1-L2/2 x3 1 -1/2 0 3/2 1 -1/2 30L2/2 ⋄ x1 0 1/2 0 1 1/2 1/2 30

L3-L2/2 x5 0 -1/2 1 -1/2 -1/2 1 -5

☼ x⋄ = (30,0,30,0, -5)′ 6 ≥0 nao e solucao factıvel

Page 160: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A2|A6|A1]: Q-1? (x, y, z)? 3 (~x, ~y, ~z)? base?

x1 x2 x3 x4 x5 x6 bmin -1 -1 0 0 0 -2

suj 1 2 1 0 0 3 60x≥0 2 1 0 1 0 3 60

1 0 0 0 1 1 25

☼ B=[A2, A6, A1] nao e uma base pois tem colunas LI

Page 161: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A4|A2|A3]: Q-1? (x, y, z)? 2 (~x, ~y, ~z)? base?

x1 x2 x3 x4 x5 = min

0 0 1 1 1 x≥01 2 1 0 0 6

2 1 0 1 0 6

1 0 0 0 1 3

Page 162: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A5|A2|A1]: Q-1? (x, y, z)? 2 (~x, ~y, ~z)? otimo?

min x1 x2 x3 x4 x5 x≥0c 0 0 1 1 1 b

1 2 1 0 0 6

A 2 1 0 1 0 6

1 0 0 0 1 3

xB inv(Q) x1 x2 x3 x4 x5 = Q

∗ 1 -1/3 2/3 -1 0 0 2/3 5/3 0 -1 1 1 0 0

x5 0 1/3 -2/3 1 0 0 -1/3 -2/3 1 1 0 0 2 1x2 0 2/3 -1/3 0 0 1 2/3 -1/3 0 2 0 0 1 2

x1 0 -1/3 2/3 0 1 0 -1/3 2/3 0 2 0 1 0 1

obj=1, x=(2,2,0,0,1), y=(1/3,-2/3,1), z=(0,0,2/3,5/3,0), otimo

z3=2/3: ~x=(1/3,-2/3,1,0,2/3), ~y=(2/3,-1/3,0), ~z=(0,-1,-2/3,1/3,0)z4=5/3: ~x=(-2/3,1/3,0,1,2/3), ~y=(1/3,-2/3,0), ~z=(-1,0,1/3,-2/3,0)

Page 163: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A2|A4|A1]: Q-1? (x, y, z)? 2 (~x, ~y, ~z)? otimo?

min x1 x2 x3 x4 x5 x≥0c 0 0 1 1 1 b

1 2 1 0 0 6

A 2 1 0 1 0 6

1 0 0 0 1 3

inv(Q)

1.0 0.5 -1.0 1.5

0.0 0.5 0.0 -0.5

0.0 -0.5 1.0 -1.5

0.0 0.0 0.0 1.0

xB inv(Q) x1 x2 x3 x4 x5 = Q

∗ 1 -1/3 2/3 -1 0 0 2/3 5/3 0 -1 1 1 0 0

x5 0 1/3 -2/3 1 0 0 -1/3 -2/3 1 1 0 0 2 1x2 0 2/3 -1/3 0 0 1 2/3 -1/3 0 2 0 0 1 2

x1 0 -1/3 2/3 0 1 0 -1/3 2/3 0 2 0 1 0 1

x=(2,2,0,0,1), y=(1/3,-2/3,1), z=(1,0,-1/3,2/3,0)

x3: ~x=(1/3,-2/3,1,0,2/3), ~y=(2/3,-1/3,0), ~z=(0,-1,-2/3,1/3,0), λ=3x4: ~x=(-2/3,1/3,0,1,2/3), ~y=(1/3,-2/3,0), ~z=(-1,0,1/3,-2/3,0), λ=3

Page 164: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A5|A1|A4]: Q-1? (x, y, z)? 2 (~x, ~y, ~z)? factıvel?

x1 x2 x3 x4 x5 = min

0 0 1 1 1 x≥01 2 1 0 0 6

2 1 0 1 0 6

1 0 0 0 1 3

Page 165: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A2|A4|A5], B=[A4|A2|A5]: vertices (x, y, z)? aresta?

xB inv(B) x1 x2 x3 x4 x5 = B

x2 1/2 0 0 1/2 1 1/2 0 0 30 2 0 0

• x4 -1/2 1 0 3/2 0 -1/2 1 0 30 1 1 0 piv(2,1)=3/2

x5 0 0 1 1 0 0 0 1 25 0 0 1

x=(0,30,0,30,25), ~x=(1,-1/2,0,-3/2,-1), λ=20x4 -1/2 1 0 3/2 0 -1/2 1 0 30 1 1 0 piv(1,1)=3/2

◦ x2 1/2 0 0 1/2 1 1/2 0 0 30 2 0 0

x5 0 0 1 1 0 0 0 1 25 0 0 1

x=(0,30,0,30,25), ~x=(1,-1/2,0,-3/2,-1), λ=20

Page 166: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A2|A4|A5], B=[A2|A1|A5]: vertices (x, y, z)? aresta?

xB inv(B) x1 x2 x3 x4 x5 = B

x2 1/2 0 0 1/2 1 1/2 0 0 30 2 0 0

• x4 -1/2 1 0 3/2 0 -1/2 1 0 30 1 1 0 piv(2,1)=3/2

x5 0 0 1 1 0 0 0 1 25 0 0 1

x=(0,30,0,30,25), ~x=(1,-1/2,0,-3/2,-1), λ=20x2 2/3 -1/3 0 0 1 2/3 -1/3 0 20 2 1 0

∗ x1 -1/3 2/3 0 1 0 -1/3 2/3 0 20 1 2 0

x5 1/3 -2/3 1 0 0 1/3 -2/3 1 5 0 1 1

x=(20,20,0,0,5)

Page 167: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A5|A1|A2], B=[A5|A3|A4]: : vertices (x, y, z)? aresta?

x1 x2 x3 x4 x5 x≥00 0 1 1 1 0

1 2 1 0 0 6

2 1 0 1 0 6

1 0 0 0 1 3

xB invQ x1 x2 x3 x4 x5 = Q

◦ 1 -1/3 2/3 -1 0 0 2/3 10/6 0 -1 1 1 0 0

x5 0 1/3 -2/3 1 0 0 1/3 -2/3 1 1 0 0 1 2x1 0 -1/3 2/3 0 1 0 -1/3 2/3 0 2 0 0 2 1

x2 0 2/3 -1/3 0 0 1 2/3 -1/3 0 2 0 1 1 0

• 1 -1 -1 -1 -4 -3 0 0 0 -15 1 1 1 1

x5 0 0 0 1 1 0 0 0 1 3 0 0 1 0x3 0 1 0 0 1 2 1 0 0 6 0 0 0 1

x4 0 0 1 0 2 1 0 1 0 6 0 1 0 0

◦: x=(2,2,0,0,1), y=(1/3,-2/3,1), z=(0,0,2/3,10/6,0), obj=1

•: x=(0,0,6,6,3), y=(1,1,1), z=(-4,-3,0,0,0), obj=15seg.reta ◦--• n~ao e aresta pois bases n~ao s~ao adjacentes

Page 168: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Quadro Canonico de B=[A1|A4|A5]:? otimo?

B-1 x1 x2 x3 x4 x5 b y

1 0 0 0 20 22 0 0 0 0

0 1 0 0 x3 1 2 1 600 00 0 1 0 x4 2 1 1 600 00 0 0 1 x5 1 0 1 250 0

1 -8 -6 0 0 0 -8 -6 0 -8400

0 -1/3 2/3 0 x1 1 -1/3 2/3 200 80 2/3 -1/3 0 x2 1 2/3 -1/3 200 60 1/3 -2/3 1 x5 1/3 -2/3 1 50 0

1 -11 0 0 9 0 -11 0 0 -6600

0 1/2 0 0 x2 1/2 1 1/2 300 110 -1/2 1 0 x4 3/2 -1/2 1 300 00 0 0 1 x5 1 0 1 250 0

Page 169: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Verifique a equivalencia entre originais e transformados

(mesmos conjuntos de otimos e mesmos conjuntos de factıveis)

max{ x1 : x1+x2=0, x2≥0 } ≡ min{ -x1 : x1+x2=0, x2≥0 }

{ x1≤1, x1≥0 } ≡ { x1+x2=1, x1, x2≥0 }

{ x1≥1, x1≥0 } ≡ { x1-x2=1, x1, x2≥0 }

{ x1+x2=1, x1≥0, x2≤0 } ≡ { x1-x2=1, x1, x2≥0 }

{ x1-x2=-1, x1, x2≥0 } ≡ { x2-x1=1, x1, x2≥0 }

{ x1+x2=1 : x1≥0 } 6≡ { x1+x+2-x

-2=1 : x1, x

+2, x

-2≥0 }

Page 170: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

min ( 1 1 3 4 4 ) xsuj ( 1 0 1 2 1 ) x = 1x≥0 ( 0 1 1 1 2 ) x = 1

Fase2 ( 1 1 2 3 3 ) x = 2

1

2

1 2◦ •∗

x1

x2

[x3+2x4+x5]

[x3+x4+2x5]

[2x3+3x4+3x5]

min ( 0 0 0 0 0 1 1 1 ) xsuj ( 1 0 1 2 1 1 ) x = 1x≥0 ( 0 1 1 1 2 1 ) x = 1

Fase1 ( 1 1 2 3 3 1 ) x = 2

xB B-1 b As y, zs, s, rF1 x6 1 1 ➀ y′=(1,1,1)B-1=(1,1,1)◦ x7 1 1 0 z1=-2F1 x8 1 2 1 s=1, λ=1, r=1

F1 x1 1 1 0 y′=(0,1,1)B-1=(-1,1,1)• x7 1 1 1 z2=-2F1 x8 -1 1 1 ➀ s=2, λ=1, r=3

F1 x1 1 1 y′=(0,1,0)B-1=(1,1,-1)⋆ x7 1 1 -1 0 z=(0,0,0,0,0,0,0,2)≥0F1 x2 -1 1 1 s=?, x=(1,1,0,0,0)

F2 x1 1 1 y′=(1, α,1)B-1=(α, α,1-α)∗ x7 1 1 -1 0 z=(0,0,1,1,1, ,0, )≥0F2 x2 -1 1 1 s=?, x∗7:(1,1,-1)[A|b]=0

Page 171: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

min ( 0 0 0 -2 3 -1 ) xsuj ( 1 2 -1 -2 ) x = 4x≥0 ( 1 -1 2 -1 ) x = 3

( 1 3 -2 0 ) x = 51

2

1 2◦ ∗ x4

x6

[x1][x2]

[x3]

xB B-1 b As y, zs, s, rx1 1 0 0 4 2 y′=(0,0,0)B-1=(0,0,0)

◦ x2 0 1 0 3 -1 z4=-2x3 0 0 1 5 3 s=4, λ=5/3, r=3x1 1 0 -2/3 2/3 -2 y′=(0,0,-2)B-1=(0,0,-2/3)

• x2 0 1 1/3 14/3 -1 z6=-1x4 0 0 1/3 5/3 0 s=6, λ=?, r=?

y◦=(0,0,0)+µ(0,0,-1), z◦=(0,0,0,-2,3,-1)+µ(0,0,1,3,-2,0), µ ∈ [0,2/3]

x◦=(4,3,5,0,0,0)+λ(-2,1,-3,1,0,0), λ ∈ [0,5/3], c′x◦=b′y◦=0y•=(0,0,-2/3), z•=(0,0,2/3,0,5/3,-1), c′x•=b′y•=-10/3x•λ=(2/3,14/3,0,5/3,0,0)+λ(2,1,0,0,0,1), c′xλ=-10/3-1λ→ -∞

Page 172: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

min ( 0 0 0 -2 3 0 ) xsuj ( 1 2 -1 -2 ) x = 4x≥0 ( 1 -1 2 -1 ) x = 3

( 1 3 -2 0 ) x = 51

2

1 2◦ ∗ x4

x6

[x1][x2]

[x3]

xB B-1 b As y, zs, s, rx1 1 0 0 4 2 y′=(0,0,0)B-1=(0,0,0)

◦ x2 0 1 0 3 -1 z4=-2x3 0 0 1 5 3 s=4, λ=5/3, r=3x1 1 0 -2/3 2/3 -2 y′=(0,0,-2)B-1=(0,0,-2/3)

• x2 0 1 1/3 14/3 -1 z6=0x4 0 0 1/3 5/3 0 s=6?, λ=?, r=?

y•=(0,0,-2/3), z•=(0,0,2/3,0,5/3,-1), c′x•=b′y•=-10/3x•λ=(2/3,14/3,0,5/3,0,0)+λ(2,1,0,0,0,1), c′xλ=-10/3

Page 173: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

V - METODO DE PONTOS INTERIORES

Page 174: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

1. INTRODUCAO

Metodos Polinomais para PL

⊲ elipsoide (Yudin, Nemirovski, Shor e Khachian, 76-79)

⊲ transformacao Projetiva (Karmakar 84)

⊲ transformacao afim (afim escala) (∼89)

⊲ seguidor de caminho (trajetoria central) (∼89)

• metodo simplex (Dantzig 47) nao e polinomial

Page 175: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

2. TRAJETORIA CENTRAL

min{ c′x : Ax=b, x≥0 }, max{ b′y : A′y+z=c, z≥0 }, XZ 1=0

(x, y, z) −→ (x, y, z) + λ(~x, ~y, ~z) µ→ 0

A cada iteracao obtem solucao aproximada do sistema

Ax = bA′y + z = cXZ 1 = µ1

A~x = b ← b− AxA′~y + ~z = c ← c− A′y − z

Z~x+X~z = µ ← µ1−XZ 1

(AZ-1XA′) ~y = Ax− µAZ-11 + b+AZ-1Xc~z = −A′~y + c

Z ~x = µ1−X(z + ~z)

Page 176: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Metodo Primal Dual de Pontos Interiores

seja (x, y, z)repetir ate convergir

estimar µcalcular (~x, ~y, ~z)aplicar teste da razao atualizando (x, y, z)

Teste da Razao

λ← .999995 ∗min{ -xj/~xj : ~xj<0 }if( λ>1 )then λ← 1

x ← x+ λ~xλ← .999995 ∗min{ -zj/~zj : ~zj<0 }if( λ>1 )then λ← 1

z ← z + λ~zy ← y + λ~y

teorico: µ← µ(1− 1/√n) pratico: µ← z′x/n2

Page 177: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

matriz diagonal de scalling

primal-dual: D2 = Z-1X

primal: D2 = X2

dual: D2 = Z-2

AD2A′ e definida positiva: Fatoracao de Choleski

(AD)′~y ≃ c⇒ (AD2A′)~y = (AD)c

c = c− (AD)′~y ⇒ (AD)c = 0

c: projecao (quadrados mınimos) de c

Trajetoria central: (x, y, z) com ZX1 = µ1, µ > 0

Page 178: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

PREDICAO e CORRECAO

A cada iteracao obtem solucao aproximada do sistema

Ax = bA′y + z = c[x][z]1 = µ1

[ ] – matriz diagonal

1) predicao:

Aδx = 0A′δy + δz = 0

[z]δx + [x]δz = µ1− [x][z]1

2) correcao:

A~x = 0A′~y + ~z = 0

[z]~x+ [x]~z = µ1− [x][z]1− [δx][δz]1

Page 179: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

VARIAVEIS CANALIZADAS

min{ c′x : Ax = b, x+ s = d, x, s≥0 }

max{ b′y − d′w : A′y + z − w = c, z, w≥0 }

XZ1 = 0, SW1 = 0

A cada iteracao obtem solucao aproximada do sistema

Ax = bx+ s = d

A′y + z − w = cXZ1 = µ1SW1 = µ1

A~x = 0~x+ ~s = 0

A′~y + ~z − ~w = 0X~z + Z~x = µ1−XZ1S ~w +W~s = µ1− SW1

onde µ← (z′x+ w′s)/nmatriz escalada do sistema SPD em ∆y: A(X-1Z + S-1W )-1A′

Page 180: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

VARIAVEIS LIVRES

variavel livre x ⇚ x+ − x-, x+, x-≥0

Mantem a estrutura de esparsidade dos dados

Page 181: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

VI - PL NA PRATICA

Page 182: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Modelagem Algebrica

Forma padrao estendida:

• objetivo: minimizar ou maximizar

• variaveis: livres, nao-negativas ou canalizadas

• restricoes: equacoes, desigualdades ou canalizadas

• pos-otimizacao: variacao de coeficiente

• entrada: formato MPS

extras: pontos interiores, fluxo em redes, prog.quadratica (obj),

prog.nao-linear, prog.inteira/combinatoria

– permite construir o modelo em linguagem algebrica

Page 183: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

MATLAB: MATrix LABoratory

[]=glpk(A,b,c)

Page 184: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

>> ##### dados originais #####c = 0 0 0 0 0 0 0 0 1 1 1Ab= 1.00 0.00 0.00 -1.00 1.00 2.00 2.00 -0.20 1.00 0.00 0.00 3.20Ab= 0.00 1.00 0.00 1.00 -2.00 1.00 -2.00 0.40 0.00 1.00 0.00 5.60Ab= 0.00 0.00 1.00 -1.00 0.00 2.00 1.00 0.20 0.00 0.00 1.00 7.80e = 0 0 0 0 0 0 0 0 0 0 0d = 4 4 4 4 4 4 99 4 99 99 99##### solucao basica inicial (s=8) #####

xb y ------ B1 ------B1= 9 1.00 1.00 0.00 0.00B1= 10 1.00 0.00 1.00 0.00B1= 11 1.00 0.00 0.00 1.00z = -1.00 -1.00 -1.00 1.00 1.00 -5.00 -1.00 -0.40 0.00 0.00 0.00xb= -1 -1 -1 -1 -1 -1 -1 -1 0 0 0x = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.20 5.60 7.80dx= 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.20 -0.40 -0.20##### entra x8=0 sai x8=4 (s=7) #####

xb y ------ B1 ------B1= 9 1.00 1.00 0.00 0.00B1= 10 1.00 0.00 1.00 0.00B1= 11 1.00 0.00 0.00 1.00

Page 185: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

z = -1.00 -1.00 -1.00 1.00 1.00 -5.00 -1.00 -0.40 0.00 0.00 0.00xb= -1 -1 -1 -1 -1 -1 -1 1 0 0 0x = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.00 4.00 4.00 7.00dx= 0.00 0.00 0.00 0.00 0.00 0.00 1.00 0.00 -2.00 2.00 -1.00##### entra x7=0 sai x9=0 (s=3) #####

xb y ------ B1 ------B1= 7 0.50 0.50 0.00 0.00B1= 10 1.00 1.00 1.00 0.00B1= 11 1.00 -0.50 0.00 1.00z = -0.50 -1.00 -1.00 0.50 1.50 -4.00 0.00 -0.50 0.50 0.00 0.00xb= -1 -1 -1 -1 -1 -1 0 1 -1 0 0x = 0.00 0.00 0.00 0.00 0.00 0.00 2.00 4.00 0.00 8.00 5.00dx= 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -1.00##### entra x3=0 sai x3=4 (s=6) #####

xb y ------ B1 ------B1= 7 0.50 0.50 0.00 0.00B1= 10 1.00 1.00 1.00 0.00B1= 11 1.00 -0.50 0.00 1.00z = -0.50 -1.00 -1.00 0.50 1.50 -4.00 0.00 -0.50 0.50 0.00 0.00xb= -1 -1 1 -1 -1 -1 0 1 -1 0 0x = 0.00 0.00 4.00 0.00 0.00 0.00 2.00 4.00 0.00 8.00 1.00

Page 186: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

dx= 0.00 0.00 0.00 0.00 0.00 1.00 -1.00 0.00 0.00 -3.00 -1.00##### entra x6=0 sai x11=0 (s=3) #####

xb y ------ B1 ------B1= 7 2.50 1.00 0.00 -1.00B1= 10 1.00 2.50 1.00 -3.00B1= 6 -3.00 -0.50 0.00 1.00z = -2.50 -1.00 3.00 -1.50 -0.50 0.00 0.00 0.70 -1.50 0.00 4.00xb= -1 -1 1 -1 -1 -1 0 1 -1 0 -1x = 0.00 0.00 4.00 0.00 0.00 1.00 1.00 4.00 0.00 5.00 0.00dx= 0.00 0.00 -1.00 0.00 0.00 1.00 -1.00 0.00 0.00 -3.00 0.00##### entra x3=4 sai x7=0 (s=4) #####

xb y ------ B1 ------B1= 3 -0.50 -1.00 0.00 1.00B1= 10 1.00 -0.50 1.00 0.00B1= 6 0.00 0.50 0.00 0.00z = 0.50 -1.00 0.00 -1.50 2.50 0.00 3.00 -0.50 1.50 0.00 1.00xb= -1 -1 0 -1 -1 0 -1 1 -1 0 -1x = 0.00 0.00 3.00 0.00 0.00 2.00 0.00 4.00 0.00 2.00 0.00dx= 0.00 0.00 0.00 1.00 0.00 0.50 0.00 0.00 0.00 -1.50 0.00##### entra x4=0 sai x10=0 (s=*) #####

xb y ------ B1 ------

Page 187: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

B1= 3 0.00 -1.00 0.00 1.00B1= 4 0.00 -0.33 0.67 0.00B1= 6 0.00 0.33 0.33 0.00z = 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.00 1.00 1.00xb= -1 -1 0 0 -1 0 -1 1 -1 -1 -1x = 0.00 0.00 3.00 1.33 0.00 2.67 0.00 4.00 0.00 0.00 0.00dx= 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00>>

Page 188: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Fonte

Compilador Executavel

Entrada

Solucao

❄❄

✲✲

compilador: FORTRAN, C, PASCAL, etc.

editor de texto para Fonte e Entrada

Page 189: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

MPS

Solver

Solucao

solver: CPLEX, MINOS, OSL, LINDO, etc.

editor de texto para MPS

Page 190: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Modelo Dados

Modelador

MPS

Solver

Solucao

❄ ❄

modelador: GAMS, AMPL, LINGO, etc.

editor de texto para Modelo e Dados

Page 191: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

ARQUIVOS: MPS

SOLVERS: CPLEX, MINOS, OSL, LINDO, PCx, MOMIP

MODELADORES: GAMS, AMPL, LINGO, MODLER

AMBIENTES: AIMMS, OPL Studio, XPRESS, MPL

Page 192: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Entrada MPS

NAME PRODROWS

N R00001

L R00002L R00003

L R00004COLUMNS

C00001 R00001 22.000000C00001 R00002 1.000000

C00001 R00003 2.000000

C00001 R00004 1.000000C00002 R00001 20.000000

C00002 R00002 2.000000C00002 R00003 1.000000

RHSRHSIDE R00002 600.000000

RHSIDE R00003 600.000000

RHSIDE R00004 250.000000ENDATA

Page 193: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Saıda MPS

SOLUTION FOR PROD

OBJECTIVE FUNCTION VALUE 8400.0000

VARIABLES:

COLUMN VALUE LOWER UPPER REDUCDED COST

C00001 200.0000 0.0000 INFINITY 0.0000

C00002 200.0000 0.0000 INFINITY 0.0000

CONSTRAINTS:

ROW LEVEL LOWER UPPER DUAL PRICE

R00002 600.0000 -INFINITY 600.00 8.000000

R00003 600.0000 -INFINITY 600.00 6.000000

R00004 200.0000 -INFINITY 250.00 0.000000

Page 194: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Quadro das Variaveis

coluna x d- d+ zX1 200 0 inf 0X2 200 0 inf 0

Quadro das Restricoes

linha Ax b- b+ yY 1 600 - inf 600 8Y 2 600 - inf 600 6Y 3 200 - inf 250 0

min{

c′x : b-≤Ax≤b+, d-≤x≤d+}

z=c-A′y

Page 195: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

LINDO: Linear, INteractive, and Discrete Optimizer

MAX -100X + 20A + 12B

ST

A - 10X < 0

A + B < 11

B < 7

END

Page 196: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

OPL: Optimization Programming Language

int+ m := 2, n := 3; File prod.dat

float c := [ 20, 22 ], b := [ 600, 600, 250 ];

float a := [ 1, 2; 2, 1; 1, 0 ];

int+ m, n; File prod.opl

float c[1..n], b[1..m], a[1..m,1..n];

var float+ x[1..n];

model prod

{ max sum( j:=1..n ) c[j]*x[j];

st{ forall( i:=1..m ) sum( j:=1..n ) a[i,j]*x[j]≤b[i]; }}solve prod;

Page 197: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

MS428 PROGRAMACAO LINEAR

OBJETIVO

Apresentar a Teoria de Programacao Linear, os principais mode-

los e os metodos de solucao computacionalmente mais eficientes.

Page 198: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

EMENTA

1. Introduc~ao – historico; resolucao grafica.

2. Formulac~ao – exemplos de modelos classicos: dieta, producao,

mistura, transporte, designacao, multiperıodo, multiproduto, etc.

3. Teoria basica – forma padrao; problema dual, condicoes de

complementaridade, teoremas basicos; propriedades de factibili-

dade e direcoes factıveis.

4. Metodo Simplex – solucoes basicas, metodo simplex primal,

inicializacao, metodo simplex dual, pos-otimizacao, analise pa-

rametrica, geometria.

5. Metodo de Pontos Interiores – definicoes, metodo seguidor

de caminho, metodo de predicao e correcao, variaveis canaliza-

das, variaveis livres.

6. Programac~ao Linear na pratica – pacotes, protocolos de en-

trada, protocolos de saıda, modelagem algebrica.

Page 199: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

BIBLIOGRAFIA

• Bazaara, Jarvis & Sherali, Linear Programming and Network Flows, Wiley

• Murty, Linear and Combinatorial Programming, Wiley

• Bregalda, Oliveira & Bornstein, Introducao a Programacao Linear, Campus

• Puccini & Pizzolato, Programacao Linear, Livros Tecnicos

• Hadley, Programacao Linear, Guanabara Dois

• Schrijver, Theory of Linear and Integer Programming, Wiley

• Chvatal, Linear Programming

• Gonzaga, Algoritmos de Pontos Interiores para Programacao Linear, 17o.

Coloquio Brasileiro de Matematica - IMPA/CNPq

Page 200: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

MS428 AVALIACAO 1s13

3as. 14-16h CB09 × 5as. 14-16h CB06

inıcio: 01/08, fim: 30/11+17/12,

sem aulas: 07/09, 10,12,28/10, 2,15,16,20/11

Criterio:

P1: 31/10/13, P2: 14/11/13, E: 12/12/13

MP = ( P1 + P2 ) / 2

se MP≥5, aprovado

se MP<5, faz exame E e MF=(MP+E)/2

se MF≥5, aprovado

se MF<5, reprovado

obs. Alunos aprovados com MP≥5 podem ter acrescimo de ate

um ponto na media final baseado na media de testes de 15min.

Page 201: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

EXERCICIOS

SKU: Stock Keeping Unit

Page 202: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Fabricar produtos P1,P2 com insumos I1,I2,I3:

Ins \ Prod P1 P2 disponıvel

I1 11 21 210I2 A 12 22 220 bI3 13 23 230

demanda d 110 120 ≤lucro c $51 $52

a) Formular (variaveis): Maximizar o lucro total.

b) Venda casada: forcar venda de P1 que tem demanda menor

c) Vendas com propaganda em regiao nova: lucro c=[40,40]

d) Terceirizacao parcial da pintura: lucro c=[41,42]

e) Defeito de fabricacao causa ι=13% de reposicao

Page 203: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Formular (variaveis): Maximizar o lucro total.

☼ xj: qtde. de produto vendido

max{ c′x : Ax≤b, x≤d, x≥0 }

Page 204: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Venda casada: forcar venda de P1 que tem demanda menor

☼ xj: qtde. de produto vendido

max{ c′x : Ax≤b, x≤d, x1-x2≥0, x≥0 }

Page 205: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Vendas adicionais com propaganda em regiao nova: lucro c=[40,40]

☼ xj: qtde. de produto vendido sem propaganda

☼ sj: qtde. adicional de produto vendido com propaganda

max{ c′x+c′s : A(x+s)≤b, x≤d, x, s≥0 }

!© solucao otima com xj+sj>dj tem xj=dj pois cj>cj

Page 206: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Terceirizacao parcial da pintura:

lucro reduz para c=[41,42] na producao acima de x1+x2>f=200

☼ uj: qtde. de produto pintado na empresa

☼ vj: qtde. de produto pintado fora

max{ c′u+c′v : A(u+v)≤b, (u+v)≤d, u1+u2≤f, u, v≥0 }

Page 207: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Defeito de fabricacao causa ι=13% de reposicao

☼ wj: qtde. de produto fabricado

max{ (1-ι)c′w : Aw≤b, w≤(1+ι)d, w≥0 }

Page 208: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:

c 2 6 5 3 2 1 b-1 -1 0 0 1 1 1

A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 1

2 -1 -1

0 1 0

=

1 1 1

0 0 1

2 1 1

-1

a) problema artificial e solucao inicial para o metodo das 2 fases.

b) problema canonico de B e a sua solucao basica.

c) base B e otima?

d) valores de b1(=1) com B otima.

e) valores de c4(=3) com B otima.

f) valores de a22(=1) com B otima.

g) valores de c2(=6) com B otima.

h) obter solucao otima para c2=2 (atual 6).

i) obter solucao otima para b1=-3 (atual 1).

Page 209: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:

c 2 6 5 3 2 1 b-1 -1 0 0 1 1 1

A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 1

2 -1 -1

0 1 0

=

1 1 1

0 0 1

2 1 1

-1

a) problema artificial e solucao inicial para o metodo das 2 fases.

F1: min{ 1′w : Ax+ w = b, x, w≥0 }, Base B=I=B-1:

w=b=[1;2;3], x=0 y′=1′B-1=[1,1,1], z=c-A′y=[-1;-1;-1;0;0;0;0;0]

c 0 0 0 0 0 0 1 1 1 b-1 -1 0 0 1 1 1 0 0 1

A 2 1 1 -1 -1 0 0 1 0 2

0 1 0 1 0 -1 0 0 1 3

x x1 x2 x3 x4 x5 x6 w1 w2 w3

Page 210: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:

c 2 6 5 3 2 1 b-1 -1 0 0 1 1 1

A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 1

2 -1 -1

0 1 0

=

1 1 1

0 0 1

2 1 1

-1

b) problema canonico de B e a sua solucao basica.

min{ c′x : Ax = b, x≥0 }, A = B-1A =

1 1 1 0

1 0 1 -1

0 1 1 1

xB=b=B-1b=[6;3;7], x=[6;0;0;3;7;0], c′x=b′y=35

y′=[2,3,2]B-1=[6,4,7], z=c=c-A′y=[0;1;1;0;0;2]

. ?© base B e otima? Sim, b≥0, c≥0

Page 211: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:

c 2 6 5 3 2 1 b-1 -1 0 0 1 1 1

A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 1

2 -1 -1

0 1 0

=

1 1 1

0 0 1

2 1 1

-1

d) valores de b1(=1) com B otima.

b = [b1; 2; 3]

b = B-1b = [ b1+5; 3; 2b1+5 ]≥0: b1≥− 5/2

Page 212: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:

c 2 6 5 3 2 1 b-1 -1 0 0 1 1 1

A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 1

2 -1 -1

0 1 0

=

1 1 1

0 0 1

2 1 1

-1

e) valores de c4(=3) com B otima.

cB = [2; c4; 2]

y′ = [2, c4,2]B-1 = [ 6, 4, c4+4 ]

c = c-A′y = [ 0; 4-c4; 1; 0; 0; c4-1 ]≥0: c4 ∈ [1,4]

Page 213: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:

c 2 6 5 3 2 1 b-1 -1 0 0 1 1 1

A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 1

2 -1 -1

0 1 0

=

1 1 1

0 0 1

2 1 1

-1

f) valores de a22(=1) com B otima.

A2 = [−1; a22; 1]

c2 = c2-y′A2 = 6-[6,4,7][-1; a22; 1] = 5-4a22≥0: a22≤5/4

Page 214: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:

c 2 6 5 3 2 1 b-1 -1 0 0 1 1 1

A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 1

2 -1 -1

0 1 0

=

1 1 1

0 0 1

2 1 1

-1

g) valores de c2(=6) com B otima.

c2

c2 = c2 − y′A2 = c2 − [6,4,7][−1; 1; 1] = c2 − 5≥0: c2≥5

Page 215: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:c 2 2 5 3 2 1 b

-1 -1 0 0 1 1 1

A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 12 -1 -1

0 1 0

=

1 1 10 0 1

2 1 1

-1

h) obter solucao otima para c2=2 (atual 6).xB inv(B) x1 x2 x3 x4 x5 x6 b

◦ 1 -6 -4 -7 -3x1 0 1 1 1 1 6

x4 0 0 0 1 ➀ 3x5 0 2 1 1 0 7

• 1 -6 -4 -4 -1

x1 0 1 1 0 ➀ 3x2 0 0 0 1 -1 3

x5 0 2 1 1 1 7

∗ 1 -5 -3 -4 1 0 2 2 0 0

x6 0 1 1 0 3x2 0 1 1 1 6

x5 0 1 0 1 4

otimo 23:x=[0 6 0 0 4 3]

y=[5 3 4]z=[1 0 2 2 0 0]

Page 216: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax = b, x≥0} tem base B=[A1|A4|A5]:c 2 6 5 3 2 1 b

-1 -1 0 0 1 1 -3A 2 1 1 -1 -1 0 2

0 1 0 1 0 -1 3

B=

-1 0 12 -1 -1

0 1 0

=

1 1 10 0 1

2 1 1

-1

i) obter solucao otima para b1 = -3 (atual 1)

simplex dualxB inv(Q) x1 x2 x3 x4 x5 x6 = Q

1 -6 -4 -7 . 1 1 . . 2 -11 1 2 3 2

1 0 1 1 1 1 1 1 . . 0 2 0 -1 0 1

4 0 0 0 1 . 1 0 1 . -1 3 0 2 -1 -1

5 0 2 1 1 . 0 1 . 1 1 -1 0 0 1 0

Problema infactıvel L3: x3+x5+x6=-1

Dir.inf. yλ=[6 4 7]+λ[2 1 1] zλ=[0 1 1 0 0 2]+λ[0 0 1 0 1 1] b′yλ=11+λ

Page 217: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Primal: Dual? Folgas? x=[0, α, β]?

min x1 + 2x2 + x3suj x1 + 2x2 + 3x3 = 8

x1 + x2 + x3 ≥ 2x1 + x2 = 1x1 , x2 ≥ 0

Page 218: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Primal: Dual? Folgas? x=[0, α, β]?

min x1 + 2x2 + x3suj x1 + 2x2 + 3x3 = 8

x1 + x2 + x3 ≥ 2x1 + x2 = 1x1 , x2 ≥ 0

min[1 2 1]x[1 2 3]x = 8[1 1 1]x≥2[1 1 0]x = 1x1, x2≥0

max[8 2 1]y[1 1 1]y≤1[2 1 1]y≤2[3 1 0]y = 1y2≥0

([1 1 1]x-2)y2 = 0([1 1 1]y-1)x1 = 0([2 1 1]y-2)x2 = 0

P1,P3: α=1, β=2, ∴ x=[0,1,2] e factıvel

D3,C1,C3: y=[1/3,0,4/3] e complementar mas nao e factıvel

Portanto, x=[0, α, β] nao e otimo para nenhum par de valores α, β

Page 219: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Obter Vertice Otimo a partir de Otimo II.

c -1 3 2 2 5 8 7 b1 1 0 0 1 1 2 3

A -2 0 1 2 2 2 1 40 2 1 0 2 1 2 6

x 1 1 2 1 1 0 0

Page 220: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

c -1 3 2 2 5 8 7 b B-1

1 1 0 0 1 1 2 3A -2 0 1 2 2 2 1 4

0 2 1 0 2 1 2 6x 1 1 2 1 1 0 0

c . 0 . . 0 4 2x1 1 1 . . 1 1 2 3 1 0 0x4 . 0 . 1 1 3/2 3/2 2 1 1/2 -1/2

x3 . 2 1 . 2 1 2 6 0 0 1

A2=A1+2A3 A5=A1+A4+2A3

x =[ 1 1 2 1 1 0 0 ]

λ× ~x =[ 1 -1 2 0 0 0 0 ]

µ× ~x =[ 1 0 2 1 -1 0 0 ]

xλµ=[1+λ+µ,1-λ,2+2λ+2µ,1+µ,1-µ]≥0vertice x=[3,0,6,2,0,0,0] para λ=µ=1

intercessao de λ≤1 × µ≤1 (x2=x5=0)

1

−11−1−2λ

µ

Page 221: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Alocar pedidos P1:P6 a maquinas similares M1:M5.c: custos de producao de Pi em Mj,

a: tempos de maquina de Pi em Mj,b: disponibilidade da maquina de Mj,d: quantidade pedida de de Pi,

v: preco cobrado de Pia c d v

M1 M2 M3 M4 M5 M1 M2 M3 M4 M5 dmnd vendaP1 0.50 0.75 0.90 0.80 0.60 2.00 2.50 2.75 2.45 2.30 50 5.00P2 0.75 1.13 1.35 1.20 0.90 3.25 3.50 3.75 3.50 2.85 100 10.00P3 0.40 0.60 0.72 0.64 0.48 1.85 2.00 2.25 2.00 1.75 150 8.00P4 0.50 0.45 0.54 0.48 0.36 2.10 2.30 2.50 2.25 2.00 200 6.50P5 1.25 1.88 2.25 2.00 1.50 5.20 6.00 7.50 8.00 7.00 125 14.00P6 0.60 0.90 1.08 0.96 0.72 9.10 9.50 11.20 10.00 9.80 75 20.00

b 120 140 120 110 150

a) Maximizar lucro totalb) Nao alocar P1,P2 em M1,M2

c) Alocar P1,P2 em M1,M2

d) Alocar M1,M2 para P1,P2

e) Alocar M1,M2 para P1,P2 e P1,P2 em M1,M2

Page 222: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Maximizar lucro total

☼ xij: quantidade de Pi alocado em Mj

max

ij

(vi-cij)xij :∑

i

aijxij≤bj,∑

j

xij=di, x≥0

. ?© Nao alocar P1,P2 em M1,M2

xij=0, i=1:2, j=1:2

. ?© Alocar P1,P2 em M1,M2

xij=0, i∈1:2, j /∈1:2. ?© Alocar M1,M2 para P1,P2

xij=0, i/∈1:2, j∈1:2. ?© Alocar M1,M2 para P1,P2 e P1,P2 em M1,M2

xij=0, i∈1:2, j /∈1:2; xij=0, i/∈1:2, j∈1:2

Page 223: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© B=[A3, A4, A5] e otima com α, β, γ, λ, µ? min{c′x : Ax=b, x≥0}min [ 1 γ µ 0 1 ] x

suj

1 2 1 0 0

2 1 0 1 0

α 1 0 0 λ

x=

β6

2

B=

1 0 0

0 1 0

0 0 λ

=

1 0 0

0 1 0

0 0 1λ

-1

λ6=0

y′=[µ,0,1]B-1=[µ,0, 1λ], zN=cN-N ′y=[

1-µ-αλ≥0γ-2µ-1λ≥0

]

xB=B-1b=

β≥06≥02λ≥0

β≥0 λ(1-µ)≥α

λ>0 λ(γ-2µ)≥1

Page 224: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Resolver com simplex dual em x≥0

min [ 0 0 0 0 1 ] xsuj [ 1 2 -1 0 0 ] x = 6

[ 2 1 0 -1 0 ] x = 6[ 1 1 0 0 -1 ] x = 5

Page 225: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?©

min [ 0 0 0 0 1 ] xsuj [ 1 2 -1 0 0 ] x = 6

[ 2 1 0 -1 0 ] x = 6

[ 1 1 0 0 -1 ] x = 5

xB inv(Q) x1 x2 x3 x4 x5 = Q

1 0 0 1 1 1 . . . 5 1 0 0 1

3 . -1 0 0 -1 -2 1 . . -6 . -1 0 0

4 . 0 -1 0 -2 -1 . 1 . -6 . 0 -1 05 . 0 0 -1 -1 -1 . . 1 -5 . 0 0 -1

1 0 0 0 . 0 . . 1 0 1 0 0 0

3 . -1 0 1 . -1 1 . -1 -1 . -1 0 1

4 . 0 -1 2 . 1 . 1 -2 4 . 0 -1 21 . 0 0 1 1 1 . . -1 5 . 0 0 1

1 0 0 0 . . 0 . 1 0 1 0 0 0

2 . 1 0 -1 . 1 -1 . 1 1 . 2 0 1

4 . -1 -1 3 . . 1 1 -3 3 . 1 -1 21 . -1 0 2 1 . 1 . -2 4 . 1 0 1

otimo 0: x=[4;1;0;3;0], y=[0;0;0], z=[0;0;0;0;1]

Page 226: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Resolver com simplex primal 2 fases em x≥0

min [ 0 0 0 0 1 ] xsuj [ 1 2 -1 0 0 ] x = 6

[ 2 1 0 -1 0 ] x = 6[ 1 1 0 0 -1 ] x = 5

min [ 0 0 0 0 0 1 1 1 ] xsuj [ 1 2 -1 0 0 1 ] x = 6x≥0 [ 2 1 0 -1 0 1 ] x = 6

Fase1 [ 1 1 0 0 0 1 ] x = 5

Page 227: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

xB inv(Q) = As

◦ 1 -1 -1 -1 -17 -4x6 . 1 0 0 6 1

x7 . 0 1 0 6 2x8 . 0 0 1 5 1

• 1 -1 1 -1 -5 -2

x6 . 1 -1/2 0 3 3/2x1 . 0 1/2 0 3 1/2

x8 . 0 -1/2 1 2 1/2

⋄ 1 1/3 1/3 -1 -1 -1/2

x2 . 2/3 -1/3 0 2 -2/3x1 . -1/3 2/3 0 2 1/3

x8 . -1/3 -1/3 1 1 1/3

+ 1 0 0 0 0x2 . 0 -1 2 4

x1 . 0 1 -1 1x3 . -1 -1 3 3

z=[0,0,0,0,0,1,1,1]≥0 FIM DE F1B=[A2|A1|A3] e factıvel

Page 228: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

BASE B = [A2|A1|A3]

xB B-1 b A4

∗ 1 0 0 0 0 0x2 . 0 -1 2 4 1

x1 . 0 1 -1 1 -1

x3 . -1 -1 3 3 1

⋆ 1 0 0 0 0

x2 . 1 0 -1 1x1 . -1 0 2 4

x4 . -1 -1 3 3

otimos ∗, ⋆: z=[0,0,0,0,1]≥0αx∗+(1-α)x⋆: α∈[0,1]x∗=[1;4;3;0;0], x⋆=[4;1;0;3;0]

min[ 0 0 0 0 1 ] xsuj[ 1 2 -1 0 0 ] x = 6

x≥0 [ 2 1 0 -1 0 ] x = 6[ 1 1 0 0 -1 ] x = 5

min[ 1 1 0 0 0 ] x1

2

3

4

5

6

7

1 2 3 4 5 6 7◦ •⋄∗

⋆x1

x2

[x3]

[x4]

[x5]

Page 229: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Obter Vertice Otimo a partir de Otimo: min{c′x : Ax=b, x≥0}c 3 1 4 1 4 1 4 b

3 1 2 1 2 1 2 8A 2 0 2 1 1 1 1 5

1 0 1 0 0 1 1 3x 1 2 0 1 0 2 0

A1 A2 A4 A6

1 . . . 3 2 1. 1 . . 1 0 0 -. . 1 . 1 1 0 -. . . 1 1 1 1 -1 -1 -1 -1 . . .0 1 0 0 1 . . -0 -1 1 0 . 1 . -0 0 -1 1 . . 1 -

Teste de LI~x=[1; -1; 0; -1; 0; -1; 0], c′~x=0

pivos em (4,7), (3,6), (2,5){A6, A4, A2} sao LI

1 1 1

0 1 10 0 1

-1

=

1 -1 0

0 1 -10 0 1

x(λ) = [1;2;0;1;0;2;0]+ λ[1;-1;0;-1;0;-1;0]≥0, λ∈[-1, +1]

x(-1)=[0;3;0;2;0;3;0] x(+1)=[2;1;0;0;0;1;0] c′x(λ) = 8, ∀λ

Page 230: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Primal: Dual? Folgas? x=(0,1,2, α)?

min 10x1 + 8x2 + 6x3 + 5x4suj 2x1 + 2x2 + x3 + x4 ≥ 5

3x1 + 2x2 + 2x3 + x4 ≥ 93x1 + 3x2 + 2x3 + 2x4 = 13x1 , x2 ≥ 0

Page 231: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Primal: Dual? Folgas? x=(0,1,2, α)?

min 10x1 + 8x2 + 6x3 + 5x4suj 2x1 + 2x2 + x3 + x4 ≥ 5

3x1 + 2x2 + 2x3 + x4 ≥ 93x1 + 3x2 + 2x3 + 2x4 = 13x1 , x2 ≥ 0

min[10 8 6 5]x[2 2 1 1]x≥5[3 2 2 1]x≥9[3 3 2 2]x = 13x1, x2≥0

max[5 9 13]y[2 3 3]y≤10[2 2 3]y≤8[1 2 2]y = 6[1 1 2]y = 5y1, y2≥0

([2 2 1 1]x-5) y1 = 0([3 2 2 1]x-9) y2 = 0([2 3 3]y-10) x1 = 0([2 2 3]y-8) x2 = 0

P3: α=3 ∴ x=[0,1,2,3] e factıvel (P1..P4)

D3,D4,C4: y=[0,1,2] e complementar C1..C4 e e factıvel D1..D4

Portanto, x=[0; 1; 2;α] e otimo (obj=35) para α=3

Page 232: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Formular: ( variaveis! )

bk microcomputadores Mk, vendidos por vk, tem aik componentes

Ci (processador, disco rıgido, monitor, etc.) montados por cik, obtidos por

dij de fornecedores Fj com estoque qij.

Page 233: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Formular: ( variaveis! )

bk microcomputadores Mk, vendidos por vk, tem aik componentes

Ci (processador, disco rıgido, monitor, etc.) montados por cik, obtidos por

dij de fornecedores Fj com estoque qij.

☼ xijk – qtde de Ci fornecido por Fj em micro Mk (max. lucro)

max

ijk

(vk-cik-dij)xijk :∑

j

xijk=aikbk ∀ik,∑

k

xijk≤qij ∀ij, x≥0

+© Ci i∈I: fontes com potencia wi que alimentam Ci de consumo ωi

ij

ωixijk ≤∑

i∈Iwiaik

Page 234: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?©

+© Rℓ: fabricas com capacidade rℓ:∑

ijk xijkℓ≤rℓ☼ xijkℓ – qtde de Ci fornecido por Fj em micro Mk da fabrica Rℓ

• custo de transporte fornecedor-fabrica e fabrica-cliente

+© Hn: horizonte do plano (demanda bkn):∑

j xijkℓn=aikbkn☼ xijkℓn – qtde de Ci de Fj em micro Mk da fabrica Rℓ no mes n

• estoques de Ci, de micros e custos ao longo do horizonte.

Page 235: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Primal: Dual? Folgas? x=[α; 1; 2]?

max 3x1 + 4x2 + 3x3suj x1 + 2x2 + 2x3 ≤ 6

2x1 + 2x2 + x3 ≤ 2x1 + 2x2 + x3 = 4x1 , x2 ≥ 0

Page 236: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© Primal: Dual? Folgas? x=[α; 1; 2]?

max 3x1 + 4x2 + 3x3suj x1 + 2x2 + 2x3 ≤ 6

2x1 + 2x2 + x3 ≤ 2x1 + 2x2 + x3 = 4x1 , x2 ≥ 0

max[3 4 3]x[1 2 2]x≤6[2 2 1]x≤2[1 2 1]x = 4x1, x2≥0

min[5 9 13]y[1 2 1]y≥3[2 2 2]y≥4[2 1 1]y = 3y1, y2≥0

([1 2 2]x-6) y1 = 0([2 2 1]x-2) y2 = 0([1 2 1]y-3) x1 = 0([2 2 2]y-4) x2 = 0

P3: α=0 ⇒ x=[0;1;2] nao e factıvel (P1..P4)

Portanto, x=[α; 1; 2] nao e otimo para nenhum α

Page 237: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© min{c′x : Ax=b, x≥0}: α, β, γ, λ, µ para base otima B=[A1|A2|A3]?

c 0 µ 0 1 1 γ 1 b

1 0 0 1 1 1 0 βA 1 1 0 0 1 0 α 3

1 1 λ 1 0 0 0 6

B=

1 0 01 1 01 1 λ

=

1 0 0-1 1 0

0 -1λ1λ

-1

Page 238: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax=b, x≥0}: α, β, γ, λ, µ para base otima B=[A1|A2|A3]?

c 0 µ 0 1 1 γ 1 b

1 0 0 1 1 1 0 βA 1 1 0 0 1 0 α 3

1 1 λ 1 0 0 0 6

B=

1 0 01 1 01 1 λ

=

1 0 0-1 1 0

0 -1λ1λ

-1

y′=c′BB-1=[0, µ,0]B-1=[-µ, µ,0] λ6=0

cN=cN-N ′y=[1+µ; 1; γ+µ; 1-αµ]≥0 ∴

µ≥-1 µ+γ≥0 αµ≤1

b=B-1b=

β3-β3/λ

≥0 ∴ 0≤β≤3 λ>0

Page 239: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© FASE 1 para min{c′x : Ax=b, x≥0}?

c 0 0 0 1 1 1 1 b1 0 0 1 1 1 0 1

A 1 1 0 0 1 0 1 31 1 1 1 0 0 0 6

max{ 1′w : Ax+ w = b, x≥0, w≥0 }

x w bc 0 0 0 0 0 0 0 1 1 1

1 0 0 1 1 1 1 1 0 0 1A 1 1 0 0 1 0 1 0 1 0 3

1 1 1 1 0 0 0 0 0 1 6

Page 240: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© min{c′x : Ax=b, x≥0} tem base otima B=[A1|A2|A3]?

c 0 0 0 1 1 1 1 b1 0 0 1 1 1 0 1

A 1 1 0 0 1 0 1 31 1 1 1 0 0 0 6

B=

1 0 01 1 01 1 1

=

1 0 0-1 1 00 -1 1

-1

xB = b = B-1b = [1; 2; 3] x = [1; 2; 3; 0; 0; 0; 0]≥0

y′ = cBB-1 = [0,0,0] z = c = c− A′y = [0; 0; 0; 1; 1; 1; 1]≥0

Portanto, x e primal factıvel, (y, z) e dual factıvel e B e otima.

Page 241: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© min{c′x : Ax=b, x≥0}: iniciar simplex primal com B=[A1|A2|A3]

c 0 0 0 -1 1 1 1 b1 0 0 1 1 1 0 1

A 1 1 0 0 1 0 1 31 1 1 1 0 0 0 6

B=

1 0 01 1 01 1 1

=

1 0 0-1 1 00 -1 1

-1

Page 242: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax=b, x≥0}: iniciar simplex primal com B=[A1|A2|A3]

c 0 0 0 -1 1 1 1 b1 0 0 1 1 1 0 1

A 1 1 0 0 1 0 1 31 1 1 1 0 0 0 6

B=

1 0 01 1 01 1 1

=

1 0 0-1 1 00 -1 1

-1

xB inv(Q) x b Q

x0 1 0 0 0 . . . -1 1 1 1 0 1 0 0 0

x1 . 1 0 0 1 . . 1 1 1 0 1 . 1 0 0

x2 . -1 1 0 . 1 . -1 0 1 1 2 . 1 1 0

x3 . 0 -1 1 . . 1 1 -1 0 -1 3 . 1 1 1

x0 1 1 0 0 1 . . . 2 2 1 1 1 -1 0 0

x4 . 1 0 0 1 . . 1 1 1 0 1 . 1 0 0

x2 . 0 1 0 1 1 . . 1 0 1 3 . 0 1 0

x3 . -1 -1 1 -1 . 1 . -2 -1 -1 2 . 1 1 1

otimo -1: x=[0;3;2;1;0;0;0], y=[-1;0;0], z=[1;0;0;0;2;2;1]

Page 243: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© min{c′x : Ax=b, x≥0}: iniciar simplex dual com B=[A1|A2|A3]

c 0 0 0 1 1 1 1 b1 0 0 1 1 1 0 4

A 1 1 0 0 1 0 1 31 1 1 1 0 0 0 6

B=

1 0 01 1 01 1 1

=

1 0 0-1 1 00 -1 1

-1

Page 244: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

. ?© min{c′x : Ax=b, x≥0}: iniciar simplex dual com B=[A1|A2|A3]

c 0 0 0 1 1 1 1 b1 0 0 1 1 1 0 4

A 1 1 0 0 1 0 1 31 1 1 1 0 0 0 6

B=

1 0 01 1 01 1 1

=

1 0 0-1 1 00 -1 1

-1

xB inv(Q) x b Q

x0 1 0 0 0 . . . 1 1 1 1 0 1 0 0 0

x1 . 1 0 0 1 . . 1 1 1 0 4 . 1 0 0

x2 . -1 1 0 . 1 . -1 0 -1 1 -1 . 1 1 0

x3 . 0 -1 1 . . 1 1 -1 0 -1 3 . 1 1 1

x0 1 -1 1 0 . 1 . . 1 0 2 -1 1 0 1 0

x1 . 0 1 0 1 1 . . 1 0 1 3 . 1 1 0

x4 . 1 -1 0 . -1 . 1 0 1 -1 1 . 1 0 0

x3 . -1 0 1 . 1 1 . -1 -1 0 2 . 1 1 1

otimo 1: x=[3;0;2;1;0;0;0], y=[1;-1;0], z=[0;1;0;0;1;0;2]

Page 245: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

?© Obter Vertice

c 0 0 0 1 1 1 1 b1 0 0 1 1 1 0 1

A 1 1 0 0 1 0 1 31 1 1 1 0 0 0 6

x 13

43

133 0 1

313 1

xB -2 -1 . 0 -1 . . bx6 1 0 . 1 1 1 . 1x7 1 1 . 0 1 . 1 3x3 1 1 1 1 0 . . 6

x . . 6 . . 1 3x=[0;0;6;0;0;1;3]: Vertice da base B=[A6|A7|A3]

~x=[1;0;-1;0;0;-1;-1]: Direcao de λ ( A1=A6+A7+A3 )

~x=[0;1;-1;0;0;0;-1]: Direcao de µ ( A2=A7+A3 )

~x=[0;0;0;0;1;-1;-1]: Direcao de ν ( A5=A6+A7 )

xλµν=x+λ~x+µ~x+ν~x≥0 ∴ λ, µ, ν≥0, λ+µ≤6, λ+ν≤1, λ+µ+ν≤3

Page 246: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

PROVAS

Page 247: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

PROBLEMA min ⇐ | ⇒ max PROBLEMA

≥ | ≥0restricao = ⇐ | ⇒ livre variavel

≤ | ≤0≥0 | ≤

variavel livre ⇐ | ⇒ = restricao≤0 | ≥

A=[ B | N ] : A=B-1A, xB=b=B-1b, xN=0, y′=c′BB

-1, z=c=c-A′y

solucao factıvel basica (vertice) x : Ax=b, x≥0, { Aj : xj>0 } e LI

Page 248: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

MS428 PROVA I 2s13

Page 249: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Considere o PL abaixo:a) Escreva o problema dual.b) Escreva as condicoes de folgas complementares.c) Verifique se x=[2;α;β; 2] pode ser uma solucao otima.

P0: [6 4 3 4]x max

P1: [1 1 0 1]x ≤ 6P2: [1 1 1 0]x = 4P3: [1 0 1 1]x = 4P4: x3, x4 ≥ 0

D0: [6 4 4]y min

D1: [1 1 1]y = 6D2: [1 1 0]y = 4D3: [0 1 1]y ≥ 3D4: [1 0 1]y ≥ 4D5: y1 ≥ 0

F1: ([0 1 1]y − 3)x3 = 0F2: ([1 0 1]y − 4)x4 = 0F3: ([1 1 0 1]x− 6)y1 = 0

• P2,P3: α=2, β=0. x=[2;2;0;2] e factıvel (P1,P2,P3,P4)

• D1,D2,F2: y=[2;2;2] e dual factıvel (D1,D2,D3,D4)

• x, y sao complementares (F1,F2,F3)

∴ x=[2;2;0;2] e otimo com α=2, β=0

!© y=[3,2,1] nao e factıvel (✟✟✟❍❍❍D2)!

Page 250: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Considere o PL min{ c′x : Ax=b, x≥0 }:c 1 0 1 0 1 µ γ b

1 -1 1 1 1 0 0 βA 1 1 -1 0 1 -1 1 2

0 0 0 0 1 λ α 1

x 1 1 1 1 1 0 0

B=

1 -1 00 1 -10 0 λ

=

1 1 1λ

0 1 1λ

0 0 1λ

-1

a) B=[A4|A2|A6] e base otima para quais α, β, γ, µ, λ?

b) Com β=3, obter vertice a partir da solucao x=[1; 1; 1; 1; 1; 0; 0].

a) detB 6=0: λ6=0

b = B-1b = [β+2+1λ; 2+1λ;

1λ] ≥ 0: β+2+1λ≥0 λ>0

y′ = c′BB = [0,0, µ]B-1 = [0,0, µ/λ]

z = [1; 0; 1; 0; 1-µ/λ; 0; γ-αµ/λ] ≥ 0: γλ≥αµ λ≥µ

Page 251: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

b) A1=2A4+A5, A3=-A2, vertices x=[0;1;0;3;1;0;0], x=[1;0;0;1;1;0;0]

xB inv(Q) x1 x2 x3 x4 x5 x6 x7 = Q

x0 1 0 0 0 1 . 1 . 1 . 1 0 1 0 0 0

x4 . 1 1 -0 2 . 0 1 2 . 1 5 . 1 -1 1

x2 . 0 1 1 1 1 -1 . 2 . 2 3 . 0 1 -1

x6 . 0 0 1 0 . 0 . 1 1 1 1 . 0 0 1

x0 1 0 0 -1 1 . 1 . . -1 0 -1 1 0 0 1

x4 . 1 1 -2 2 . 0 1 . -2 -1 3 . 1 -1 1

x2 . 0 1 -1 1 1 -1 . . -2 0 1 . 0 1 1

x5 . 0 0 1 0 . 0 . 1 1 1 1 . 0 0 1

Page 252: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Considere o PL min{ c′x : Ax=b, x≥0 }c 1 0 1 0 1 0 -1 b

1 -1 1 1 1 1 0 3A 1 1 -1 0 1 -1 1 2

0 0 0 0 1 1 1 1

B-1=

1 -1 00 1 -10 0 1

-1

=

1 1 10 1 10 0 1

a) PL canonico A, b, c e solucao basica (x, y, z) de B=[A4|A2|A6]

b) Obtenha solucao otima (x, y, z) com o simplex.

c) Equacao da aresta xλ=x+λ~x do primeiro pivoteamento em (b).

Page 253: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

b) x=[0;3;0;6;0;1;0], y=[0;0;0], z=[1;0;1;0;1;0;-1], obj=0

xB inv(Q) c / A b Q

c 1 0 1 0 1 0 -1 0

1 -1 1 1 1 1 0 3

A 1 1 -1 0 1 -1 1 2

0 0 0 0 1 1 1 1

x0 1 0 0 0 1 . 1 . 1 . -1 0 1 0 0 0

x4 . 1 1 1 2 . 0 1 3 . 2 6 . 1 -1 0

x2 . 0 1 1 1 1 -1 . 2 . 2 3 . 0 1 -1

x6 . 0 0 1 0 . 0 . 1 1 1 1 . 0 0 1

x0 1 0 0 1 1 . 1 . 2 1 . 1 1 0 0 -1

x4 . 1 1 -1 2 . 0 1 1 -2 . 4 . 1 -1 0

x2 . 0 1 -1 1 1 -1 . 0 -2 . 1 . 0 1 1

x7 . 0 0 1 0 . 0 . 1 1 1 1 . 0 0 1

otimo=-1: x=[0;1;0;4;0;0;1], y=[0;0;-1], z=[1;0;1;0;2;1;0]c) xλ = x+ λ~x =[0;3;0;6;0;1;0]+λ[0;-2;0;-2;0;-1;1]ou xλ = x+ λ~x =[0;1;0;4;0;0;1]−λ[0;-2;0;-2;0;-1;1]

Page 254: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Minimizar o custo de alocacao dos pedidos P1,P2,P3,P4 as maquinas M1,M2 (em paralelo).

αij - tempo de cada unidade de Pi em Mj,βi - quantidade pedida em Pi,δj - disponibilidade de Mj,γj - custo unitario de producao em Mj.

α P1 P2 P3 P4 δ γM1 2 3 3 4 1200 22M2 4 5 6 5 1500 45

β 110 120 130 140

Formule 2 PL’s identificando as variaveis de decisao:

a) Sem condicoes adicionais.

b) P2 requer urgencia (mostre como abordar esta exigencia).

Page 255: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

a) xij: tempo da maquina Mj alocado para o pedido Pi.

min{ ∑

ij

γjxij :∑

i

xij ≤ δj,∑

j

xij/αij = βi, x≥0}

b) fazer x21=x22 e alocar P2 no inıcio em ambas as maquinas.

min{ ∑

ij γjxij :∑

i xij≤δj,∑

j xij/αij = βi, x21-x22 = 0, x≥0 }Comparar otimos de (a),(b) para estimar custo de urgencia.

ou©

a) qij: qtde do pedido Pi alocado na maquina Mj.

min{ ∑

ij

γjαijqij :∑

j

qij = βi,∑

i

αijqij ≤ δj, q≥0}

b) fazer α21q21=α22q22 e alocar P2 no inıcio nas maquinas.

min{ ∑

ij γjαijqij :∑

j qij=βi,∑

i αijqij≤δj, α21q21-α22q22=0, q≥0 }

Page 256: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

MS428 PROVA II 2s13

Page 257: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Considere o PL abaixo:Escreva o problema dual.Escreva as condicoes de folgas complementares.Verifique se x=[1; 1; 1;α] pode ser uma solucao otima.

P0: [2 1 1 3]x min

P1: [1 1 0 1]x = 2P2: [1 1 1 0]x ≥ 2P3: [1 0 1 1]x ≥ 2P4: x3, x4≥0

D0: [2 2 2]y max

D1: [1 1 1]y = 2D2: [1 1 0]y = 1D3: [0 1 1]y ≤ 1D4: [1 0 1]y ≤ 3D5: y2, y3≥0

F1: ([0 1 1]y − 1)x3 = 0F2: ([1 0 1]y − 3)x4 = 0

F3: ([1 1 1 0]x− 2)y2 = 0F4: ([1 0 1 1]x− 2)y3 = 0

• P1: α=0. x=[1;1;1;0] e factıvel (P1,P2,P3,P4X)

• D1,D2,F1: y=[1;0;1] e dual factıvel (D1,D2,D3,D4,D5X)

• x, y sao complementares (F1,F2,F3,F4X)

∴ x=[1;1;1;0] e otimo com α=0

Page 258: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Considere o PL padrao min{ c′x : Ax=b, x≥0 }c δ 0 0 1 1 γ 1 b

1 1 1 0 0 0 0 3A 1 0 1 0 -1 1 -1 β

1 0 0 -1 0 1 α 0

x 1 1 1 1 1 0 0

B=

1 1 10 1 10 0 1

=

1 -1 00 1 -10 0 1

-1

Obtenha condicoes entre α, β, γ, δ para que B=[A2|A3|A1] seja base otima.

Faca β=1 e obtenha um vertice com x6=x7=0 a partir de x=[1; 1; 1; 1; 1; 0; 0].

detB 6=0:

b=[3-β;β;0]≥0: 0≤β≤3y′=[0,0,δ]B-1=[0,0,δ]

z=[0;0;0;1+δ;1;γ-δ;1-αδ]≥0: αδ≤1 -1≤δ≤γ

!© ✘✘✘✘✘✘❳❳❳❳❳❳α≤1/δ, ✘✘✘✘✘✘❳❳❳❳❳❳δ≤1/α s~ao incorretas pois pressup~oem denominador n~ao-nulo

Page 259: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

A4=A3-A1, A5=A2-A3: vertice x=[0;2;1;0;0;0;0;0]

xB inv(Q) x1 x2 x3 x4 x5 x6 x7 = Q

0 1 0 0 -1 0 0 0 2 1 -2 2 0 1 0 0 1

2 0 1 -1 0 0 1 0 0 1 -1 1 2 0 1 1 1

3 0 0 1 -1 0 0 1 1 -1 0 0 1 0 0 1 1

1 0 0 0 1 1 0 0 -1 0 1 -1 0 0 0 0 1

x 1 1 1 1 1 0 0

ou© x=[1;2;0;1;0;0;0]

!©✭✭✭✭✭✭✭✭✭✭✭✭✭✭✭✭✭✭✭❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤x=[0;1;2;0;1;0;0] nao e vertice pois {A2|A3|A5} nao e LI

Page 260: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Considere o PL padrao min{ c′x : Ax=b, x≥0 }c 1 0 0 1 1 -1 1 b

1 1 1 0 0 0 0 3A 1 0 1 0 -1 1 -1 1

1 0 0 -1 0 1 -1 0

B-1=

1 -1 00 1 -10 0 1

=

1 1 10 1 10 0 1

-1

Escreva o PL canonico e a solucao basica (x, y, z) da base B=[A2|A3|A1]

Obtenha solucao otima (x, y, z) com o simplex.

Escreva a equacao da aresta xλ=x+λ~x do primeiro pivoteamento em (b).

Page 261: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

x=[0;2;1;0;0;0;0], y=[0;0;1], z=[0;0;0;2;1;-2;2], obj=0

xB inv(Q) c / A b Q

1 0 0 1 1 -1 1 0

1 1 1 0 0 0 0 3

1 0 1 0 -1 1 -1 1

1 0 0 -1 0 1 -1 0

0 1 0 0 -1 0 0 0 2 1 -2 2 0 1 0 0 1

2 0 1 -1 0 0 1 0 0 1 -1 1 2 0 1 1 1

3 0 0 1 -1 0 0 1 1 -1 0 0 1 0 0 1 1

1 0 0 0 1 1 0 0 -1 0 1 -1 0 0 0 0 1

0 1 0 0 1 2 0 0 0 1 0 0 0 1 0 0 -1

2 0 1 -1 1 1 1 0 -1 1 0 0 2 0 1 1 0

3 0 0 1 -1 0 0 1 1 -1 0 0 1 0 0 1 1

6 0 0 0 1 1 0 0 -1 0 1 -1 0 0 0 0 1

x=[0;2;1;0;0;0;0], y=[0;0;-1], z=[2;0;0;0;1;0;0], obj=0

xλ = x+ λ~x =[0;2;1;0;0;0;0]+λ[-1;1;0;0;0;1;0]

Page 262: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

Fabrica de 3 departamentos D1..D3 produz 4 moveis M1..M4.

αij: horas de producao de cada unidade de movel nos deptosγj: lucro de cada unidade de movel Mjδi: disponibilidade de horas de cada departamento Di

α mesa cadeira armario estante δCorte 6 2 4 4 500

Montagem 10 6 8 7 1200Acabamento 10 8 8 7 800

γ 175 95 145 130

Formular PL para maximizar o lucro.

Estimar o ganho de terceirizar parte do corte para aumentar a disponibili-

dade dos departamentos para δ+ = [700,1200,800]

Page 263: PROGRAMAC¸AO LINEAR˜ - ime.unicamp.brclovis/ms428/slide.pdf · Aplicaco˜es em Manufatura •avalia¸c˜ao de capital para equipamentos •reduc¸˜ao de estoque em processo (work-in-process)

xj: producao do movel Mj.

obj⋆ = max{

j γjxj :∑

j αijxj≤δi, x≥0}

(x⋆, y⋆, z⋆)

ganho = obj+-obj⋆ onde

obj+ = max{

j γjxj :∑

j αijxj≤δ+i , x≥0}

(x+, y+, z+)

!© y⋆1: ganho de 1h extra de corte, enqto base otima se mantem: B-1

1200800

]

≥0