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 />
3.2. FORMULAÇÃO 41<br />
Temos agora x 1 = x 5 = 0, x 2 = 3, x 3 = 7, e x 4 = 11/4. O valor do objetivo<br />
para esta solução é x 1 + 2x 2 = 6. Representamos também a função<br />
objetivo como um vetor coluna c = ( 1 2 0 0 0 ) T , e a solução<br />
x = ( 0 3 7 11/4 0 ) T . Assim, po<strong>de</strong>mos expressar<br />
⎛ ⎞<br />
0<br />
c T x = ( 1 2 0 0 0 ) 3<br />
⎜ 7<br />
⎟<br />
⎝11/4⎠ = 6.<br />
0<br />
Conseguimos uma solução, com x 2 = 3, melhor que a inicial. Se incluirmos<br />
x 1 também na base, a solução será ainda melhor. O algoritmo Simplex<br />
<strong>de</strong>termina quais variáveis <strong>de</strong>vemos incluir e excluir da base a cada passo<br />
<strong>de</strong> forma que cada solução seja melhor que a anterior, e que todas sejam<br />
viáveis (garantindo assim que após um número finito <strong>de</strong> passos, obtenhamos<br />
a solução ótima).<br />
3.2 Formulação<br />
No resto do texto, usaremos uma matriz A, m × n, e vetores coluna b com<br />
m elementos e c com n elementos, <strong>de</strong> forma que programas <strong>linear</strong>es sejam<br />
<strong>de</strong>scritos como<br />
max c T x<br />
s.a.: Ax = b<br />
x ≥ 0,<br />
sendo x um vetor coluna com n elementos representando as variáveis<br />
para as quais queremos obter valores que maximizem c T x.<br />
Será útil dividir estes objetos (matriz A e vetores c e x) em duas partes:<br />
as que se referem às variáveis da base (A B , c B , x B ) e as que se referem às<br />
variáveis fora da base (A N , c N , x N ). Presumimos que as colunas <strong>de</strong> A e os<br />
elementos <strong>de</strong> x e c sempre são reor<strong>de</strong>nados <strong>de</strong> forma que as variáveis da<br />
base estejam à esquerda das outras – isso nos garante que a base é representada<br />
por uma submatriz m × m no lado esquerdo <strong>de</strong> A (isso apenas<br />
facilita a exposição do assunto, não interferindo em nada mais):<br />
A = ( )<br />
A B , A N<br />
Versão Preliminar<br />
c T = (c T B , cT N )<br />
x = (x B , x N )