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)
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
notas <strong>de</strong> aula – versão 64 - Jerônimo C. Pellegrini<br />
3.12. MÉTODO SIMPLEX REVISADO 69<br />
Temos no tableau original n + 1 colunas, e cada vez que trocarmos uma<br />
variável da base, modificaremos todas elas.<br />
O algoritmo para o método Simplex revisado guarda apenas A −1<br />
B , porque<br />
ela nos permite gerar qualquer informação do tableau que precisemos,<br />
inclusive os valores <strong>de</strong> c j e x j :<br />
⎛<br />
⎞<br />
A −1<br />
⎝ B<br />
A −1<br />
B b ⎠<br />
−c T B A−1 B<br />
−z 0<br />
Temos agora um tableau com m + 1 colunas. Detalhamos a seguir as operações<br />
que o Simplex fará usando esta representação. Denotamos por a<br />
iq<br />
′<br />
o i-ésimo elemento do vetor coluna a q:<br />
′<br />
⎛ ⎞<br />
a 1 q<br />
a q ′ a 2 q<br />
= ⎜ ⎟<br />
⎝ . ⎠ .<br />
a m q<br />
• Coeficientes reduzidos <strong>de</strong> custo: para a variável x j , observamos que<br />
c j − z j = c j − c T B A−1 B a j.<br />
• A coluna da variável x q a entrar na base: basta escrevê-la usando a<br />
nova base, A −1<br />
B :<br />
a q ′ = A −1<br />
B a q<br />
• Atualização do tableau: para atualizar todos os valores, efetuamos<br />
pivoteamento em a pq ′ (o elemento na p-ésima linha do vetor coluna<br />
a q ).<br />
calcule A −1<br />
B<br />
repita:<br />
λ T ← c T B A−1 B<br />
calcule r T N , um <strong>de</strong> cada vez , parando ao encontrar r i > 0:<br />
r j ← c j − λ T a j<br />
se r T N ≤ 0 PARE : x B ó timo<br />
a q ← escolhe_coluna_a_entrar ()<br />
a q ′ ← A −1<br />
B a q<br />
se a q ′ ≤ 0 PARE : problema ilimitado<br />
calcule b i /a<br />
iq ′ e <strong>de</strong>termine a p<br />
atualize A −1<br />
B<br />
e a solu ção A −1<br />
B b<br />
Versão Preliminar