Escolar Documentos
Profissional Documentos
Cultura Documentos
ProfFernandoGomide DCA-FEEC-Unicamp
Conteúdo
1. Introdução
2. Convexidade
3. Condições de Karush-Kuhn-Tucker
4. Pontos de sela e condições suficientes
5. Métodos de programação não linear
ProfFernandoGomide DCA-FEEC-Unicamp
1-Introdução
min z = ( x1 − 3) 2 + ( x2 − 4) 2
sa 5 − x1 − x2 ≥ 0
− 2.5 + x1 − x2 ≤ 0
x1 , x2 ≥ 0
ProfFernandoGomide DCA-FEEC-Unicamp
Solução ótima na fronteira das restrições
5 – x1 – x2 = 0
x2 z=2
5
z=0
4
2
x* = (2, 3)
1 – 2.5 + x1 – x2 = 0
1 2 3 4 5 x1
ProfFernandoGomide DCA-FEEC-Unicamp
Solução ótima no interior das restrições
5 – x1 – x2 = 0
x2
5 z=4
2
z=0
1 – 2.5 + x1 – x2 = 0
1 2 3 4 5 x1
ProfFernandoGomide DCA-FEEC-Unicamp
Ótimo local devido à função objetivo
5 – x1 – x2 = 0
x2
5
4 z=0
z=4
3
1 – 2.5 + x1 – x2 = 0
z=3
1 2 3 4 5 x1
ProfFernandoGomide DCA-FEEC-Unicamp
Ótimo local devido às restrições
x2 z = 15
a
z = 40
x1
ProfFernandoGomide DCA-FEEC-Unicamp
2-Convexidade
S = { x | x = λx1 + ( 1 – λ) x2, 0 ≤ λ ≤ 1 }
x1
x2
x1
x2
ProfFernandoGomide DCA-FEEC-Unicamp
Definição 2: A função f (x) é convexa se o segmento de reta que une dois
pontos quaisquer de seu grafo nunca está abaixo do grafo (côncava se nunca
está acima).
f (x1)
f ( x2)
x1 x x2
convexa côncava
ProfFernandoGomide DCA-FEEC-Unicamp
Teoremas básicos da programação não linear
ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 2
função convexa
x2
f (x)
f (x) = k
R = { x | f (x) ≤ k}
x1
ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 4: se f (x) possui a primeira e a segunda derivadas contínuas,
então as seguintes afirmações são equivalentes:
f (x1)
f ( x2)
(b)
x1 x2 x
ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 5: uma forma quadrática semi positiva definida é convexa.
ProfFernandoGomide DCA-FEEC-Unicamp
Problemas com restrições de igualdade
min f ( x )
sa g i ( x ) ≤ 0 , i = 1,K , m
h j ( x ) = 0 , j = 1,K , r < n
ProfFernandoGomide DCA-FEEC-Unicamp
3-Condições Karush-Kuhn-Tucker
R = { x | x ∈ R ⇒ λx ∈ R , λ ≥ 0}
x2 x2
5
5
4
4
3
3
2
2
1 1
1 2 3 4 x1 1 2 3 4 x1
ProfFernandoGomide DCA-FEEC-Unicamp
Teorema de KKT: interpretação geométrica
min f ( x1,x2 ) = ( x1 − 2) 2 + ( x2 − 1) 2
sa g1 ( x1,x2 ) = x12 − x2 ≤ 0
g 2 ( x1,x2 ) = x1 + x2 − 2 ≤ 0
x2
2 x1 + x2 – 2 = 0
1 (1, 1)
–∇f
(2,1)
x2 = x12
1 2 x1
ProfFernandoGomide DCA-FEEC-Unicamp
x1 + x2 – 2 = 0
∇g2
(1, 1) –∇f
∇g1
x2 = x12
x2 = 2x1 – 1
∇f ( x o ) = ∑ uio ( −∇ g i ( x o ))
i∈I
uio ≥ 0 , i ∈ I
ProfFernandoGomide DCA-FEEC-Unicamp
Condições de Karush-Kuhn-Tucker
∇f ( x o ) = ∑ uio ( −∇ g i ( x o )) (5)
i∈I
uio ≥ 0
uio g i ( x o ) = 0
(6)
gi ( xo ) ≤ 0
i = 1,K , m
ProfFernandoGomide DCA-FEEC-Unicamp
Condições de KKT e multiplicadores de Lagrange
m
L ( x , u ) = f ( x ) + ∑ ui g i ( x )
i =1
ProfFernandoGomide DCA-FEEC-Unicamp
Derivação das condições de Karush-Kuhn-Tucker
min f ( x )
(8)
sa g i ( x ) ≤ 0 , i = 1,K , m
f , g : diferenciáveis
xo : mínimo local
xo + y: perturbação no entorno de xo
B o = {i | g i ( x o ) = 0}
ProfFernandoGomide DCA-FEEC-Unicamp
gi ( xo + y) ≤ 0, i ∈ Bo
g i ( x o ) + ∇′g i ( x o ) y + O ( y ) ≤ 0 , i ∈ B o Taylor
i ∈ Bo ⇒ gi ( xo ) = 0
∇′g i ( x o ) y ≤ 0 , i ∈ B o (12)
ProfFernandoGomide DCA-FEEC-Unicamp
Exemplo
g1 ( x ) = − x1 ≤ 0 x2
g 2 ( x ) = − x2 ≤ 0
g 3 ( x ) = − (1 − x1 ) 3 + x2 ≤ 0
1
∇′g 2 ( x o ) y = − y2 ≤ 0 y
∇′g 3 ( x o ) y = y2 ≤ 0 1 x1
y = (1,0) satisfaz mas não é admissível
y não qualificada
ProfFernandoGomide DCA-FEEC-Unicamp
Mínimo local
∇′g i ( x o ) y ≤ 0 , i ∈ B o
∇′f ( x o ) y ≥ 0
Z 2o = { y | ∇′g i ( x ) y ≤ 0 , i ∈ B o , ∇f ′( x o ) y < 0} = φ
ProfFernandoGomide DCA-FEEC-Unicamp
Lema de Farkas
Prova
r
→ se P0 = ∑ βi Pi então
i =1
r
P0′ y = ∑ βi Pi′y , βi ≥ 0
i =1
∀y que satisfaz Pi′y ≥ 0
ProfFernandoGomide DCA-FEEC-Unicamp
← se P0′ y ≥ 0 e Pi′y ≥ 0 , i = 1,K , r então o PL
min P0′ y
sa Pi′y ≥ 0 , i = 1,K , r
r
P0 = ∑ βi Pi , βi ≥ 0
i =1
ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 8: se f e g são diferenciáveis e xo é um mínimo local, então existem
multiplicadores uio ≥ 0 tal que
n
∇f ( x ) + ∑ uio∇g i ( x o ) = 0
o
i =1
uio∇g i ( x o ) = 0, i = 1,K ,m
se e somente se Z 2o = φ
ProfFernandoGomide DCA-FEEC-Unicamp
Prova
n
∇f ( x ) = ∑ uio ( −∇ g i ( x o )) = 0 se e somente se
o
i =1
n
∇f ( x ) + ∑ uio∇g i ( x o ) = 0
o
i =1
uio∇g i ( x o ) = 0, i = 1,K ,m
ProfFernandoGomide DCA-FEEC-Unicamp
Classe de problemas onde KKT são necessárias
ProfFernandoGomide DCA-FEEC-Unicamp
Teorema de Karush-Kuhn-Tucker
Se
então existe um vetor uo = (uo1, uo2,..., uom) ≥ 0 tal que as condições de KKT
n
∇f ( x ) + ∑ uio∇g i ( x o ) = 0
o
i =1
uio∇g i ( x o ) = 0, i = 1,K ,m
ProfFernandoGomide DCA-FEEC-Unicamp
4-Pontos de sela e condições suficientes
– Condições de KKT
• necessárias problemas convexos e não convexos
• supõem função objetivo e restrições diferenciáveis
ProfFernandoGomide DCA-FEEC-Unicamp
Problema primal
min f ( x ) (1)
sa g i ( x ) ≤ 0 , i = 1,K , m (2)
x∈S (3)
L(x,u)
u
x
ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 9: seja uo ≥ 0 e xo∈S. Então (xo, uo) é um ponto de sela de L(x, u)
se e somente se
(a) x o minimiza L ( x ,u o ) em S
(b) g i ( x o ) ≤ 0, i = 1,K ,m
(c) uio g i ( x o ) = 0 , i = 1,K ,m
Prova
→ L(xo, uo) ≤ L(x, uo) ∀x∈S ⇒ (a)
← (a) xo minimiza L(x, uo) e (c) uoi gi(x) = 0, i = 1,...,m ⇒ L(xo, uo) = f (xo)
m
por definição L ( x ,u ) = f ( x ) +
o o
∑ ui g i ( x o )
i =1
como gi(x) ≤ 0, o termo ui gi(x) é não positivo para todo ui ≥ 0 e
L ( x o ,u ) ≤ f ( x o ) = L ( x o ,u o ), ∀u ≥ 0
ProfFernandoGomide DCA-FEEC-Unicamp
Teorema 10: (suficiência do ponto de sela)
Prova
como (xo, uo) é um ponto de sela, então as condições (a), (b) e (c), teorema 9
são satisfeitas. Fazendo g(x) = (g1(x),....,gm(x))' a condição (a) torna-se
ProfFernandoGomide DCA-FEEC-Unicamp
Exemplo da não existência ponto de sela
min{− x 2 | 1 − 2 x = 0 , 0 ≤ x ≤ 1}
min{L ( x ,u ) = − x 2 + u (1 − 2 x )}
x∈S
1
∃/ u | min L ( x,u ) ocorre em x o =
2
ProfFernandoGomide DCA-FEEC-Unicamp
5-Métodos de programação não linear
Categorias principais
ProfFernandoGomide DCA-FEEC-Unicamp
Métodos das direções factíveis
ProfFernandoGomide DCA-FEEC-Unicamp
Métodos das direções factíveis
x2
–∇f
x3
s2
f diminui
x2
yo s1
so x1
xo
x1
ProfFernandoGomide DCA-FEEC-Unicamp
Algoritmo de Zoutendijk
min f ( x )
sa g i ( x ) ≥ 0 , i = 1,K , m
supor gi(xo) = 0, i ∈ I
ProfFernandoGomide DCA-FEEC-Unicamp
Direção factível
d
g i ( xo + α s ) = ∇g i′ ( xo ) s ≥ 0
dα α =0
Direção usável
d
f ( xo + α s ) = ∇f i′( xo ) s < 0
dα α =0
ProfFernandoGomide DCA-FEEC-Unicamp
– ∇f (xo)
so
xo
plano tangente
Determinação do passo
min f ( xk + αs )
sa xk + α s ∈ R
ProfFernandoGomide DCA-FEEC-Unicamp
Algoritmo do gradiente projetado de Rosen
x2
x*
– ∇f (x)
– P ∇f (xo)
x1
ProfFernandoGomide DCA-FEEC-Unicamp
Resumo algoritmo do gradiente projetado
1. calcular ∇f (xk)
5. Se a projeção é nula, então ∇f (xk) pode ser escrito como ∇f (xk) = ∑i uiai
ProfFernandoGomide DCA-FEEC-Unicamp
Métodos das funções de penalização
min f ( x )
sa g i ( x ) ≥ 0 , i = 1,K , m
0 y≥0
φ( x ) =
∞ y<0
m
min f ( x ) + ∑ φ( g i ( x ))
i =1
ProfFernandoGomide DCA-FEEC-Unicamp
Algoritmo de Fiacco-McCormick
m 1
P ( x , r ) = f ( x) + r ∑ , r>0
i =1 g i ( x )
– Primal
min f ( x )
sa g i ( x ) ≥ 0 , i = 1,K , m
– Dual
m
max L ( x ,u ) = f ( x ) − ∑ ui g i ( x )
i =1
m
sa ∇ f ( x ) = ∑ ui ∇ g i ( x )
i =1
ui ≥ 0 , i = 1,K , m
Propriedades do modelo dual de Wolfe
m rk
∇P ( x ( rk ) , rk ) = ∇f ( x ( rk )) + ∑ ∇g i ( x ( rk )) = 0
2
i =1 g i ( x ( rk ))
rk
ui ( rk ) = >0
g i2 ( x ( rk ))
Se
5. f (x) convexa
6. gi côncavas
então
m 1
L ( x ,u ) = f ( x ( rk )) − rk ∑ ≤ vo ≤ f ( x ( rk ))
2
i =1 g i ( x ( rk ))
vo: P-mínimo
DCA-FEEC-Unicamp