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.5. A OPERAÇÃO DE MUDANÇA DE BASE 49<br />
3.5 A operação <strong>de</strong> mudança <strong>de</strong> base<br />
Outra maneira <strong>de</strong> visualizar o tableau Simplex:<br />
⎛<br />
⎝ A B A N<br />
⎞<br />
b<br />
⎠<br />
c T B<br />
c T N −z 0<br />
Queremos percorrer diferentes bases do programa <strong>linear</strong>, sempre aumentando<br />
o valor da função objetivo. Manteremos as colunas da base sempre<br />
formando uma matriz i<strong>de</strong>ntida<strong>de</strong> m × m. Como já vimos antes, isto representa<br />
a <strong>de</strong>scrição <strong>de</strong> cada uma das variáveis básicas em função das não<br />
básicas.<br />
Suponha agora que queiramos incluir uma variável x q na base, retirando<br />
x p . Po<strong>de</strong>mos escrever x q em função das variáveis não básicas (inclusive<br />
x p ). Para isso basta operarmos as linhas do tableau, forçando a coluna<br />
a q a ficar igual a a p . Para isso po<strong>de</strong>-se usar a operação <strong>de</strong>finida a seguir.<br />
A fim <strong>de</strong> simplificar as referências ao tableau, usaremos a in+1 para b i<br />
e a m+1j para r j .<br />
Proposição 3.4. Seja um tableau Simplex representando o programa <strong>linear</strong><br />
<strong>de</strong>finido por A, b e c. Seja a p uma coluna da base e a q uma coluna fora da<br />
base. Então a seguinte operação modifica a coluna a q <strong>de</strong> forma que fique<br />
idêntica a a p , po<strong>de</strong>ndo substituí-la na base – e modifica também todas as<br />
colunas <strong>de</strong> A N , inclusive a p , <strong>de</strong> maneira que as soluções <strong>de</strong> Ax = b sejam<br />
as mesmas. Para todo elemento a ij , inclusive na coluna b e na linha do<br />
objetivo, faça:<br />
a ′ pj = a pj<br />
a pq<br />
a ′ ij = a ij − a pja iq<br />
a pq<br />
(i ≠ p).<br />
Demonstração. A coluna a p tinha zeros exceto em a pp , on<strong>de</strong> tinha um.<br />
Para a q , temos a pq ′ = a pq /a pq = 1, e po<strong>de</strong>-se verificar que para todo i ≠ p,<br />
a<br />
iq ′ = 0. A operação não muda as soluções: a primeira é multiplicação <strong>de</strong><br />
linha por escalar, e a segunda é soma <strong>de</strong> múltiplo <strong>de</strong> linha a outra. <br />
Versão Preliminar<br />
3.6 Que variável entra na base<br />
Sabemos como retirar uma coluna a p da base, trocando-a por outra coluna<br />
a q . Agora tratamos <strong>de</strong> como escolher a coluna (ou seja, a variável) que<br />
<strong>de</strong>ve ser incluída na base.