programação linear/inteira - aula 5 · programação linear/inteira - aula 5 prof. thiago alves...
TRANSCRIPT
Unidade de Matemática e Tecnologia - RC/UFG
Programação Linear/Inteira - Aula 5
Prof. Thiago Alves de Queiroz
Aula 5
Thiago Queiroz (IMTec) Aula 5 Aula 5 1 / 43
Análise de Sensibilidade
Estudar o efeito de perturbar os dados de um problema deotimização linear;Particularmente, o vetor de recursos b e o vetor de custos c;Seja o problema primal na forma padrão:
F (b) = Minimizar z = cTx
sujeito a :
{Ax = bx ≥ 0.
(1)
Sendo F(b) o valor mínimo da função objetivo para um vetor derecursos b;As relações primais-duais fornecem subsídios para estudar aperturbação nos dados do problema;
Thiago Queiroz (IMTec) Aula 5 Aula 5 2 / 43
Perturbação no Vetor de Recursos
Se o vetor de recursos for alterado, então a solução ótima doproblema anterior também se altera (e F(b)) também;Suponha que o problema original tenha sido resolvido, comsolução básica primal ótima: xB = B−1b, xN =0.A solução dual básica ótima é: λT = cT
B B−1.Portanto a expressão da função objetivo para um vetor b:F (b) = cT
B xB = cTB B−1b = λT b = b1λ1 + b2λ2 + . . .+ bmλm;
Sendo F diferenciável: pequenas alterações em b não fazemmudar a base ótima, tal que λ não se altera. Então:∂F (b)∂bi
= λi , para i = 1,2, . . . ,m;
Thiago Queiroz (IMTec) Aula 5 Aula 5 3 / 43
Perturbação no Vetor de Recursos
Note que λi (o vetor multiplicador simplex) fornece a taxa devariação com relação ao vetor de recursos b.A unidade de λibi deve ser a mesma da função objetivo;Ou seja, se função objetivo representa custo em R$, então λibitambém deve ser na mesma grandeza (R$);Portanto, a unidade de λi deve ser (unidade da funçãoobjetivo)/(unidade do recurso i), podendo ser interpretada comopreço de uma unidade de i ;
Thiago Queiroz (IMTec) Aula 5 Aula 5 4 / 43
Perturbação no Vetor de Recursos
Ao fazer uma pequena perturbação em bi de δi , sem que asolução básica atual deixe de ser factível, tem-se:F (b1, . . . ,bi + δi ,bm) = b1λ1 + . . .+ (bi + δi) + . . .+ bmλm == F(b) + δiλi ,Ou seja, a função objetivo é modificada por δiλi ;Por outro lado, para saber quais valores bi pode assumir semalterar a otimalidade da base corrente, deve-se calcular ointervalo: [bi + δi bi + δi ]
Em que δi e δi são os limites mínimo e máximo para δi ;Para determinar estes limites, deve-se resolver, dado o primal:B−1(b + ∆) = xB + B−1∆ ≥ 0, com ∆ = (0 . . . δi . . . 0);
Thiago Queiroz (IMTec) Aula 5 Aula 5 5 / 43
Exemplo
Exemplo. No seguinte problema de programação linear:
(Primal) Minimizar z = x1 + x2 + x3
sujeito a :
45 x1 + 2
5 x2 = 10835 x2 + 9
10 x3 = 120x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.
(2)
A função objetivo mede o peso (em toneladas) de bobinas deferro a cortar;Cada restrição está associada a um tipo de sub-bobina de ferro,tal que o vetor de recursos representa à demanda de cadasub-bobina em toneladas.a) Verifique a perturbação no vetor de recursos b para cadarestrição individualmente;b) Qual o intervalo de variação nos valores do recurso dasegunda restrição que mantém a base corrente ótima?
Thiago Queiroz (IMTec) Aula 5 Aula 5 6 / 43
Resolução...
1. Obtenha a solução do primal usando o simplex (em tabelas),qual seja: x1 = 35, x2 = 200, x3 = 0, com valor da função objetivoz = 235;Observando z, tem-se que 235 toneladas de bobinas sãonecessárias para atendar a demanda de b1 = 108 e b2 = 120toneladas de sub-bobinas do tipo 1 e 2, respectivamente;2. Obtenha o dual e sua solução:
(Dual) Maximizar g(λ) = 108λ1 + 120λ2
sujeito a :
45λ1 + 0λ2 + µ1 = 125λ1 + 3
5λ2 + µ2 = 10λ1 + 9
10λ2 + µ3 = 1λ1 ∈ R, λ2 ∈ R, λ3 ∈ R.
(3)
Em que: µ1, µ2, µ3 ≥ 0 são as variáveis de folga do dual.A solução do dual pode ser obtida por meio da Propriedade 14,ou seja, calculando λT = cBB−1, sendo B−1 a inversa de B quelevou à solução ótima do primal.
Thiago Queiroz (IMTec) Aula 5 Aula 5 7 / 43
Resolução...
Obtém-se B−1 da última iteração do simplex, que é:
B−1 =
[54 −5
60 5
3
];
Logo, λT = cTB B−1 = (1 1)
[54 −5
60 5
3
]= (5
456);
Então, a solução ótima do dual é: λ1 = 54 e λ2 = 5
6 .3. Analise a perturbação no vetor de recursos b para cadarestrição individualmente, sabendo que:F(b) = z→ F (b1,b2) = b1λ1 + b2λ2;Para a primeira restrição do primal, isto é, 4
5x1 + 25x2 = 108,
tem-se a pertubação δ1 no recurso b1 = 108, tal que:F (108 + λ1,120) = F (b) + δ1λ1 = 235 + 5
4δ1;Isto significa que a cada tonelada a mais da sub-bobina do tipo 1demandada é necessário cortar 5
4 toneladas a mais de bobina.
Thiago Queiroz (IMTec) Aula 5 Aula 5 8 / 43
Resolução...
Fazendo a análise para a segunda restrição, isto é,35x2 + 9
10x3 = 120, tem-se a pertubação δ2 no recurso b2 = 120,tal que:F (108,120 + λ2) = F (b) + δ2λ2 = 235 + 5
6δ2;Isto significa que a cada tonelada a mais da sub-bobina do tipo 2demandada é necessário cortar 5
6 toneladas a mais de bobina;Observando as duas pertubações, note que é mais vantajosoestimular a demanda de sub-bobinas do tipo 2 do que do tipo 1,pois a função objetivo busca minimizar e λ2 = 5
6 < λ1 = 54 .
Estas valores são tendências e são válidos apenas parapequenas pertubações na demanda;
Thiago Queiroz (IMTec) Aula 5 Aula 5 9 / 43
Resolução...
Na letra (b) deve-se calcular o intervalo de variação para osvalores da segunda restrição, ou seja, para b2;1. Usamos a expressão xB + B−1∆ ≥ 0, em que xB é a soluçãobásica ótima do primal, B−1 é a inversa da matriz básicaassociada a esta solução, e ∆ = (δ1 δ2);Observando a solução ótima do primal na última iteração do
simplex, temos xB = (x1 x2) = (35 200) e B−1 =
[54 −5
60 5
3
];
Como se quer o intervalo apenas para a segunda restrição, entãoδ1 = 0;
Logo: xB + B−1∆ ≥ 0→(
35200
)+[5
4 −56
0 53
](0δ2
)=(
35 + 56δ2
200 + 53δ2
)≥(
00
)
Thiago Queiroz (IMTec) Aula 5 Aula 5 10 / 43
Resolução...
Isto resulta na resolução do seguinte sistema de equações:35 + 5
6δ2 ≥ 0200 + 5
3δ2 ≥ 0
Que fornece −120 ≤ δ2 ≤ 42, ou seja, δi = −120 e δi = 42;
2. Montar o intervalo: [bi + δi bi + δi ];Note que i = 2, com b2 = 120, tal que qualquer δ2 ∈ [0 162]implica que a base não deixará de ser ótima.Além disso, o valor de λ2 = 5
6 fornece a taxa de variação nafunção objetivo com a variação de b2;Esta informação é útil para o decisor, que pode analisar até queponto um recurso pode ser alterado sem que as atividadesrelevantes para uma solução sejam alteradas, ou seja, semalterar o vetor de variáveis básicas.
Thiago Queiroz (IMTec) Aula 5 Aula 5 11 / 43
Pertubação nos Custos
Considere que uma solução básica ótima tenha sido encontradapara o problema de otimização linear:
F (b) = Minimizar z = cTx
sujeito a :
{Ax = bx ≥ 0.
(4)
Deseja-se analisar o efeito da alteração de algum coeficiente dafunção objetivo;Ou seja, suponha que se queira alterar ck para c′k = ck + δ;Esta alteração não torna infactível a solução ótima já encontrada;Porém, a solução pode deixar de ser uma solução ótima;Analisa-se o caso em que a variável, xk associada ao custo ck ,pode ser básica ou não-básica.
Thiago Queiroz (IMTec) Aula 5 Aula 5 12 / 43
Pertubação nos Custos
Seja o caso em que xk é não-básica primeiro;Note que o vetor cB não é alterado;Logo, o vetor multiplicado simplex λT = cB
T B−1 associado àpartição básica ótima não se altera;Apenas o custo relativo da variável xk , denotado porck = cK − λT ak é alterado para um c′k , ou seja:c′k = c′k − λT ak = (ck + δ)− λT ak = ck + δ;Isto é, o novo custo relativo é simplesmente alterado pela adiçãode δ ao antigo custo relativo;Se c′k = ck + δ ≥ 0, então a solução ótima não se altera (lembreda condição de parada do simplex).Se c′k = ck + δ < 0, então a solução deixa de ser ótima (e osimplex escolheria xk para entrar na base).
Thiago Queiroz (IMTec) Aula 5 Aula 5 13 / 43
Pertubação nos CustosNote que δ < 0 deve ocorrer para que a solução se altere;Mais precisamente, se δ < −ck , então a variável xk deve seraumentada para reduzir ainda mais a função objetivo;Exemplo. Considere o problema abaixo de um fabricante degeladeiras. Um novo modelo superluxo está sendo estudado edeseja-se saber qual é o lucro unitário mínimo desse produto(preço de venda menos o custo do produto) que torna suaprodução economicamente viável em relação aos demaisprodutos;
Maximizar z = 100xluxo + 50xbasico
sujeito a :
10xluxo + 8xbasico + x1 = 25.000xluxo + xbasico + x2 = 4.500xluxo + x3 = 1.500xbasico + x4 = 6.000xluxo ≥ 0, xbasico ≥ 0, x1, x2, x3, x4 ≥ 0.
(5)
O novo modelo superluxo requer 16 homens/hora (restrição 1) ecompartilha a linha de montagem (restrição 2).
Thiago Queiroz (IMTec) Aula 5 Aula 5 14 / 43
Resolução...
1. Obter a base ótima e as soluções básicas ótimas, primal edual, ou seja:
B = [aluxo abasico a2 a4] =
10 8 0 01 1 1 01 0 0 00 1 0 1
, com
xB =
xluxo
xbasicox2x4
=
1500125017504750
, e com λ =
λ1λ2λ3λ4
=
25407520
.
2. Definir a variável xsluxo como a quantidade a produzir e lsluxocomo o lucro unitário. Isto resulta em uma modificação no modelooriginal;Lembre-se das restrições a serem inseridas para este novomodelo: homens/hora e participar da linha de montagem;Logo, o modelo resultante (uma nova coluna foi inserida) é:
Thiago Queiroz (IMTec) Aula 5 Aula 5 15 / 43
Resolução...
Maximizar z = 100xluxo + 50xbasico + lsluxoxsluxo
sujeito a :
10xluxo + 8xbasico + 16xsluxo + x1 = 25.000xluxo + xbasico + xsluxo + x2 = 4.500xluxo + x3 = 1.500xbasico + x4 = 6.000xluxo ≥ 0, xbasico ≥ 0, x1, x2, x3, x4 ≥ 0.
(6)
A variável xsluxo é economicamente viável se pertencer à baseótima deste novo problema;Caso contrário, será não básica e seu nível de produção seránulo;3. Calcular o custo relativo da nova variável, que deve sernão-negativo, pois o problema é da maximização;
Thiago Queiroz (IMTec) Aula 5 Aula 5 16 / 43
Resolução...
Custo relativo da variável xsluxo:
lsluxo − λT asluxo = lsluxo − (254 0 75
2 0)
16100
= lsluxo − 100 ≥ 0;
Portanto, se lsluxo ≥ 100, o novo modelo superluxo é viáveleconomicamente em relação aos demais produtos;Neste caso, contribuirá para o lucro da empresa se for produzido;Caso contrário, a empresa precisa aumentar o seu preço oureduzir seu custo unitário de produção, de modo que o lucrounitário resulte em lsluxo ≥ 100;Observe que, se lsluxo = 100, então o custo relativo é nulo,indicando que existem soluções ótimas alternativas;Neste caso, poderia ser não vantajoso investir na produção deoutro produto, como a superluxo.
Thiago Queiroz (IMTec) Aula 5 Aula 5 17 / 43
Pertubação nos Custos
Seja o caso em que xk é básica;Suponha que esta seja a r-ésima variável básica: xBr = xk ;Neste caso, c′Br
= cBr + δ e o vetor multiplicado simplex para abase encontrada se altera por:λ′T = c′BB−1 = cT
B B−1 + δeTr B−1 = λT + δeT
r B−1;Em que er é a r-ésima coluna da matriz identidade m ×m;Portanto, os custos relativos de todas as variáveis devem serrecalculados como:c′j = cj − λ′T aj = cj − (λT + δeT
r B−1)aj =
= (cj − λT aj)− δeTr B−1aj = cj − δeT
r yj ;Lembre que yj = B−1aj (direção simplex);
Thiago Queiroz (IMTec) Aula 5 Aula 5 18 / 43
Pertubação nos Custos
Como er é a r-ésima coluna da matriz identidade, então o produtoeT
r yj fornece o r-ésimo elemento do vetor yj , denotado por yrj .Então, o novo custo relativo é dado por:c′j = cj − δyrj
Neste caso, os custos relativos se alteram;Com isso, o método simplex precisa ser aplicado para reotimizaro problema;
Thiago Queiroz (IMTec) Aula 5 Aula 5 19 / 43
O método dual simplex
Pode ser útil como alternativa ao Método das Duas Fases ou dogrande-M para obtenção da solução do primal;Muito usado em reotimização de problemas lineares, após aadição de novas restrições no problema original:
I Se as restrições são satisfeitas pela solução ótima do problemaoriginal, então também é ótima para o problema com novasrestrições;
I Caso a solução seja infactível para o problema novo, é necessáriouma reotimização, que pode incluir o acréscimo de variáveisartificiais.
I Do ponto de vista do problema dual, novas restrições no primalimplicam em variáveis duais, de modo que a solução dual nãoperde factibilidade, mas pode deixar de ser ótima;
I De qualquer forma, a solução ótima do dual original é uma boasolução inicial para o dual com novas variáveis.
Thiago Queiroz (IMTec) Aula 5 Aula 5 20 / 43
Resolução do primal pelo algoritmo dual simplex
Se o problema primal não possuir uma base inicial factível,pode-se usar o algoritmo dual simplex para obter a solução doprimal;Melhor ainda, pode-se aplicar o dual simplex em tabelas, assimcomo feito no simplex em tabelas;Seja um exemplo de problema de otimização linear:
(Primal) Minimizar z = x1 + x2
sujeito a :
2x1 + x2 ≥ 4x1 + 3x2 ≥ 3x1 ≥ 0, x2 ≥ 0.
(7)
1. Coloque o problema na forma padrão (minimizar e comrestrições de igualdade).
Thiago Queiroz (IMTec) Aula 5 Aula 5 21 / 43
Resolução do primal pelo algoritmo dual simplex
(Primal) Minimizar z = x1 + x2
sujeito a :
2x1 + x2 − x3 = 4x1 + 3x2 − x4 = 3x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0.
(8)
Note que para obter uma base factível inicial para simplex épreciso multiplicar as restrições por (-1), resultando em:
(Primal) Minimizar z = x1 + x2
sujeito a :
−2x1 − x2 + x3 = −4−x1 − 3x2 + x4 = −3x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0.
(9)
2. Montar a tabela simplex inicial para o modelo acima, pois eleestá na forma padrão e tem uma base factível inicial (x3 e x4 sãoas variáveis básicas com B = I2).
Thiago Queiroz (IMTec) Aula 5 Aula 5 22 / 43
Resolução do primal pelo algoritmo dual simplex
A tabela simplex inicial, com as Variáveis Básica (VB):
Tabela: Tabela simplex inicial com dados do problema primal.
x1 x2 x3 x4 bVB 1 1 0 0 zx3 -2 -1 1 0 -4x4 -1 -3 0 1 -3
Note que apesar de existir uma base factível B, a solução inicialxB = B−1b resulta em x3 = −4 < 0 e x4 = −3 < 0, ou seja, asolução básica não é factível;Neste ponto entra a aplicação do algoritmo dual simplex;
Thiago Queiroz (IMTec) Aula 5 Aula 5 23 / 43
Algoritmo dual simplex em Tabelas
Considere um problema de otimização linear como o do exemploanterior, ou seja, na forma padrão;Fase I: Determine uma tabela simplex inicial:
I A função objetivo do problema original vai satisfazer a condição deotimalidade do método simplex normal;
I As restrições no problema original devem ser do tipo ≥.I Faça iteração = 0.
Fase II:I 1. Determine a variável a sair da base olhando a solução básica
primal:xBl = mínimo {xBi , para toda variável básica i };
I 2. Se xBl ≥ 0, então pare: solução ótima encontrada;F 2.1. Senão, a variável xBl sai da base;
Thiago Queiroz (IMTec) Aula 5 Aula 5 24 / 43
Algoritmo dual simplex em Tabelas
Fase II: continuação...I 3. Seja a linha da variável que vai sair da base definida por rBl :
F 3.1. Se todos os coeficientes na linha são positivos, isto é, rBl j > 0,para j = 1, . . . , n, então pare: solução do primal é infactível;
F 3.1. Senão, determine para as variáveis não-básicas e que tenhamcoeficiente negativo na linha rBl :ˆcNk
rBl k= mínimo {|
ˆcNjrBl j
| tal que rBl j < 0, j = 1, . . . , n};F 3.2. A variável não-básica de índice Nk , diga-se xNk , entra na base;
I 4. Atualize a tabela simplex, considerando o elemento pivô rBl Nk efazendo o pivotamento no restante da coluna;
F 4.1. A variável xNk passa a ser a variável básica na linha Bl ;F 4.2. Faça iteração = iteração + 1;F 4.3. Retorne ao passo 1.
Thiago Queiroz (IMTec) Aula 5 Aula 5 25 / 43
Exemplo
Exemplo. Continue a resolução do exemplo anterior aplicandoagora o algoritmo dual simplex em tabelas.Note que o problema do exemplo anterior era:
(Primal) Minimizar z = x1 + x2
sujeito a :
2x1 + x2 − x3 = 4x1 + 3x2 − x4 = 3x1 ≥ 0, x2 ≥ 0, x3 ≥ 0, x4 ≥ 0.
(10)
Com a seguinte tabela simplex inicial:
Tabela: Tabela simplex inicial com dados do problema primal.
x1 x2 x3 x4 bVB 1 1 0 0 zx3 -2 -1 1 0 -4x4 -1 -3 0 1 -3
Thiago Queiroz (IMTec) Aula 5 Aula 5 26 / 43
Resolução...
Note que não dá para aplicar o simplex em tabelas, poisobservando a tabela inicial tem-se que é satisfeita a condição deotimalidade e a solução básica não é viável (x3 = −4 e x4 = −3);A alternativa é aplicar o algoritmo dual simplex em tabelas;Pela Fase I, monta-se a tabela simplex inicial, explicitando asvariáveis básicas. Fez-se isto na tabela anterior;Faz-se iteração = 0.Aplicando a Fase II, segue que:1. A variável básica com menor valor de solução é: x3 = −4;2. x3 = −4 < 0, de forma que a variável x3 sai da base e Bl = 33. Existe rBl j = r3j < 0 para j não-básica. Observe: para j=1,tem-se -2, e para j=2 tem-se -1;3.1. O mínimo entre {| 1
−2 |; |1−1 |} ocorre para j=1;
3.2. A variável básica x1 entra na base, com índice Nk = 1;
Thiago Queiroz (IMTec) Aula 5 Aula 5 27 / 43
Resolução...
Tabela: Tabela simplex inicial.
x1 x2 x3 x4 bVB 1 ↓ 1 0 0 z← x3 −2 -1 1 0 -4
x4 -1 -3 0 1 -3
4. O elemento pivô é o rBl Nk = r31 = −2. Realiza-se opivotamento na coluna aNk = a1;4.1. A variável x1 entrou no lugar da variável x3;4.2. iteração = 1;
Tabela: Tabela simplex iteração 1.
x1 x2 x3 x4 operaçãoVB 0 1
212 0 - 2 L1 ← L1 − L2
x1 1 12 − 1
2 0 2 L2 ← − 12 L2
x4 0 − 52 − 1
2 1 -1 L3 ← L3 + L2
Thiago Queiroz (IMTec) Aula 5 Aula 5 28 / 43
Resolução...
Voltando ao passo 1 da Fase II, segue que:1. A variável básica com menor valor de solução é: x4 = −1;2. x4 = −1 < 0, de forma que a variável x4 sai da base e Bl = 4;3. Existe rBl j = r4j < 0 para j não-básica. Observe: para j=2,tem-se −5
2 , e para j=3, tem-se 12 ;
3.1. O mínimo entre {|12− 5
2|; |
12− 1
2|} ocorre para j=2;
3.2. A variável básica x2 entra na base, com índice Nk = 2;
Tabela: Tabela simplex iteração 1.
x1 x2 x3 x4 bVB 0 1
2 ↓12 0 - 2
x1 1 12 − 1
2 0 2← x4 0 − 5
2 − 12 1 -1
Thiago Queiroz (IMTec) Aula 5 Aula 5 29 / 43
Resolução...
4. O elemento pivô é o rBl Nk = r42 = −52 . Realiza-se o
pivotamento na coluna aNk = a2;4.1. A variável x2 entrou no lugar da variável x4;4.2. iteração = 2;
Tabela: Tabela simplex iteração 2.
x1 x2 x3 x4 operaçãoVB 0 0 4
1015 - 11
5 L1 ← L1 − 12 L3
x1 1 0 − 610
15
95 L2 ← L2 − 1
2 L3
x2 0 1 15 − 2
525 L3 ← − 2
5 L3
Voltando ao passo 1 da Fase II, segue que:1. A variável básica com menor valor de solução é: x2 = 2
5 ;
2. x4 = 25 > 0, de forma que a solução ótima foi encontrada;
Thiago Queiroz (IMTec) Aula 5 Aula 5 30 / 43
Resolução...
Da tabela simplex da última iteração, obtém-se como soluçãopara o primal: (x1, x2, x3, x4) = (9
5 ,25 ,0,0);
O valor da função objetivo é: z = x1 + x2 = 95 + 2
5 = 115 .
Note que é mais fácil obter a solução usando o dual simplex emtabelas do que o algoritmo dual simplex manualmente.
Thiago Queiroz (IMTec) Aula 5 Aula 5 31 / 43
Problema dual resolvido em tabelas
Uma estratégia simples pode ser aplicada ao problema dualpermitindo-o ser resolvido por tabelas (como no simplex emtabelas).Considere um problema primal de otimização linear:
(Primal) Minimizar z = x1 + x2
sujeito a :
2x1 + x2 ≥ 4x1 + 3x2 ≥ 3x1 ≥ 0, x2 ≥ 0.
(11)
Caso não seja dado o problema dual diretamente, o primeiropasso é escrever o dual do problema e colocá-lo na forma padrão:
(Dual) Maximizar g(λ) = 4λ1 + 3λ2
sujeito a :
2λ1 + λ2 ≤ 1λ1 + 3λ2 ≤ 1λ1 ≥ 0, λ2 ≥ 0.
(12)
Thiago Queiroz (IMTec) Aula 5 Aula 5 32 / 43
Problema dual resolvido em tabelas
Colocando o dual na forma padrão, tem-se:
Maximizar g(λ) = 4λ1 + 3λ2 + 0λ3 + 0λ4
sujeito a :
2λ1 + λ2 + λ3 = 1λ1 + 3λ2 + λ4 = 1λ1 ≥ 0, λ2 ≥ 0, λ3 ≥ 0, λ4 ≥ 0.
(13)
Pode-se aplicar o simplex em tabelas no problema acima;Lembre-se apenas que o simplex em tabelas, como visto, requerque o problema tenha uma função de minimizar. Ou seja:
Minimizar − g(λ) = −4λ1 − 3λ2 − 0λ3 − 0λ4
sujeito a :
2λ1 + λ2 + λ3 = 1λ1 + 3λ2 + λ4 = 1λ1 ≥ 0, λ2 ≥ 0, λ3 ≥ 0, λ4 ≥ 0.
(14)
Observe que agora o modelo está na forma padrão requeridapelo simplex;
Thiago Queiroz (IMTec) Aula 5 Aula 5 33 / 43
Problema dual resolvido em tabelas
A ideia é “considerar” que o problema dual é um problema primal;A partir de agora, monta-se a tabela simplex do modelo (14),resultando em:
Tabela: Tabela inicial com dados do problema dual.
λ1 λ2 λ3 λ4 c-4 -3 -0 -0 g(λ)2 1 1 0 11 3 0 1 1
Não esquecer de multiplicar o valor da função objetivo por (-1)para obter o valor que maximiza o problema dual original.Note na tabela acima que uma base viável consiste em escolheras variáveis λ3 e λ4, pois forma a matriz identidade;
Thiago Queiroz (IMTec) Aula 5 Aula 5 34 / 43
Problema dual resolvido em tabelas
Resulta na seguinte tabela simplex inicial, com as VariáveisBásica (VB):
Tabela: Tabela simplex inicial.
λ1 λ2 λ3 λ4 bVB -4 -3 0 0 0λ3 2 1 1 0 1λ4 1 3 0 1 1
Aplicando a Fase II do simplex em tabelas, segue que:1. O menor custo relativo é: c1 = −4;2. c1 < 0, de forma que a variável λ1 entra na base.3. Existe aik > 0. Observe: para i=3, tem-se 2, e para i=4, tem-se1;3.1. O mínimo ocorre para {1
2 ; 11}, isto é, para l=i=3;
3.2. A variável básica λ3 sai da base;
Thiago Queiroz (IMTec) Aula 5 Aula 5 35 / 43
Problema dual resolvido em tabelas
Tabela: Tabela simplex inicial.
λ1 λ2 λ3 λ4 bVB -4 ↓ -3 0 0 0← λ3 2 1 1 0 1λ4 1 3 0 1 1
4. O elemento pivô é o aik = a31 = 1. Realiza-se o pivotamentona coluna ak = a1;4.1. A variável λ1 entra no lugar da variável λ4 (que sai);
Tabela: Tabela simplex iteração 1.
λ1 λ2 λ3 λ4 b operaçãoVB 0 -1 2 0 2 L1 ← L1 + 4L2
λ1 1 12
12 0 1
2 L2 ← 12 L2
λ4 0 52 − 1
2 1 12 L3 ← L3 − L2
O processo continua até chegar em algum critério de parada...
Thiago Queiroz (IMTec) Aula 5 Aula 5 36 / 43
Interpretação econômica: primal × dual
Figura: Interpretação econômica entre o par primal × dual .
Thiago Queiroz (IMTec) Aula 5 Aula 5 37 / 43
Reotimização
Uma das principais aplicações do método dual simplex consisteem resolver problemas cujas soluções ótimas se tornaraminfactíveis;Isto ocorre, por exemplo, depois que novas restrições sãoincluídas;Considere que o problema de otimização linear e seu dual(problemas originais):
(Primal) Minimizar z = cTx
sujeito a :
{Ax = bx ≥ 0.
(15)
O seu dual é:
(Dual) Maximizar g(λ) = bTλsujeito a :
{ATλ ≤ c (16)
Considere a partição básica ótima A = [B N].
Thiago Queiroz (IMTec) Aula 5 Aula 5 38 / 43
ReotimizaçãoTal partição está associada as soluções básicas factíveis primal edual:
I solução básica primal: xB = B−1b e xN =0;I solução básica dual: λ = (B−1)cB;I Tais soluções são factíveis, isto é, xB ≥ 0 e NT λ ≤ cN , e ótimas:
f(x) = g(λ).
Nosso interesse é inserir uma nova restrição: uT x ≤ v ;Esta restrição faz o modelo primal mais restrito e o dual maisrelaxado. Veja na figura:
Figura: Inclusão de uma nova restrição.
Thiago Queiroz (IMTec) Aula 5 Aula 5 39 / 43
Reotimização
Com a adição, tem-se os problemas modificados:
(Primal) Minimizar z = cTx
sujeito a :
Ax + 0xn+1 = buTx + xn+1 = vx ≥ 0, xn+1 ≥ 0.
(17)
O seu dual é:
(Dual) Maximizar g(λ, λm+1) = bTλ+ vλm+1
sujeito a :
{ATλ+ uλm+1 ≤ c0Tλ+ λm+1 ≤ 0
(18)
Sendo xn+1 a variável de folga e λm+1 a variável dual associada ànova restrição.Agora o problema primal tem m + 1 restrições e sua base temordem m + 1.
Thiago Queiroz (IMTec) Aula 5 Aula 5 40 / 43
Reotimização
Note que a solução do dual original, λ, e fazendo λm+1 = 0,satisfazem o problema dual modificado;Basta observar que ao zerar λm+1 volta-se ao problema dualoriginal, cuja solução ótima foi dada por λ;Além disso, a solução (λ, λm+1) do dual modificado satisfaz comigualdade as restrições básicas duais e a nova restrição, ou seja:[BT ub0 1
] [λ
λm+1
]=
[cB0
];
Adota-se uT = (ub uN)T , sendo uTB o vetor dos coeficientes de xB
na nova restrição, como também dos coeficientes de λm+1 nasrestrições duas básicas;
Thiago Queiroz (IMTec) Aula 5 Aula 5 41 / 43
Reotimização
Com isso, tem-se uma nova partição básica para o problemaprimal modificado:[
B 0uB 1
] [xB
xn+1
]=
[bv
];
Cuja solução é: xB = B−1b e xn+1 = v − uTB xB;
Como xB ≥ 0 é a solução ótima do problema original, segue que:I Se xn+1 ≥ 0, então a solução anterior é a solução factível do
problema modificado, com xN = 0;I Note que xn+1 ≥ 0 é uma variável de folga que não viola a restrição
original: uTB xB + uT
N x ≤ v ;I Portanto, a solução dos problemas originais primal e dual
continuam ótimas e não é preciso reotimizar o modelo modificado;I Logo, a restrição inserida está fora ou na fronteira da região factível
do problema primal original.
Thiago Queiroz (IMTec) Aula 5 Aula 5 42 / 43
Reotimização
Por outro lado:I Se xn+1 < 0, então a solução básica primal não é factível, pois a
nova restrição é violada: uTB xB + uT
N x > v ;I Este é o caso mostrado na figura anterior, em que a restrição
inserida separa a região de factibilidade do problema primaloriginal.
I Logo, deve-se aplicar o método dual simplex a partir da soluçãobásica dual factível (λ, λm+1) = (λ,0);
I Geralmente, consegue-se a nova solução ótima do problemamodificado em poucas iterações.
Thiago Queiroz (IMTec) Aula 5 Aula 5 43 / 43