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 />
152 CAPÍTULO 11. PROGRAMAÇÃO INTEIRA<br />
Observe que, como já <strong>de</strong>monstramos, o corte <strong>de</strong> Gomory não exclui solução<br />
inteira da região viável. Por outro lado, ele exclui a solução ótima não<br />
inteira.<br />
Agora adicionamos a restrição ao tableau. Com isso, adicionamos a<br />
variável s, básica, com valor −0.11765, tornando a solução inviável para o<br />
primal:<br />
⎛<br />
⎞<br />
x 1 x 2 w 1 w 2 w 3 s b i<br />
0 0 1 0.323529 0.294118 0 3.82941<br />
0 1 0 −0.323529 −0.294118 0 2.17059<br />
⎜ 1 0 0 0.294118 1.17647 0 4.11765<br />
⎟<br />
⎝ 0 0 0 −0.294118 −0.17647 1 −0.11765⎠<br />
0 0 0 1.91176 2.64706 0 6.73529<br />
Para continuar, observamos que o tableau ainda é viável para o dual,<br />
mas que não é ótimo para ele, porque se fosse seria ótimo para o primal,<br />
e portanto viável aos dois.<br />
Após obter nova solução (usando o dual), verificamos se é inteira. Se<br />
não for, obtemos um novo corte <strong>de</strong> Gomory e repetimos o processo. ◭<br />
11.2 Branch-and-bound<br />
Suponha que tenhamos resolvido a versão relaxada <strong>de</strong> um programa inteiro,<br />
e que a solução obtida, ^x, tem um elemento não inteiro ^x i . Resolvemos<br />
então dois problemas, um presumindo que x i ≥ ⌊^x i ⌋ + 1 e outro<br />
presumindo que x i ≤ ⌊^x i ⌋.<br />
max c T x s.a : Ax ≥ b<br />
x ≥ 0<br />
x j ∈ Z, se j ∈ K<br />
x i ≤ ⌊^x i ⌋<br />
Versão Preliminar<br />
max c T x s.a : Ax ≥ b<br />
x ≥ 0<br />
x j ∈ Z, se j ∈ K<br />
x i ≥ ⌊^x i ⌋ + 1