slides

Transcrição

slides
Universidade Federal de São Carlos
Departamento de Engenharia de Produção
Otimização Contı́nua e Discreta
PPGEP - Semestre 01/2016
Prof. Pedro Munari ([email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Otimização Contı́nua e Discreta
Aula 3: Dualidade, condições de otimalidade e o método simplex
Objetivos da aula de hoje
I
Aprofundar nosso estudo em dualidade;
I
Estudar as condições de otimalidade;
I
Introdução ao método simplex.
(Prof. Pedro Munari, [email protected])
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Aula anterior...
I
Notação matricial e forma padrão;
I
Definições: Hiperplano e semi-espaço; poliedro e politopo; raio e raio
de subida/descida; função convexa, conjunto convexo e envoltório
convexo;
I
Solução gráfica;
I
Problema dual usando tabela de conversão;
I
Problema dual pela teoria Lagrangiana;
I
Principais resultados em Dualidade;
I
Interpretação econômica.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 8
Coloque na forma padrão, os seguintes problemas de programação linear:
(a) max
s.a
f (x1 , x2 , x3 ) = −5x1 − 3x2 + 7x3
2x1 + 4x2 + 6x3 ≥ 7
3x1 − 5x2 + 5x3 ≤ 5
x1 ≥ 0, x2 ≥ 2, x3 livre
(b) max
s.a
f (x1 , x2 , x3 ) = 2x1 − 3x2 + 7x3
2x1 + 4x2 + 6x3 = 7
3x1 − 5x2 + 3x3 ≤ 5
−4x1 − 9x2 + 4x3 ≤ −4
x1 ≥ −2, 0 ≤ x2 ≤ 4, x3 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 8(a)
(a) max
s.a
f (x1 , x2 , x3 ) = −5x1 − 3x2 + 7x3
2x1 + 4x2 + 6x3 ≥ 7
3x1 − 5x2 + 5x3 ≤ 5
x1 ≥ 0, x2 ≥ 2, x3 livre
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 8(a)
−
a
a
Substituindo x2 = x02 + 2, x3 = x+
3 − x3 e adicionando x1 e x2 :
−min
−
5x1 + 3x02 − 7x+
3 + 7x3 + 6
−
a
s.a −2x1 − 4x02 − 6x+
3 + 6x3 + x1 = 1
−
a
3x1 − 5x02 + 5x+
3 − 5x3 + x2 = 15
−
a
a
x1 , x02 , x+
3 , x3 , x1 , x2 ≥ 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 8(b)
(b) max
s.a
f (x1 , x2 , x3 ) = 2x1 − 3x2 + 7x3
2x1 + 4x2 + 6x3 = 7
3x1 − 5x2 + 3x3 ≤ 5
−4x1 − 9x2 + 4x3 ≤ −4
x1 ≥ −2, 0 ≤ x2 ≤ 4, x3 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 8(b)
Substituindo x1 = x01 − 2 e adicionando xa2 , xa3 , xa4 :
−min
−2x01 + 3x2 − 7x3 + 4
s.a
2x01 + 4x2 + 6x3 = 11
3x01 − 5x2 + 3x3 + xa2 = 11
4x01 + 9x2 − 4x3 − xa3 = 12
x2 + xa4 = 4
x01 , x2 , x3 , x3 , xa2 , xa3 , xa4 ≥ 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
Determine uma solução ótima usando solução gráfica.
min f (x1 , x2 ) = 2x1 + x2
s.a
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
min
s.a
x2
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
min
s.a
x2
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
x1
-1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
x2
6
min
s.a
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
4
-1
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
x2
6
min
s.a
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
4
-1
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
x2
6
min
s.a
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
-5
4
-1
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
x2
6
min
s.a
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
-5
4
-1
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
x2
6
min
s.a
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
-5
4
-1
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
x2
6
min
s.a
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
-5
4
-1
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
x2
6
min
s.a
f (x1 , x2 ) = 2x1 + x2
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
-5
4
-1
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 1
. Exercı́cio 9(a)
min f (x1 , x2 ) = 2x1 + x2
s.a
x1 − x2 ≤ 1
3x1 + 2x2 ≤ 12
2x1 + 3x2 ≥ 3
−2x1 + 3x2 ≤ 9
x1 ≥ 0, x2 ≥ 0.
Logo, temos a solução ótima x∗ = (0, 1) com valor ótimo f (x∗ ) = 1.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
Determine o problema dual e encontre a solução ótima dual usando
solução gráfica.
min
f (x1 , x2 ) = 2x1 + x2
s.a
−2x1 + 3x2 ≥ 9
3x1 + 2x2 ≥ 12
x1 ≥ 0, x2 ≥ 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
Determine o problema dual e encontre a solução ótima dual usando
solução gráfica.
min
f (x1 , x2 ) = 2x1 + x2
s.a
−2x1 + 3x2 ≥ 9
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3x1 + 2x2 ≥ 12
3p1 + 2p2 ≤ 1
x1 ≥ 0, x2 ≥ 0.
p1 ≥ 0, p2 ≥ 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
λ2
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3p1 + 2p2 ≤ 1
p1 ≥ 0, p2 ≥ 0.
λ1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
λ2
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3p1 + 2p2 ≤ 1
p1 ≥ 0, p2 ≥ 0.
-1
λ1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
λ2
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3p1 + 2p2 ≤ 1
p1 ≥ 0, p2 ≥ 0.
-1
λ1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
λ2
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3p1 + 2p2 ≤ 1
p1 ≥ 0, p2 ≥ 0.
-1
λ1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
λ2
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3p1 + 2p2 ≤ 1
p1 ≥ 0, p2 ≥ 0.
-1
λ1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
λ2
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3p1 + 2p2 ≤ 1
p1 ≥ 0, p2 ≥ 0.
-1
λ1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(a)
λ2
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3p1 + 2p2 ≤ 1
p1 ≥ 0, p2 ≥ 0.
"
#
0
∗
p =
0.5
∗
g(p ) = 6
-1
λ1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(b)
A partir da solução ótima dual encontrada no item anterior, determine
uma solução ótima para o problema primal (sem resolvê-lo diretamente).
min
f (x1 , x2 ) = 2x1 + x2
s.a
−2x1 + 3x2 ≥ 9
max
s.a
g(p1 , p2 ) = 9p1 + 12p2
−2p1 + 3p2 ≤ 2
3x1 + 2x2 ≥ 12
3p1 + 2p2 ≤ 1
x1 ≥ 0, x2 ≥ 0.
p1 ≥ 0, p2 ≥ 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(b)
Teorema: Folgas Complementares.
I
Sejam x e p soluções factı́veis dos problemas primal e dual, respect.
Os vetores x e p são soluções ótimas dos respectivos problemas se, e
somente se,
(i) pi (ATi x − bi ) = 0, i = 1, . . . , m;
(ii) (cj − pT aj )xj = 0, j = 1, . . . , n.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(b)
I
I
Pelo Teorema das folgas complementares, temos que:
p1 (9 − (−2x1 + 3x2 ))
=
0
p2 (12 − (3x1 + 2x2 ))
=
0
(2 − (−2p1 + 3p2 ))x1
=
0
(1 − (3p1 + 2p2 ))x2
=
0
Sabemos que a solução ótima dual é p∗ = (0, 0.5). Assim, devemos ter
12 − (3x1 + 2x2 ) = 0. Além disso, substituindo essa solução nas duas
últimas equações, obtemos:
(2 − 1.5)x1
=
0 ⇒ x1 = 0
(1 − 1)x2
=
0 ⇒ x2 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 2(b)
I
Pelo Teorema das folgas complementares, temos que:
p1 (9 − (−2x1 + 3x2 ))
=
0
p2 (12 − (3x1 + 2x2 ))
=
0
(2 − (−2p1 + 3p2 ))x1
=
0
(1 − (3p1 + 2p2 ))x2
=
0
I
Logo, juntando esses resultados, obtemos:
12 − (3 ∗ 0 + 2x2 ) = 0 ⇒ 12 − 2x2 = 0 ⇒ x2 = 6;
I
Portanto, x∗ = (0, 6) é uma solução ótima do problema primal.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
I
A teoria de dualidade tem suas raı́zes nos trabalhos de Lagrange;
I
A otimização de uma função restrita a um domı́nio é tratada como a
otimização de uma função irrestrita penalizada;
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
I
Considere que o seguinte problema possua solução ótima x∗ :
min
f (x) = cT x
s.a
Ax = b
x≥0
I
Existe um vetor p∗ ∈ Rm tal que o seguinte problema é equivalente:
min
cT x + (p∗ )T (b − Ax)
s.a
x≥0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
I
Para um vetor p ∈ Rm arbitrário, temos uma relaxação:
f (x∗ )
I
=
min{cT x | Ax = b}
=
min{cT x + pT (b − Ax) | Ax = b}
≥
min{cT x + pT (b − Ax)}.
x≥0
x≥0
x≥0
Seja g(p) o valor ótimo deste problema relaxado (em função de p), i.e.
g(p) = min{cT x + pT (b − Ax)}.
x≥0
I
Para qualquer p ∈ Rm , temos g(p) ≤ f (x∗ ). Assim, temos um limitante
inferior para o valor ótimo do problema original.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
Surgem então as questões:
I
Qual será o vetor p∗ ∈ Rm que resulta no melhor limitante inferior?
I
Será que podemos garantir que g(p∗ ) = f (x∗ )?
Melhor limitante:
g(p∗ )
=
=
max g(p)
p∈Rm
max min{cT x + pT (b − Ax)}.
p∈Rm x≥0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
Temos que para p ∈ Rm arbitrário:
g(p)
=
min{cT x + pT (b − Ax)}
=
min{cT x + pT b − pT Ax}
=
pT b + min{cT x − pT Ax}
=
pT b + min{(cT − pT A)x}
x≥0
( n
)
X
T
T
p b + min
(cj − p aj )xj
=
=
x≥0
x≥0
x≥0
x≥0
pT b +
n
X
j=1
j=1
min (cj − pT aj )xj .
xj ≥0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
Observe que para cada j = 1, . . . , n, temos:

 −∞, se (cj − pT aj ) < 0,
min (cj − pT aj )xj =
xj ≥0

0, c.c.
(xj → ∞)
(xj = 0)
I
Sempre que essa expressão resulta em −∞, temos um limitante trivial;
(lembre-se que estamos buscando o limitante máximo)
I
Assim, queremos evitar esse tipo de limitante;
I
Basta restringirmos p t.q. cj − pT aj ≥ 0, j = 1, . . . , n;
I
Dessa forma, min (cj − pT aj )xj = 0.
xj ≥0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
Continuando a expressão para g(p), temos que:
g(p)
=
pT b +
=
pT b
n
X
j=1
min (cj − pT aj )xj
xj ≥0
para todo p ∈ Rm t.q. cj − pT aj ≥ 0, j = 1, . . . , n. Portanto,
g(p∗ )
=
=
=
max g(p)
p∈Rm
max {g(p) | AT p ≤ c}
p∈Rm
max {pT b | AT p ≤ c}.
p∈Rm
(problema dual)
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
Problema primal
min f (x) = cT x
s.a
Ax = b
x≥0
Problema dual
max g(p) = bT p
s.a
AT p ≤ c
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 1
Usando a teoria Lagrangiana, determine o problema dual do seguinte
problema de programação linear (sem usar a forma padrão):
min
f (x1 , x2 , x3 ) = c1 x1 + c2 x2 + c3 x3
s.a
a11 x1 + a12 x2 + a13 x3 = b1
a21 x1 + a22 x2 + a23 x3 ≤ b2
a31 x1 + a32 x2 + a33 x3 ≥ b3
x1 ≥ 0, x2 ≤ 0, x3 livre.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Teorema: Dualidade fraca.
I
Se x é uma solução factı́vel para o problema primal e p é uma
solução factı́vel para o problema dual, então bT p ≤ cT x.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Corolário 1:
1. Se o problema primal é ilimitado, então o dual é infactı́vel;
2. Se o problema dual é ilimitado, então o primal é infactı́vel.
Corolário 2:
1. Sejam x e p soluções factı́veis dos problemas primal e dual, respect.,
tais que bT p = cT x. Então, x e p são soluções ótimas dos problemas
primal e dual, respect.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Teorema: Dualidade forte.
I
Se um problema de programação linear tem solução ótima, então
seu dual também tem, e os respectivos valores ótimos são iguais.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Teorema: Lema de Farkas.
I
Sejam A uma matriz m × n e b ∈ Rm . Então, exatamente uma das
afirmações a seguir é válida:
1. Existe algum x ≥ 0 tal que Ax = b;
2. Existe algum vetor p ∈ Rm tal que pT A ≥ 0 e pT b < 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
a3
a2
a4
I
Representação vetorial das colunas de A = [a1 , a2 , a3 , a4 ];
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
a3
a2
a4
I
Representação vetorial das colunas de A = [a1 , a2 , a3 , a4 ];
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
a3
a4
I
Cone formado pelas colunas a1 , a2 , a3 , a4 ;
a2
cone: combinações
lineares não-negativas
das colunas de A
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
b
a4
I
a3
a2
cone: combinações
lineares não-negativas
das colunas de A
Caso 1: b pertence ao cone (i.e., pode ser escrito como uma
combinação linear positiva das colunas de A);
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
a4
a3
a2
cone: combinações
lineares não-negativas
das colunas de A
b
I
Caso 2: b não pertence ao cone (i.e., não pode ser escrito como
uma combinação linear positiva das colunas de A);
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
p
a3
a2
a4
b
I
Caso 2: Então existe p
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
p
a3
a2
T
p z =0
a4
b
I
Caso 2: Então existe p tal que pt z = 0 é hiperplano separador ;
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
p
a3
a2
T
p z =0
a4
pT z > 0
b
pT z < 0
I
Caso 2: Então existe p tal que pt z = 0 é hiperplano separador
(i.e., pT ai ≥ 0 e pT b < 0);
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
a3
a2
b
a4
p
I
Caso 2: Então existe p tal que pt z = 0 é hiperplano separador
(i.e., pT ai ≥ 0 e pT b < 0);
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
p T z =0
a1
a3
a2
b
a4
p
I
Caso 2: Então existe p tal que pt z = 0 é hiperplano separador
(i.e., pT ai ≥ 0 e pT b < 0);
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Ilustração
a1
b
a3
a2
a4
I
Caso 1: b pertence ao cone e, logo, não existe hiperplano separador.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Teorema: Lema de Farkas.
I
Sejam A uma matriz m × n e b ∈ Rm . Então, exatamente uma das
afirmações a seguir é válida:
1. Existe algum x ≥ 0 tal que Ax = b;
2. Existe algum vetor p ∈ Rm tal que pT A ≥ 0 e pT b < 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 4
Mostre que o par primal-dual de problemas a seguir satisfaz o Lema de
Farkas.
min
x1 + 2x2
max
p1 + 3p2
s.a
x1 + x2 = 1
s.a
p1 + 2p2 = 1
2x1 + 2x2 = 3
p1 + 2p2 = 2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 4
I
Para aplicarmos o Lema de Farkas, precisamos colocar o problema
primal na forma padrão. Assim:
min
s.a
−
+
−
x+
1 − x1 + 2x2 − 2x2
−
+
+
x+
1 − x1 + x2 − x2 = 1
⇒
−
+
+
2x+
1 − 2x1 + 2x2 − 2x2 = 3
−
+
−
x+
1 , x1 , x2 , x2 ≥ 0
max
s.a
p1 + 3p2
p1 + 2p2 ≤ 1
−p1 − 2p2 ≤ −1
p1 + 2p2 ≤ 2
−p1 − 2p2 ≤ −2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 4
3
2
1
1
2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 4
3
2
a1
1
1
2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 4
3
2
a1
1
1
a2
2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 4
3
2
b
a1
1
1
a2
2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 4
3
2
b
a1
1
1
a2
2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Exercı́cios - Lista 2
. Exercı́cio 4
3
2
b
a1
1
1
2
p
a2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Teorema: Lema de Farkas. (Forma 2)
I
Sejam A uma matriz m × n e b ∈ Rm . Então, exatamente uma das
afirmações a seguir é válida:
1. Existe algum x ≥ 0 tal que Ax = b;
2. Existe algum vetor p ∈ Rm tal que pT A ≤ 0 e pT b > 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Lema de Farkas: Interpretação
I
Se existe p ∈ Rm tal que pT A ≤ 0 e pT b > 0, então p pode ser um
raio de subida no espaço dual; (dual ilimitado se for factı́vel)
Definição: Raio.
I
Considere o poliedro S = {p ∈ Rm |AT p ≤ c}. O vetor r ∈ S é chamado
de raio quando satisfaz p + εr ∈ S, para todo p ∈ S e escalar ε ≥ 0.
Definição: Raio de subida.
I
Considere o poliedro S = {p ∈ Rm |AT p ≤ c} contendo um raio r ∈ S.
Seja g : S → R um funcional linear arbitrário. Se g(p + εr) > g(p), para
todo p ∈ S e escalar ε ≥ 0, então r é chamado de raio de subida de g.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Teorema: Lema de Farkas. (Forma 3)
I
Sejam A uma matriz m × n e b ∈ Rm . Então, exatamente uma das
afirmações a seguir é válida:
1. Existe algum r ∈ Rn tal que Ar = 0, cT r < 0 e r ≥ 0;
2. Existe algum p ∈ Rm tal que AT p ≤ c.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Teorema: Folgas Complementares.
I
Sejam x e p soluções factı́veis dos problemas primal e dual,
respectivamente. Os vetores x e p são soluções ótimas dos
respectivos problemas se, e somente se,
(i) pi (ATi x − bi ) = 0, i = 1, . . . , m;
(ii) (cj − pT aj )xj = 0, j = 1, . . . , n.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Problema primal
min f (x) = cT x
s.a
Ax = b
x≥0
Problema dual
max g(p) = bT p
s.a
AT p ≤ c
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Problema primal
min f (x) = cT x
s.a
Ax ≥ b
x≥0
Problema dual
max g(p) = bT p
s.a
AT p ≤ c
p≥0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Propriedades
Teorema: Folgas Complementares.
I
Sejam x e p soluções factı́veis dos problemas primal e dual,
respectivamente. Os vetores x e p são soluções ótimas dos
respectivos problemas se, e somente se,
(i) pi (ATi x − bi ) = 0, i = 1, . . . , m;
(ii) (cj − pT aj )xj = 0, j = 1, . . . , n.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições de otimalidade
I
Considere o problema primal na forma padrão;
(sem perda de generalidade)
I
Vamos reescrever o Teorema das Folgas Complementares:
I
Sejam x e p soluções factı́veis dos problemas primal e dual,
respectivamente. Os vetores x e p são soluções ótimas dos
respectivos problemas se, e somente se,
(i) pi (ATi x − bi ) = 0, i = 1, . . . , m;
(ii) (cj − pT aj )xj = 0, j = 1, . . . , n.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições de otimalidade
I
Considere o problema primal na forma padrão;
(sem perda de generalidade)
I
Vamos reescrever o Teorema das Folgas Complementares:
I
Sejam x ∈ Rn e p ∈ Rm tais que
Ax =
b
x ≥
0
AT p
≤
c
Os vetores x e p são soluções ótimas dos respectivos problemas se, e
somente se,
(i) pi (ATi x − bi ) = 0, i = 1, . . . , m;
(ii) (cj − pT aj )xj = 0, j = 1, . . . , n.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições de otimalidade
I
Considere o problema primal na forma padrão;
(sem perda de generalidade)
I
Vamos reescrever o Teorema das Folgas Complementares:
I
Sejam x ∈ Rn e p ∈ Rm tais que
Ax =
b
x ≥
0
AT p
≤
c
Os vetores x e p são soluções ótimas dos respectivos problemas se, e
somente se, (cj − pT aj )xj = 0, j = 1, . . . , n.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições de otimalidade
I
Considere o problema primal na forma padrão;
(sem perda de generalidade)
I
Vamos reescrever o Teorema das Folgas Complementares:
Os vetores x ∈ Rn e p ∈ Rm são soluções ótimas dos problemas
primal e dual, respectivamente, se e somente se, satisfazem
Ax
= b
AT p
≤ c
T
(cj − p aj )xj
x
=
0, j = 1, . . . , n,
≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições de otimalidade
I
Considere os problemas primal e dual na forma padrão;
(sem perda de generalidade)
I
Vamos reescrever o Teorema das Folgas Complementares:
Os vetores x ∈ Rn , p ∈ Rm e s ∈ Rn são soluções ótimas dos
problemas primal e dual, respectivamente, se e somente se,
satisfazem
Ax
= b
T
A p+s = c
sj xj
=
0, j = 1, . . . , n
x, s ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições de otimalidade
I
Com isso, nós acabamos de deduzir um dos principais resultados em
Otimização (linear e não-linear):
Condições KKT (Karush-Kuhn-Tucker)
Ax =
b
A p+s =
c
T
sj xj
=
x, s ≥
0, j = 1, . . . , n
0
I
Em programação linear, temos que as condições KKT são
necessárias e suficientes para otimalidade;
I
Para problemas de otimização em geral, são condições necessárias
apenas (e podem exigir algumas condições a mais).
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT
“When Kuhn and Tucker proved the Kuhn-Tucker theorem in 1950 they
launched the theory of non-linear programming. However, in a sense this
theorem had been proven already: In 1939 by W. Karush in a master’s
thesis, which was unpublished; in 1948 by F. John in a paper that was at
first rejected by the Duke Mathematical Journal; and possibly earlier by
Ostrogradsky and Farkas.”
Kjeldsen, T.H. A Contextualized Historical Analysis of the Kuhn-Tucker
Theorem in Nonlinear Programming: The Impact of World War II. Historia
Mathematica 27(4), 331–361, 2000.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT
Considere o problema de Otimização (geral)
min
f (x1 , . . . , xn )
s.a
h1 (x1 , . . . , xn ) = 0
..
.
hl (x1 , . . . , xn ) = 0
g1 (x1 , . . . , xn ) ≤ 0
..
.
gm (x1 , . . . , xn ) ≤ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT
Considere o problema de Otimização (geral)
min
f (x)
s.a
h(x) = 0
g(x) ≤ 0
com f : Rn → R, h : Rn → Rl e g : Rn → Rm .
Definimos a função Lagrangiana do problema:
L(x, p, s) = f (x) + pT h(x) + sT g(x)
com sT ≥ 0.
(1)
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT
Teorema: Condições necessárias de primeira ordem (condições KKT).
I
Suponha que x seja um ótimo local do problema de otimização (1),
que as funções f , g e h sejam continuamente diferenciáveis e que
certas condições de qualificação sejam válidas. Então existe um
vetor de multiplicadores de Lagrange (p, s) tal que as seguintes
condições são satisfeitas:
∇x L(x, p, s)
=
0
hk (x)
=
0, k = 1, . . . , l
gj (x) ≤ 0, j = 1, . . . , m
sj gj (x)
=
0, j = 1, . . . , m
sj
≥
0, j = 1, . . . , m
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT
I
No caso particular de programação linear, temos:
f (x) = cT x;
h(x) = b − Ax;
gj (x) = − xj , j = 1, . . . , n;
L(x, p, s) = cT x + pT (b − Ax) − sT (x)
⇒ ∇x L(x, p, s) = c − AT p − s
I
Além disso, as condições de qualificação são sempre satisfeitas;
I
Pela dualidade forte, as condições são também suficientes.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT
Teorema: Condições necessárias de primeira ordem (condições KKT).
I
Suponha que x seja um ótimo local do problema de otimização (1),
que as funções f , g e h sejam continuamente diferenciáveis e que
certas condições de qualificação sejam válidas. Então existe um
vetor de multiplicadores de Lagrange (p, s) tal que as seguintes
condições são satisfeitas:
∇x L(x, p, s)
=
0
hk (x)
=
0, k = 1, . . . , l
gj (x) ≤ 0, j = 1, . . . , m
sj gj (x)
=
0, j = 1, . . . , m
sj
≥
0, j = 1, . . . , m
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT
I
Assim, a teoria dos multiplicadores de Lagrange é a base da teoria
de dualidade;
I
Que por sua vez é a base das condições KKT;
I
Que por sua vez são a base dos métodos de solução em otimização.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT: Métodos de solução
Ax =
T
A p+s =
sj xj
=
x, s ≥
b
(2)
c
(3)
0, j = 1, . . . , n
(4)
0
(5)
I
Onde está a dificuldade? Nas folgas complementares (são não-lineares);
I
Métodos tipo simplex: particionam as variáveis em dois conjuntos, B e N
(i.e. B ∩ N = ∅ e B ∪ N = {1, 2, . . . , n}). Para garantir (4), impõem
xj = 0, ∀j ∈ N , e sj = 0, ∀j ∈ B. (2) e (3) são sempre satisfeitos. Além
disso, a partição deve garantir:
I
I
Método primal simplex: x ≥ 0 (factibilidade primal, busca-se s ≥ 0);
Método dual simplex: s ≥ 0 (factibilidade dual, busca-se x ≥ 0).
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Dualidade
. Condições KKT: Métodos de solução
I
Métodos de pontos interiores: Perturbam a dificuldade do sistema KKT:
Ax
=
b
(6)
A p+s
=
c
(7)
sj xj
=
µ, j = 1, . . . , n
(8)
T
para µ > 0. Baseiam-se na direção do método de Newton para
determinam direções de busca, tais que iterativamente o valor de µ é
estritamente reduzido e, assim, µ → 0. Além disso:
I
Método primal-dual: usa (6) e (7) para calcular as direções de busca.
É chamado factı́vel quando (6) e (7) devem ser satisfeitos em toda
iteração. Caso contrário, o método é chamado infactı́vel.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
I
Vamos agora estudar o método (primal) simplex;
I
Método iterativo para resolver problemas de programação linear;
I
Em média, menos de 3m iterações para obter a solução ótima
(embora tenha complexidade não-polinomial);
I
Proposto em 1947 por George B. Dantzig;
I
2000: reconhecido como um dos 10 algoritmos mais importantes do
século 20 (IEEE);
I
2012: ”The algorithm that runs the world”(NewScientist).
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
I
n putting together this issue of Computing in
Science & Engineering, we knew three things:
it would be difficult to list just 10 algorithms;
it would be fun to assemble the authors and
read their papers; and, whatever we came up
with in the end, it would be controversial. We
tried to assemble the 10 algorithms with the greatest
influence on the development and practice of science
and engineering in the 20th century. Following is our
list (here, the list is in chronological order; however,
the articles appear in no particular order):
• Metropolis Algorithm for Monte Carlo
• Simplex Method for Linear Programming
hand in developing the algorithm, and in other cases,
the author is a leading authority.
Monte Carlo methods are powerful tools for evaluating the properties of complex, many-body systems,
as well as nondeterministic processes. Isabel Beichl and
Francis Sullivan describe the Metropolis Algorithm.
We are often confronted with problems that have an
enormous number of dimensions or a process that involves a path with many possible branch points, each
of which is governed by some fundamental probability
of occurence. The solutions are not exact in a rigorous
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
NewScientist, 2012: ”You might not have heard of the algorithm that
runs the world. Few people have, though it can determine much that
goes on in our day-to-day lives: the food we have to eat, our schedule at
work, when the train will come to take us there. Somewhere, in some
server basement right now, it is probably working on some aspect of your
life tomorrow, next week, in a year’s time.”
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
I
Métodos tipo simplex se baseiam em partições [B, N ];
I
Surgem então as questões:
I
I
I
Qual a partição ótima?
I
É viável testarmos todas as partições possı́veis?
I
Se tivermos uma partição qualquer, como detectar se ela é ótima?
I
Se não for ótima, é sempre possı́vel determinar uma melhor?
Para enumerar todas as partições: combinar os n ı́ndices, m a m;
n!
Isso exigiria avaliar até
partições!
m!(n − m)!
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Problema das ligas metálicas na forma padrão:
min
s.a
−3x1 − 2x2 + 0x3 + 0x4 + 0x5
0.5x1 + 0.3x2 + x3
0.1x1 + 0.2x2
0.4x1 + 0.5x2
=3
+ x4
=1
+ x5 = 3
x1 , x 2 , x 3 , x 4 , x 5 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
f (x) = −3x1 − 2x2
min
s.a
0.5x1 + 0.3x2 + x3
0.1x1 + 0.2x2
=3
+ x4
0.4x1 + 0.5x2
=1
+ x5 = 3
x1 , x 2 , x 3 , x 4 , x 5 ≥ 0

x1

 x2


x =  x3

 x
 4
x5





,





−3


 −2 




c =  0 ,


 0 



0.5

A= 
 0.1
0.4
0.3
1
0

0 
,
1
0.2
0
1
0.5
0
0
0
Ax = b

0


3



b= 
 1 
3
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
f (x) = −3x1 − 2x2 + 0x3 + 0x4 + 0x5

x1

 x2


f (x) = [−3, −2, 0, 0, 0]  x3

 x
 4
x5
f (x) = cT x









Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial



 0.5x1 + 0.3x2 + x3
0.1x1 + 0.2x2
=3
+ x4


 0.4x + 0.5x
1
2
+ x5 = 3


0.5
0.3
1
0

 0.1

0.4
0.2
0
1
0.5
0
0
=1
x1


0
 x2


0 
  x3

 x4
1

x5
Ax = b




3



 = 1




3





Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial



 0.5x1 + 0.3x2 + x3
0.1x1 + 0.2x2
=3
+ x4
=1


 0.4x + 0.5x
1
2
+ x5 = 3
a1 x1 + a2 x2 + a3 x3 + a4 x4 + a5 x5 = b

0.5


0.3


1


0


0


3













 0.1  x1 +  0.2  x2 +  0  x3 +  1  x4 +  0  x5 =  1 












0.5
0
0
1
3
0.4
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
Para uma dada partição B = {1, 2, 3}, N = {4, 5} :
AB xB + a4 x4 + a5 x5 = b
B := AB


x1







0.5
0.3
1

 0.1

0.4
0.2
 







 





0 
  x2  +  1  x4 +  0  x5 =  1 
x3
0
0
1
3
0.5
0
0
3
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
Para uma dada partição B = {1, 2, 3}, N = {4, 5} :
BxB + a4 x4 + a5 x5 = b
(B := AB )

0.5

 0.1

0.4
0.3
0.2
0.5
 
x1
0

 




+
0   x2   1
0
x3
0
1



0


 x4 +  0


1

3


 x5 =  1


3





Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
Para uma dada partição B = {1, 2, 3}, N = {4, 5} :
BxB = b − a4 x4 − a5 x5
(B := AB )

0.5

 0.1

0.4
0.3
0.2
0.5
 
x1
3

 




=
0   x2   1
x3
3
0
1



0
 
− 1
 
0

0


 x4 −  0


1



 x5

Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
Para uma dada partição B = {3, 2, 5}, N = {1, 4} :
BxB = b − a1 x1 − a4 x4
(B := AB )



3


0.5


0

 0

0
0.2



 






 



0 
  x2  =  1  −  0.1  x1 −  1  x4
x5
1
3
0.4
0
Como deixar apenas o vetor xB do lado esquerdo?
0

0.3
0.5
x3

1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
Como deixar apenas o vetor xB do lado esquerdo?
xB = B −1 b − B −1 a1 x1 − B −1 a4 x4

x3


1 0.3 0
−1 
3
 
1 0.3 0
−1 
0.5


1 0.3 0
−1 
0


x2
= 
0 0.2 0

1
− 
0 0.2 0

0.1
 x1 −
0 0.2 0

1
 x4
x5
0 0.5 1

3
0 0.5 1

0.4
0 0.5 1

0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
Como deixar apenas o vetor xB do lado esquerdo?
xB = B −1 b − B −1 a1 x1 − B −1 a4 x4

x3


x2
= 
x5

1 −1.5 0

3
 
1 −1.5 0

0.5

0

1
− 
0

0.1
 x1 −
5
0
0 −2.5 1
3
5
0
0 −2.5 1
0.4

1 −1.5 0

0

0

1
 x4
5
0
0 −2.5 1
0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
Como deixar apenas o vetor xB do lado esquerdo?
xB = B −1 b − B −1 a1 x1 − B −1 a4 x4

x3


1.5
 
0.35


 
 



 x2 =  5 −  0.5  x1 − 
x5
0.5
0.15
−1.5
5
−2.5


 x4
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
. Escrever xB em função de xN
No caso geral, as restrições primais podem ser escritas como:
BxB +
X
aj x j = b
j∈N
BxB = b −
X
aj x j
j∈N
xB = B −1 b−
X
j∈N
B −1 aj xj (solução geral primal)
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
. Escrever xB em função de xN
Solução particular com xN = 0:
xB = B −1 b −
X
j∈N
−1
B
aj x j
x̄B = B −1 b, x̄N = 0 (solução básica primal)
(observe que usamos a barra sobre x para indicar que é uma solução particular)
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
AT p + s = c


0.5
0.1
0.4

 0.3


 1


 0

0
0.2

0.5 


0 


0 

1
0
1
0


p1

 p2

p3
s1

 s
 2
 
 +  s3
 

 s4

s5



−3





 −2 






 = 0 







 0 



0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
B T p + s B = cB
N T p + s N = cN
(B := AB , N := AN )
Para uma dada partição B = {1, 2, 3}, N = {4, 5} :





−3

0.1
0.4

 0.3

1
0.2

 




 



0.5 
  p2  +  s2  =  −2 
0
p3
s3
0







p1


0
s4
0
  p2  + 
 =



1
s5
0
p3


0
0
1
0
0
p1

0.5
s1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
B T p + s B = cB
N T p + s N = cN
(B := AB , N := AN )
Para uma dada partição B = {3, 2, 5}, N = {1, 4} :

1

 0.3

0


0
0.2
0
0.5
0.1
0
1
0



0.5 

1



0.4


0
p1


s3
 

p2 
 +  s2
p3
s5


p1

s
 1
p2 
+
s4
p3


0




 =  −2 



0


 =
−3
0


Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
B T p = cB − s B
N T p + s N = cN
(B := AB , N := AN )
Para uma dada partição B = {3, 2, 5}, N = {1, 4} :

1

 0.3

0


0
0.2
0
0.5
0.1
0
1
0



0.5 

1



0.4


0

s3



 

 
p2 
 =  −2  −  s2
p3
0
s5




p1

s1
−3

 =
p2 
+
s4
0
p3



p1

0




Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
pT B = cTB − sTB
N T p + s N = cN
(B := AB , N := AN )
Para uma dada partição B = {3, 2, 5}, N = {1, 4} :

p1
T 
1

0.5
0.1
0
1
0


0
T

s3
T

 






0 
 =  −2  −  s2 
0.5 1
0
s5







p1


0.4
s1
−3
 =

  p2  + 


0
s4
0
p3
 

 p2   0

 
p3
0

0.3
0.2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
pT = cTB B −1 − sTB B −1
N T p + s N = cN
(B := AB , N := AN )
Para uma dada partição B = {3, 2, 5}, N = {1, 4} :

p1
T

0
T 
1


 

 p2  =  −2   0



 
p3
0
0


0.5
0.1
0
1
−1.5
5
−2.5


p1

0.4
  p2

0
p3
0


s3
 

0 
 −  s2
1
s5




s1
 +


s4
T 
1
 
  0
 
0

=
−3
0
−1.5
5
−2.5


0


0 

1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
pT = cTB B −1 − sTB B −1
N T p + s N = cN
(B := AB , N := AN )
Para uma dada partição B = {3, 2, 5}, N = {1, 4} :

p1
T

0
T

s3
T 






 p2  =  −10  −  s2 






p3
0
s5





p1


0.5 0.1 0.4

  p2  + 


0
1
0
p3
1

 0

0
s1
s4

−1.5
0

−2.5

0 

1


5
 =
−3
0

Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
pT = cTB B −1 − sTB B −1
pT aj + sj = cj , ∀j ∈ N
(B := AB , N := AN )
Para uma dada partição B = {3, 2, 5}, N = {1, 4} :

h
p1
p1
T

0
T

s3
T 
1
−1.5
0

 






 p2  =  −10  −  s2   0
5
0 
 






0 −2.5 1
p3
0
s5




0.5
0
i
h
i




p2 p3 
p1 p2 p3 
 0.1  + s1 = −3;
 1  + s4 = 0
0.4
0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Notação matricial
pT = cTB B −1 − sTB B −1
sj = cj − pT aj , ∀j ∈ N
(B := AB , N := AN )
Para uma dada partição B = {3, 2, 5}, N = {1, 4} :
T
T
T 
0

 





 p2  =  −10  −  s2   0
5
0



 


p3
0 −2.5 1
0
s5


0.5
h
h
i


s1 = −3 − p1 p2 p3 
s4 = 0 − p1 p2
 0.1  ;
0.4




p1

0

s3
1
−1.5

p3
0

i

 1 


0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Solução básica
Assim, no caso geral, as restrições duais resultam em:
pT = cTB B −1 − sTB B −1
sj = cj − pT aj , ∀j ∈ N
(Solução geral dual)
Fixando s̄B = 0, obtemos a solução particular:
p̄T = cTB B −1 , s̄B = 0,
s̄j = cj − p̄T aj , ∀j ∈ N .
(Solução básica dual)
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Solução básica
I
Métodos tipo simplex partem de uma partição inicial e,
iterativamente, vão modificando essa partição até obter a ótima;
I
Os métodos consideram partições básicas apenas;
I
B : ı́ndices básicos ou base;
I
B = AB : matriz básica (deve ser invertı́vel);
I
N : ı́ndices não-básicos.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Solução básica
Determine a solução ótima do problema de programação linear:
min
−3x1 − 2x2 + 0x3 + 0x4 + 0x5
s.a
0.5x1 + 0.3x2 + x3 = 3
0.1x1 + 0.2x2 + x4 = 1
0.4x1 + 0.5x2 + x5 = 3
x1 , x 2 , x 3 , x 4 , x 5 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Solução básica
B = {3, 4, 5} e N = {1, 2};


1
B=  0
0
0
1
0
0
0 
1
T
h
i
−3
−2
0
0
0
0.5

A =  0.1
0.4
0.3
0.2
0.5
1
0
0
0
1
0



3
0



0  b= 1 
3
1
c
=

I Calcular a solução básica primal:


3
x̄B = B −1 b =  1 
3
I Essa solução é ótima?
I Como obter uma solução melhor?
I Calcular a solução básica dual:
−1
p̄T = cT
=
BB
0 0 0
s̄1 = c1 − p̄T a1 = − 3
s̄2 = c2 − p̄T a2 = − 2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Condições KKT (Karush-Kuhn-Tucker)
Ax =
b
(9)
AT p + s =
c
(10)
0, j = 1, . . . , n
(11)
0
(12)
sj xj
=
x, s ≥
I
Toda solução básica satisfaz (9), (10) e (11);
I
Para ser ótima, falta satisfazer (12);
I
No método primal simplex, toda solução básica deve ser primal factı́vel e,
portanto, deve satisfazer x ≥ 0;
I
Devemos buscar pela partição básica que também satisfaça s ≥ 0.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Função objetivo primal
Para o exemplo anterior, observe que se escrevermos a
função objetivo primal em função de xN , obtemos:
(B = {3, 2, 5}, N = {1, 4})
f (x) = −3x1 − 2x2 + 0x3 + 0x4 + 0x5

x3





x1



f (x) = [0, −2, 0] 
 x2  + [−3, 0]
x4
x5
f (x) = cTB xB + cTN xN
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Função objetivo primal
f (x) = cTB xB + cTN xN


f (x) = cTB B −1 b −
X
B −1 aj xj  + cTN xN
j∈N
f (x) = cTB B −1 b −
X
cTB B −1 aj xj + cTN xN
j∈N
f (x) = cTB B −1 b +
X
j∈N
cj − cTB B −1 aj xj
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Função objetivo primal
f (x) = cTB B −1 b +
X
cj − cTB B −1 aj xj
j∈N
Em uma solução básica, temos que x̄B = B −1 b e pT = cTB B −1 . Assim:
f (x)
=
cTB x̄B +
=
cTB x̄B
X
cj − pT aj xj
j∈N
+
X
sj xj
j∈N
Com isso, sj = cj − pT aj é conhecido como custo relativo de xj .
Nesse contexto, p é conhecido como vetor multiplicador simplex.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Temos até o momento:
I
Solução básica primal: x̄B = B −1 b, x̄N = 0;
I
Solução básica dual: p̄T = cTB B −1 , s̄B = 0, s̄j = cj − p̄T aj , ∀j ∈ N ;
I
As folgas duais sj são os custos relativos de xj , j ∈ N ;
I
Toda solução básica deve ser primal factı́vel (x̄B ≥ 0).
Ainda precisamos determinar:
I
Como saber se a partição básica atual é ótima?
R: sj ≥ 0, j ∈ N .
I
Se não for ótima, como obter uma melhor?
R: Perturbamos uma das variáveis primais não-básicas! (por exemplo,
aquela com o melhor custo relativo!)
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Perturbação da variável primal não-básica
Para o exemplo anterior, com B = {3, 2, 5} e N = {1, 4}, se x1 for escolhido
para ser perturbado, qual o maior valor possı́vel dessa perturbação?
xB = B −1 b − (B −1 a1 )x1 − (B −1 a4 )x4
xB = x̄B − (B −1 a1 )x1 − (B −1 a4 )x4

x3


1.5
 
0.35


 
 



 x2 =  5 −  0.5  x1 − 
x5
0.5
5


 x4
−2.5
0.15
Maior valor para x1 : min
−1.5
1.5 5 0.5
,
,
0.35 0.5 0.15
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Perturbação da variável primal não-básica
Para o exemplo anterior, com B = {3, 2, 5} e N = {1, 4}, se x1 for escolhido
para ser perturbado, qual o maior valor possı́vel dessa perturbação?
xB = B −1 b − (B −1 a1 )x1 − (B −1 a4 )x4
xB = x̄B − (B −1 a1 )x1 − (B −1 a4 )x4

x3


1.5
 
0.35


 
 



 x2 =  5 −  0.5  x1 − 
x5
0.5
5


 x4
−2.5
0.15
Maior valor para x1 : min
−1.5
n x̄
x̄B2 x̄B3 o
,
0.35 0.5 0.15
B1
,
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Perturbação da variável primal não-básica
Para o exemplo anterior, com B = {3, 2, 5} e N = {1, 4}, se x1 for escolhido
para ser perturbado, qual o maior valor possı́vel dessa perturbação?
xB = B −1 b − (B −1 a1 )x1 − (B −1 a4 )x4
xB = x̄B − yx1 − (B −1 a4 )x4

x3


1.5
 
0.35



 
 


 x2 =  5 − 0.5 x1 − 
x5
0.15
0.5
Maior valor para x1 : min
x̄B1 x̄B2 x̄B3
,
,
y1 y2 y3
−1.5
5


 x4
−2.5
, com y = B −1 a1 .
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Perturbação da variável primal não-básica
Para o exemplo anterior, com B = {3, 2, 5} e N = {1, 4}, se x1 for escolhido
para ser perturbado, qual o maior valor possı́vel dessa perturbação?
xB = B −1 b − (B −1 a1 )x1 − (B −1 a4 )x4
xB = x̄B − (B −1 a1 )x1 − (B −1 a4 )x4

x3


1.5
 
0.35



 
 


 x2 =  5 − 0.5 x1 − 
x5
0.5
0.15
−1.5
5


 x4
−2.5
5
Maior valor para x4 : min ×, , × = 1
5
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Perturbação da variável primal não-básica
Para o exemplo anterior, com B = {3, 2, 5} e N = {1, 4}, se x1 for escolhido
para ser perturbado, qual o maior valor possı́vel dessa perturbação?
xB = B −1 b − (B −1 a1 )x1 − (B −1 a4 )x4
xB = x̄B − (B −1 a1 )x1 − yx4

x3


1.5
 
0.35



 
 


 x2 =  5 − 0.5 x1 − 
x5
0.5
0.15
−1.5
5


x4
−2.5
x̄B
Maior valor para x4 : min ×, 2 , × , com y = B −1 a4 .
y2
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Perturbação da variável primal não-básica
Para o exemplo anterior, com B = {3, 2, 5} e N = {1, 4}, se x1 for escolhido
para ser perturbado, qual o maior valor possı́vel dessa perturbação?
xB = B −1 b − (B −1 a1 )x1 − (B −1 a4 )x4
xB = x̄B − (B −1 a1 )x1 − (B −1 a4 )x4

x3


1.5
 
0.35



 
 


 x2 =  5 −  0.5  x1 − 
x5
0.5
0.15
Maior valor para xk :
min
i=1,...,m
−1.5
5


 x4
−2.5
x̄Bi
, yi > 0 , com y = B −1 ak .
yi
Este cálculo é chamado de teste da razão.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Com isso, temos tudo o que precisamos:
I
Solução básica primal factı́vel: x̄B = B −1 b ≥ 0, x̄N = 0;
I
Solução básica dual: p̄T = cTB B −1 , s̄B = 0, s̄j = cj − p̄T aj , ∀j ∈ N ;
I
As folgas duais sj são os custos relativos de xj , j ∈ N , e indicam qual
variável perturbar;
I
O teste da razão determina a maior perturbação possı́vel para um dado
xk , k ∈ N , tal que x continue factı́vel (x ≥ 0) após a perturbação;
I
A variável xk perturbada se torna não-nula e assim k deve entrar em B;
I
A variável xBi que se torna nula pode sair de B;
I
Esse processo é chamado de troca de base, o que determina uma iteração
do método simplex.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Determine a solução ótima do problema de programação linear:
min
−3x1 − 2x2 + 0x3 + 0x4 + 0x5
s.a
0.5x1 + 0.3x2 + x3 = 3
0.1x1 + 0.2x2 + x4 = 1
0.4x1 + 0.5x2 + x5 = 3
x1 , x 2 , x 3 , x 4 , x 5 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 1: B = {3, 4, 5} e N = {1, 2};


1
B=  0
0
0
1
0
0
0  = B −1
1
T
h
i
−3
−2
0
0
0
0.5

A =  0.1
0.4
0.3
0.2
0.5
1
0
0
0
1
0



3
0



0  b= 1 
3
1
c
=

I Calcular a solução básica primal:

x̄B = B
−1
3

I x1 entrará na base.
b=1
3
I Teste da razão:
I Calcular a solução básica dual:
−1
p̄T = cT
=
BB
0 0 0
s̄1 = c1 − p̄T a1 = − 3
s̄2 = c2 − p̄T a2 = − 2

y=B
−1

0.5
a1 =  0.1 
0.4
x̄B1
3 x̄B2
1 x̄B3
3
=
;
=
;
=
.
y1
0.5 y2
0.1 y3
0.4
I min:
x̄B1
y1
= 6 ⇒ x3 sairá da base.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 2: B = {1, 4, 5} e N = {3, 2};



0.5
B =  0.1
0.4
0
1
0
0
2
0  B −1 =  −0.2
1
−0.8
0
1
0

0
0 
1
T
h
i
−3
−2
0
0
0
0.5

A =  0.1
0.4
0.3
0.2
0.5
1
0
0
0
1
0



3
0



0  b= 1 
3
1
c
=

I Calcular a solução básica primal:

x̄B = B
−1
6

I x2 entrará na base.
b =  0.4 
0.6
I Teste da razão:
I Calcular a solução básica dual:
−1
p̄T = cT
=
BB
−6 0 0
s̄3 = c3 − p̄T a3 =

y=B
6
s̄2 = c2 − p̄T a2 = − 0.2
−1

0.6
a2 =  0.14 
0.26
x̄B1
6 x̄B2
0.4 x̄B3
0.6
=
;
=
;
=
.
y1
0.6 y2
0.14 y3
0.26
I min:
x̄B3
y3
⇒ x5 sairá da base.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 3: B = {1, 4, 2} e N = {3, 5};
"
"
#
B=
0.5
0
0.3
0.1
1
0.2
0.4
0
0.5
B −1 =
3.84
0
−2.30
0.23
1
−0.54
−3.07
0
3.84
I Calcular a solução básica primal:

x̄B = B
−1
4.62
−5.36 0 −0.78
s̄3 = c3 − p̄T a3 = 5.36
s̄5 = c5 −
0
0
0.5

A =  0.1
0.4
0.3
0.2
0.5
1
0
0
0
1
0



3
0



0  b= 1 
3
1

I Não! Os custos relativos são ≥ 0.
I Calcular a solução básica dual:
p̄T a5
i
0
I É possı́vel melhorar essa solução?
2.30
−1
p̄T = cT
=
BB
h
−2
=

b =  0.08 
#
T
−3
c
= 0.78
I Ou seja, a solução dual é factı́vel.
I Portanto: solução ótima encontrada!
I x? = (4.62, 2.3, 0, 0.08, 0);
I f (x? ) = cT x = −18.46;
B B
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 1: B = {3, 4, 5} e N = {1, 2};


1
B=  0
0
0
1
0
0
0  = B −1
1
T
h
i
−3
−2
0
0
0
0.5

A =  0.1
0.4
0.3
0.2
0.5
1
0
0
0
1
0



3
0



0  b= 1 
3
1
c
=

I Calcular a solução básica primal:

x̄B = B
−1
3

I x1 entrará na base.
b=1
3
I Teste da razão:
I Calcular a solução básica dual:
−1
p̄T = cT
=
BB
0 0 0
s̄1 = c1 − p̄T a1 = − 3
s̄2 = c2 − p̄T a2 = − 2

y=B
−1

0.5
a1 =  0.1 
0.4
x̄B1
3 x̄B2
1 x̄B3
3
=
;
=
;
=
.
y1
0.5 y2
0.1 y3
0.4
I min:
x̄B1
y1
= 6 ⇒ x3 sairá da base.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 1: B = {3, 4, 5} e N = {1, 2};


1
B=  0
0
0
1
0
0
0  = B −1
1
T
h
i
−3
−2
0
0
0
0.5

A =  0.1
0.4
0.3
0.2
0.5
1
0
0
0
1
0



3
0



0  b= 1 
3
1
c
=

I Calcular a solução básica primal:

x̄B = B
−1
3

I x1 entrará na base.
b=1
3
I Teste da razão:
I Calcular a solução básica dual:
−1
p̄T = cT
=
BB
0 0 0
s̄1 = c1 − p̄T a1 = − 3
s̄2 = c2 − p̄T a2 = − 2

y=B
−1

0.5
a1 =  0.1 
0.4
x̄B1
3 x̄B2
1 x̄B3
3
=
;
=
;
=
.
y1
0.5 y2
0.1 y3
0.4
I min:
x̄B1
y1
= 6 ⇒ x3 sairá da base.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 2: B = {1, 4, 5} e N = {3, 2};



0.5
B =  0.1
0.4
0
1
0
0
2
0  B −1 =  −0.2
1
−0.8
0
1
0

0
0 
1
T
h
i
−3
−2
0
0
0
0.5

A =  0.1
0.4
0.3
0.2
0.5
1
0
0
0
1
0



3
0



0  b= 1 
3
1
c
=

I Calcular a solução básica primal:

x̄B = B
−1
6

I x2 entrará na base.
b =  0.4 
0.6
I Teste da razão:
I Calcular a solução básica dual:
−1
p̄T = cT
=
BB
−6 0 0
s̄3 = c3 − p̄T a3 =

y=B
6
s̄2 = c2 − p̄T a2 = − 0.2
−1

0.6
a2 =  0.14 
0.26
x̄B1
6 x̄B2
0.4 x̄B3
0.6
=
;
=
;
=
.
y1
0.6 y2
0.14 y3
0.26
I min:
x̄B3
y3
⇒ x5 sairá da base.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 3: B = {1, 4, 2} e N = {3, 5};
"
"
#
B=
0.5
0
0.3
0.1
1
0.2
0.4
0
0.5
B −1 =
3.84
0
−2.30
0.23
1
−0.54
−3.07
0
3.84
I Calcular a solução básica primal:

x̄B = B
−1
4.62
−5.36 0 −0.78
s̄3 = c3 − p̄T a3 = 5.36
s̄5 = c5 −
0
0
0.5

A =  0.1
0.4
0.3
0.2
0.5
1
0
0
0
1
0



3
0



0  b= 1 
3
1

I Não! Os custos relativos são ≥ 0.
I Calcular a solução básica dual:
p̄T a5
i
0
I É possı́vel melhorar essa solução?
2.30
−1
p̄T = cT
=
BB
h
−2
=

b =  0.08 
#
T
−3
c
= 0.78
I Ou seja, a solução dual é factı́vel.
I Portanto: solução ótima encontrada!
I x? = (4.62, 2.3, 0, 0.08, 0);
I f (x? ) = cT x = −18.46;
B B
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
x5 =0
C
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Ilustração
x2
10
x3 =0
Para x = (x1 , x2 , x3 , x4 , x5 ):
I A: (0, 0, 3, 1, 3)
I B: (0, 5, 1.5, 0, 0.5)
I C: (3.33, 3.33, 0.33, 0, 0)
I D: (4.62, 2.3, 0, 0.08, 0)
I E: (6, 0, 0, 0.4, 0.6)
6
5
B
I Observe que não foi preciso
x5 =0
C
enumerar todos os pontos
extremos!
D
x4 =0
A
E
6
7.5
10
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex: Algoritmo (incompleto)
Entrada: B e N tal que B = AB é invertı́vel e B −1 b ≥ 0.
Passo 1: Calcular a solução básica primal: x̄B = B −1 b, x̄N = 0;
−1 , s̄ = c − p̄T a , ∀j ∈ N ;
Passo 2: Calcular a solução básica dual: p̄T = cT
j
j
j
BB
Passo 3: Determinar s̄k = min s̄j ;
j∈N
Passo 4: Se s̄k ≥ 0, então PARE! Solução ótima encontrada;
Senão, xk irá entrar na base;
Passo 5: Calcular y = B −1 ak ;
x̄
x̄B
Bi
l
Passo 6: Teste da razão:
| yi > 0 ;
= min
yl
yi
x̄B irá sair da base.
l
Passo 7: Atualizar B e N e voltar para o Passo 1.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Exercı́cio
Resolva o seguinte problema pelo método simplex:
max
x1 + 2x2
s.a
x1 + x2 ≤ 6
x1 − x2 ≤ 4
−x1 + x2 ≤ 4
x1 ≥ 0, x2 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Exercı́cio
Resolva o seguinte problema pelo método simplex:
min
5w1 + 6w2 + 3w3
s.a
5w1 + 5w2 + 3w3 ≥ 50
1w1 + 1w2 − 1w3 ≥ 20
7w1 + 6w2 − 9w3 ≥ 30
5w1 + 5w2 + 5w3 ≥ 35
2w1 + 4w2 − 15w3 ≥ 10
12w1 + 10w2 + 0w3 ≥ 90
0w1 + 1w2 − 10w3 ≥ 20
w1 , w2 , w3 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Exercı́cio
Resolva o seguinte problema pelo método simplex:
max
2x1 + 2x2
s.a
−x1 + x2 ≤ 3
2x1 − 3x2 ≤ 3
x1 ≥ 0, x2 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 1: B = {3, 4} e N = {1, 2};
1 0
B=
= B −1
0
c
T
=
A=
1
h
−2
−2
0
0
"
−1
2
1
−3
1
0
0
1
i
#
"
b=
3
3
#
I Calcular a solução básica primal:
xB = B −1 b =
3
3
I Calcular a solução básica dual:
−1
p T = cT
=
BB
0 0
I s1 < 0 ⇒ x1 entra na base.
I Teste da razão:
y = B −1 a1 =
s1 = c1 − pT a1 = − 2
s2 = c2 − pT a2 = − 2
x̄Bl
yl
= min
−1
2
x̄Bi
x̄B2
3
| yi > 0 =
=
yi
y2
2
I B2 = 4 ⇒ x4 sai da base.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 2: B = {3, 1} e N = {4, 2};
1 0.5
B −1 =
0
0.5
c
T
=
A=
h
−2
−2
0
0
"
−1
2
1
−3
1
0
0
1
i
#
"
b=
3
3
#
I Calcular a solução básica primal:
xB = B −1 b =
4.5
1.5
I Calcular a solução básica dual:
−1
pT = cT
=
BB
0 −1
s4 = c4 − pT a4 =
I s2 < 0 ⇒ x2 entra na base.
I Teste da razão:
y = B −1 a2 =
1
s2 = c2 − pT a2 = − 5
x̄Bl
yl
= min
I E agora?
−0.5
−1.5
x̄Bi
| yi > 0
yi
= min ∅
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 2: B = {3, 1} e N = {4, 2};
1 0.5
B −1 =
0
0.5
c
T
=
A=
h
−2
−2
0
0
"
−1
2
1
−3
1
0
0
1
i
#
"
b=
3
3
#
I Calcular a solução básica primal:
xB = B −1 b =
4.5
1.5
I Calcular a solução básica dual:
−1
pT = cT
=
BB
0 −1
s4 = c4 − pT a4 =
I s2 < 0 ⇒ x2 entra na base.
I Teste da razão:
y = B −1 a2 =
1
s2 = c2 − pT a2 = − 5
x̄Bl
yl
= min
I x2 → ∞
−0.5
−1.5
x̄Bi
| yi > 0
yi
= min ∅
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
Iteração 2: B = {3, 1} e N = {4, 2};
1 0.5
B −1 =
0
0.5
c
T
=
A=
h
−2
−2
0
0
"
−1
2
1
−3
1
0
0
1
i
#
"
b=
3
3
#
I Calcular a solução básica primal:
xB = B −1 b =
4.5
1.5
I Calcular a solução básica dual:
−1
pT = cT
=
BB
0 −1
s4 = c4 − pT a4 =
I s2 < 0 ⇒ x2 entra na base.
I Teste da razão:
y = B −1 a2 =
1
s2 = c2 − pT a2 = − 5
x̄Bl
yl
= min
−0.5
−1.5
x̄Bi
| yi > 0
yi
I PARE! Problema ilimitado.
= min ∅
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Solução gráfica: Casos particulares
x2
6
max
s.a
f (x1 , x2 ) = 2x1 + 2x2
−x1 + x2 ≤ 3
2x1 − 3x2 ≤ 3
x1 ≥ 0, x2 ≥ 0.
. Solução ilimitada
-5
4
-1
x1
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex: Algoritmo
Entrada: B e N tal que B = AB é invertı́vel e B −1 b ≥ 0.
Passo 1: Calcular a solução básica primal: x̄B = B −1 b, x̄N = 0;
−1 , s̄ = c − p̄T a , ∀j ∈ N ;
Passo 2: Calcular a solução básica dual: p̄T = cT
j
j
j
BB
Passo 3: Determinar s̄k = min s̄j ;
j∈N
Passo 4: Se s̄k ≥ 0, então PARE! Solução ótima encontrada;
Senão, xk irá entrar na base;
Passo 5: Calcular y = B −1 ak ;
Passo 6: Se y ≤ 0, então PARE! Problema ilimitado;
x̄
x̄B
Bi
l
Passo 7: Teste da razão:
= min
| yi > 0 ;
yl
yi
x̄B irá sair da base.
l
Passo 8: Atualizar B e N e voltar para o Passo 1.
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
Método simplex
. Exercı́cio
Encontre três soluções ótimas pelo método simplex:
min
−1x1 − 2x2
s.a
0.5x1 + 0.3x2 ≤ 3
0.1x1 + 0.2x2 ≤ 1
0.4x1 + 0.5x2 ≤ 3
x1 ≥ 0, x2 ≥ 0
Otimização Contı́nua e Discreta
(Prof. Pedro Munari, [email protected])
Aula 3: Dualidade, condições de otimalidade e o método simplex
I
Obrigado pelo atenção!
I
Dúvidas?
I
Próxima aula:
I
Inicialização, Método dual simplex e análise de sensibilidade.

Documentos relacionados

3- O MÉTODO SIMPLEX 3.1- Introdução O Método

3- O MÉTODO SIMPLEX 3.1- Introdução O Método z0 + (cq - zq) ε = z0 + rq ε < z0 . Logo, para rq < 0 tem-se garantido o decréscimo para a função objetivo. rq é denominado custo relativo. Com as considerações teóricas feitas sobre o sistema de r...

Leia mais