Escolar Documentos
Profissional Documentos
Cultura Documentos
Um Exemplo de
Geração de Colunas
Tintim por tintim
Seja
Minimizar: z = 3x1 + x2
Sujeito a : 3x1 + 2x2 ≤ 18,
(Pini) 2x1 + x2 ≥ 4,
0 ≤ x1 ≤ 4,
0 ≤ x2 ≤ 6.
Seja
X = {(x1 , x2 )T ∈ R2 | 0 ≤ x1 ≤ 4 e 0 ≤ x2 ≤ 6}
É fácil ver (4, 1)T ∈ X, ou seja X não é vazio. Além disso, como 0 ≤ x1 ≤ 4 e
0 ≤ x2 ≤ 6, X é limitado. Portanto, X 6= ∅ e limitado.
V (X) = {v 1 , v 2 , . . . , v p }.
Então p p
X X
j
x ∈ X ⇐⇒ x = λj v , λj = 1 e λj ≥ 0, ∀j. (1)
j=1 j=1
2
Assim, com suaves manipulações algébricas obtemos (P’)
p
X
Minimizar: z = [(3 1)v j ]λj
j=1
p
X
[(3 2)v j ]λj ≤ 18,
Sujeito a :
(P1) p
X
j=1
p
X
Minimizar: z = [(3 1)v j ]λj
j=1
p
X
[(3 2)v j ]λj
Sujeito a : + s1 = 18,
j=1
(PLF) Xp
[(2 1)v j ]λj −s2 = 4,
j=1
p
X
λj = 1 e λj ≥ 0 ∀j,
j=1
s1 ≥ 0 e s2 ≥ 0.
p
X
Minimizar: z = [(3 1)v j ]λj
j=1
p
X
[(3 2)v j ]λj
Sujeito a : + s1 = 18,
j=1
p
(P2)
X
[(2 1)v j ]λj −s2 +y1 = 4,
j=1
p
X
λj +y2 = 1,
j=1
λj ≥ 0 ∀j,
s1 ≥ 0 e s2 ≥ 0.
3
Minimizar: y1 + y2
p
X
[(3 2)v j ]λj
Sujeito a : + s1 = 18,
j=1
p
X
[(2 1)v j ]λj
(PA) −s2 +y1 = 4,
j=1
p
X
λj +y2 = 1,
j=1
λj ≥ 0 ∀j,
s1 ≥ 0 e s2 ≥ 0.
Temos:
s1 18
xB = B −1 b = I3 b = b =⇒ y1 = 4 ≥ 0 primal viável para (PA).
y2 1
3v1j + 2v2j
v1j
!
vj = , aj = 2v1j + v2j e cj = 0.
v2j
1
Daı́ vem
3v1j + 2v2j
Enquanto
zs2 − cs2 = µ(0 − 1 0)T − 0 = −1 < 0.
Um pequeno abuso de notação para simplificar a escrita do problema dois, usa-
remos v1j = v1 + v2j = v2 .
Maximizar: 2v1 + v2 + 1
(PG) Sujeito a : 0 ≤ v1 ≤ 4,
0 ≤ v2 ≤ 6.
4
Cuja solução é
1 4
v =
6
Logo
3·4+2·6 24
a1 = 2 · 4 + 6 = 14 entra na base.
1 1
Sairá da base a variável correspondente a
18 4 1 4
min , , = =⇒ y1 sai da base.
24 14 1 14
Assim a nova base é
24
1 − 14 0
1 24 0
0 14 0 =⇒ B −1 =
1
B = (s1 a1 y2 ) =⇒ B =
0 14
0
0 1 1 1
0 − 14 1
Então 78
1 − 24 7
14
0
18
xB = B −1 b = 4 = 2
1
0 0
14 7
1 1
0 − 14 1
5
7
A variável associada a a1 é λ1 , assim
cB = (s1 λ1 y2 ) =⇒ cB = (0 0 1)
Daı́ vem
24
1 − 14 0
1
µ = cB B −1 = (0 0 1)
1
0 14
0 = (0 − 1)
14
1
0 − 14 1
Como
0
1 1
zs2 − cs2 = (0 − 1) −1 − 0 = > 0, s2 entra na base.
14 14
0
Vamos fazer uma pequena digressão para analisar o cálculo da inversa já que este
é um procedimento computacionalmente caro. Vamos chamar de B a matriz básica
do passo anterior do simplex e de D a matriz básica do passo atual, temos:
1 24 0 0 24 0
B = 0 14 0 e D = −1 14 0
0 1 1 0 1 1
Note que as matrizes diferem apenas de uma coluna - a primeira (devido a troca
de base, saiu s1 e entrou s2 ). Então é razoável supor que as inversas dessas matrizes
B −1 e D−1 sejam parecidas, e como B −1 é conhecida também faz sentido o questio-
namento: é possı́vel obter D−1 a partir de B −1 ? Esta digressão tem o propósito de
responder essa pergunta.
Vamos abstrair ao exemplo e considerar uma mudança de base genérica do sim-
plex.
Como as matrizes B e D são obtidas pelo método simplex, a coluna y que entra
na nova base satisfaz
B = (b1 b2 ... bn ).
Portanto
D−1 = E −1 B −1 (2)
6
Observe que a matriz E difere da identidade em apenas uma coluna, portanto
sua inversa é consideravelmente fácil de calcular, basta aplicar o método de Gauss
à coluna não canônica, simples assim. Como B −1 é conhecida do passo anterior a
fórmula 2 dará a inversa de D.
Finda a incursão teórica, vamos utilizá-la para calcular a inversa da matriz B de
nosso exemplo sem fortes emoções, temos:
1 − 24
14
0
1 24 0 0 24 0
B = 0 14 0 , B −1 =
1
0 0 e D = −1 14 0
14
0 1 1 1 0 1 1
0 − 14 1
7
Temos
26
4
1
xB = B −1 b = µ = cB B −1 = (−
3
, cB = (0 0 1), 0 1)
4
24
1
4
3v1j + 2v2j
1 3 2
zj = µaj = (− 0 1) 2v1j + v2j =⇒ zj = − v1 − v2 + 1
24 24 24
1
3 2
Maximizar: − v1 − v2 + 1
24 24
(PG) Sujeito a : 0 ≤ v1 ≤ 4,
0 ≤ v2 ≤ 6.
Cuja solução é
2 0
v =
0
Logo
3·0+2·0 0
a2 = 2 · 0 + 0 = 0 entra na base.
1 1
Como a única coordenada não nula é a terceira a xB3 = y2 sai da base. Assim a
nova base é formada pelas colunas associadas às variáveis s2 , λ1 e λ2 , portanto
0 24 0
B = (s2 a1 a2 ) =⇒ B = −1 14 0
0 1 1
Como não há variável artificial nesta base temos uma solução básica viável para
o (PLF), a saber
26 26
4 s2 s2 4
−1
3 3
xB = B b = 4 , como xB =
λ1 =⇒ λ1 = 4
1 λ2 λ2 1
4 4
8
x2
6 • v1
5
• x = (3, 29 )T = 0.75v 1 + 0.25v 2
4
3 • x∗ = (4, 3) = 1 (v 1 + v 3 )
2
2
1
v3 x1
• •
v2 1 2 3 4
Portanto
cB = (0 18 0), como µ = cB B −1 temos
14
−1 0
24
1 3
µ = (0 18 0) 24 =⇒ µ = ( 4 0 0)
0 0
1
− 0 1
24
3v1 + 2v2
3 3 1
zj − cj = ( 0 0) 2v1 + v2 − (3v1 + v2 ) = − v1 + v2
4 4 2
1
3 1
Minimizar: − v1 + v2
(PG) Sujeito a : 0 ≤4 v1 ≤24,
0 ≤ v2 ≤ 6.
Cuja solução é
3 4
v = , associado a λ3 .
0
9
Logo
3·4+2·0 12
a3 = 2 · 4 + 0 = 8 entra na base.
1 1
14
−1 0 −1
24
26
s2 4 12 1
λ1 =
3 −1
1
8 =
4 e B a3 = 24 0 0
2
λ2 1
1 1
14
4
− 0 1 2
24
Sairá da base a variável que satisfizer
9 3
2 2
min 1 , 1 = min {9, 3} = 3 =⇒ λ2 sai da base.
2 2
10
cλ3 = (3 1)v 3 = (3 1)(4 0)T = 12.
1
−1 2
2
−1
1 1
µ = cB B = (0 18 12) 12 0 −1 =⇒ µ = ( 2
0 6)
1
− 0 2
12
3v1 + 2v2
1
zj − cj = ( 0 6) 2v1 + v2 − (3v1 + v2 )
2
1
3
Minimizar: − v1 + 6
(PG) Sujeito a : 0 ≤2 v1 ≤ 4,
0 ≤ v2 ≤ 6.
Cuja solução é
4 4 4
v = ou
0 6
3
Como − 4 + 6 = 6 − 6 = 0 a solução é ótima é
2
1 1 3 4
x = (v + v ) =
2 3
Como
∗ x1 x1 4
x = =⇒ =
x2 x2 3
Como z = 3x1 + x2 o valor ótimo é
z ∗ = 3 · 4 + 3 =⇒ z = 15.
Dual
18
1
z ∗ = µb = ( 0 6) 4 = 9 + 6 = 15 =⇒ z ∗ = 15
2
1
De fato é ótimo pois
cx∗ = µb.
11