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 />
6.2. PONTOS INTERIORES 103<br />
6.2 Pontos interiores<br />
O método Simplex percorre diferentes pontos extremos do poliedro até<br />
encontrar a solução ótima para um programa <strong>linear</strong>.<br />
Há métodos para resolução <strong>de</strong> problemas <strong>de</strong> programação <strong>linear</strong> que<br />
trabalham somente com pontos interiores do poliedro.<br />
6.2.1 Affine scaling<br />
Suponha que o problema esteja na forma<br />
max c T x s.a.: Ax = b<br />
O algoritmo começa com um ponto viável, muda a escala <strong>de</strong> forma que<br />
o ponto passe a ser um vetor unitário e o move na direção do gradiente<br />
do objetivo, garantindo que o valor da nova solução será melhor e que o<br />
novo ponto também será viável. Em cada iteração, temos um ponto viável<br />
x. Mostraremos como obter o próximo ponto x ′ . Primeiro mudamos a<br />
escala do problema para que o ponto passe a ser o vetor unitário: se x =<br />
(x 1 , x 2 , . . . , x n ), então <strong>de</strong>finimos<br />
⎛<br />
⎞<br />
x 1 0 . . . 0<br />
0 x 2 . . . 0<br />
D = ⎜<br />
⎝<br />
.<br />
. ..<br />
⎟<br />
. ⎠<br />
0 0 . . . x n<br />
O ponto modificado é y = D −1 x, <strong>de</strong> forma que<br />
⎛ ⎞<br />
1<br />
y = D −1 1<br />
x = ⎜ ⎟<br />
⎝ . ⎠ = e.<br />
1<br />
Dizemos que o algoritmo trabalhará tanto no espaço-x como no espaço-y.<br />
Temos portanto o problema A(Dy) = b, ou (AD)y = b. Fazemos S =<br />
AD, e o novo programa <strong>linear</strong> é<br />
max c T y<br />
s.a: Sy = b<br />
y ≥ 0<br />
Versão Preliminar