Programação Linear (e rudimentos de otimização não-linear)
Programação Linear (e rudimentos de otimização não-linear)
Programação Linear (e rudimentos de otimização não-linear)
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
notas <strong>de</strong> aula – versão 64 - Jerônimo C. Pellegrini<br />
4.4. ALGORITMO SIMPLEX DUAL 85<br />
O método Simplex, quando aplicado ao primal, procura por várias soluções<br />
viáveis (sempre obe<strong>de</strong>cendo as restrições) e básicas, cada uma com<br />
valor objetivo maior, até encontrar a solução ótima. Observando a formulação<br />
do dual, po<strong>de</strong>mos imaginar que se executarmos nele o mesmo<br />
algoritmo, o que sempre se mantém é a condição <strong>de</strong> otimalida<strong>de</strong> (porque<br />
c agora está no lugar <strong>de</strong> b), e que o que buscamos é uma solução cada vez<br />
mais próxima da viabilida<strong>de</strong>. Isto é o que faz o algoritmo dual-simplex.<br />
Suponha que tenhamos uma solução básica para o primal que tenha<br />
valor melhor que qualquer ponto do politopo, mas que não seja viável.<br />
Representamos esta solução pela base A B , tal que x B = A −1<br />
B b.<br />
Como a solução é ótima, c j − z j ≤ 0 para todo j, e<br />
c j ≤ z j .<br />
Seja y a solução correspon<strong>de</strong>nte para o dual. y = c T A −1 é viável:<br />
A T (c T A −1<br />
B ) ≥ c<br />
Se y é ótima para o dual, então x é ótima para o primal.<br />
Senão, x B tem algum elemento x i negativo.<br />
Seja B = A −1<br />
B , B i a i-ésima linha <strong>de</strong> B e<br />
^y T = y T + εB i<br />
com ε > 0 (ou seja, se A B fosse a i<strong>de</strong>ntida<strong>de</strong>, mudaríamos somente o valor<br />
<strong>de</strong> x i ). Então<br />
Como ε > 0 e x i < 0,<br />
^y T b = y T b + εB i b<br />
= y T b + εx i . (4.1)<br />
^y T b < y T b,<br />
o que significa que ^y é uma solução melhor para o dual (que é um problema<br />
<strong>de</strong> minimização), para qualquer ε > 0. Nos resta saber como escolher<br />
ε <strong>de</strong> forma que ^y seja viável.<br />
Observe que B i a j , para j > m, é igual a a ij . Para j ≤ m, B i a j = δ ij (este é<br />
o δ <strong>de</strong> Kronecker 1 ).<br />
Versão Preliminar<br />
1 δ ij = 1 se i = j, e zero caso contrário.<br />
B