2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810...
Transcript of 2-Programação Não Linear - UNICAMPgomide/courses/IA810/transp/IA810Program... · IA 810...
2-Programação Não Linear
IA 810 Otimização de Sistemas de Grande Porte
ProfFernandoGomide DCA-FEEC-Unicamp
1. Introdução2. Convexidade3. Condições de Karush-Kuhn-Tucker4. Pontos de sela e condições suficientes5. Métodos de programação não linear
Conteúdo
DCA-FEEC-UnicampProfFernandoGomide
1-Introdução
� Geometria da programação não linear
DCA-FEEC-UnicampProfFernandoGomide
0
052
05
)4()3(
21
21
21
22
21
≥≤−+−≥−−
−+−=
x,x
xx.
xxsa
xxzmin
DCA-FEEC-UnicampProfFernandoGomide
� Solução ótima na fronteira das restrições
5 –x1 – x2 = 0
– 2.5 + x1 – x2 = 0
x1
x2
1 2 3 4 5
1
4
5z = 0
z = 2
x* = (2, 3)2
3
� Solução ótima no interior das restrições
5 –x1 – x2 = 0
– 2.5 + x1 – x2 = 0
x1
x2
1 2 3 4 5
1
4
5
z = 0
z = 4
2
3
DCA-FEEC-UnicampProfFernandoGomide
� Ótimo local devido à função objetivo
5 –x1 – x2 = 0
– 2.5 + x1 – x2 = 0
x1
x2
1 2 3 4 5
1
4
5
z = 0z = 4
2
3
z = 3
DCA-FEEC-UnicampProfFernandoGomide
a
b
z= 40
z= 15x2
x1
� Ótimo local devido às restrições
DCA-FEEC-UnicampProfFernandoGomide
2-Convexidade
Definição 1:um conjunto é convexo se, dados dois pontos quaisquer x1 e x2
do conjunto, o segmento que os une também pertence ao conjunto.
S= { x | x = λx1 + ( 1 –λ) x2, 0 ≤ λ ≤ 1 }
x1
x2
x1
x2
convexo não convexo
DCA-FEEC-UnicampProfFernandoGomide
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 + ( 1 –λ) x2) ≤ λf (x1) + ( 1 –λ)f ( x2) (≥ côncava)
x1 x2x
f (x1)
f ( x2)
convexa côncava
DCA-FEEC-UnicampProfFernandoGomide
� Teoremas básicos da programação não linear
Teorema 1:qualquer mínimo local de um modelo de otimização convexo
é um mínimo global.
Teorema 2:Se f (x) é convexa, então o conjunto R= { x | f (x) ≤ k} é
convexo para todo escalar k.
Teorema 3:a intersecção de conjuntos convexos é um conjunto convexo.
DCA-FEEC-UnicampProfFernandoGomide
x1
x2f (x)
f (x) = k
R = { x | f (x) ≤ k}
função convexa
Teorema 2
DCA-FEEC-UnicampProfFernandoGomide
Teorema 4:se f (x) possui a primeira e a segunda derivadas contínuas,
então as seguintes afirmações são equivalentes:
(a) f (x) é convexa
(b) f (x1) ≥ f (x2) + ∇f (x2) (x1 – x2)
(c) a matriz derivada segunda de f (x) é positiva definida para todos x.
x1 x2x
f (x1)
f ( x2)(b)
DCA-FEEC-UnicampProfFernandoGomide
Teorema 5:uma forma quadrática semi positiva definida é convexa.
Teorema 6:uma combinação linear positiva de funções convexas é convexa.
Teorema 7: a função f (x) é convexa se se somente se a função unidimensional
g(α) = f (x + αs) é convexa para todo x fixo e s.
DCA-FEEC-UnicampProfFernandoGomide
� Problemas com restrições de igualdade
nr,,j,xh
m,,i,xgsa
xfmin
j
i
<===≤
K
K
10)(
10)(
)(
R = { x | h(x) = 0} não necessariamente convexo
DCA-FEEC-UnicampProfFernandoGomide
3-Condições Karush-Kuhn-Tucker
Cone:um conjunto Ré um cone se x ∈ R, então λx ∈ Rpara λ ≥ 0.
R= { x | x ∈ R ⇒ λx ∈ R , λ ≥ 0}
cone convexo
x1
x2
1 2 3 4
1
2
3
4
5
x1
x2
1 2 3 4
1
2
3
4
5
cone não convexo
DCA-FEEC-UnicampProfFernandoGomide
Se x1, x2, ...., xm é um conjunto finito de vetores, então o conjunto Rde todas combinações lineares não negativas destes vetores é um cone convexo.
R= { x | x = λ1 x1+ λ2 x2+ ....+ λmxm, λi ≥ 0, i =1,...,m}
x1, x2, ...., xm são os vetores geradores do cone
DCA-FEEC-UnicampProfFernandoGomide
� Teorema de KKT: interpretação geométrica
02)(
0)(
)1()2()(
21212
221211
22
2121
≤−+=≤−=
−+−=
xx,xxg
xx,xxgsa
xx,xxfmin
1 2
1
2
(2,1)
(1, 1)–∇f
x1 + x2 – 2 = 0
x2 = x12
x2
x1 DCA-FEEC-UnicampProfFernandoGomide
–∇f
x1 + x2 – 2 = 0
x2 = x12
x2 = 2x1 – 1
(1, 1)
∇g2
∇g1
Ii,u
xguxf
i
iIi
i
∈≥
−∇=∇ ∑∈
0
))(()(
o
ooo
DCA-FEEC-UnicampProfFernandoGomide
� Condições de Karush-Kuhn-Tucker
(5)
(6)
m,,i
xg
xgu
u
xguxf
i
ii
i
iIi
i
K
o
oo
o
ooo
1
0)(
0)(
0
))(()(
=≤
=
≥
−∇=∇ ∑∈
DCA-FEEC-UnicampProfFernandoGomide
� Condições de KKT e multiplicadores de Lagrange
(5) e (6) ⇒ L(x, u) estacionário em (xo, uo), com uo satisfazendo (6)
∑=
+=m
iii xguxfu,xL
1)()()(
DCA-FEEC-UnicampProfFernandoGomide
� Derivação das condições de Karush-Kuhn-Tucker
m,,i,xgsa
xfmin
i K10)(
)(
=≤
f , g : diferenciáveis
xo : mínimo local
xo + y: perturbação no entorno de xo
}0)({ == oo xg|iB i
xo + y factível (admissível) se gi(xo + y) ≤ 0 , i ∈Bo
(8)
DCA-FEEC-UnicampProfFernandoGomide
oo Bi,yxgi ∈≤+ 0)(
ooo Bi,yOyxgxg ii ∈≤+∇′+ 0)()()( Taylor
0)( =⇒∈ oo xgBi i
oo Bi,yxgi ∈≤∇′ 0)(
y admissível ⇒ satisfaz (12)
satisfazer (12) ⇒ admissível (a não ser que y esteja qualificada)
(12)
DCA-FEEC-UnicampProfFernandoGomide
0)1()(
0)(
0)(
23
13
22
11
≤+−−=
≤−=≤−=
xxxg
xxg
xxg x2
x11
1
x2 = (1 –x1)3
y
admissívelénãomassatisfaz)01(
0)(
0)(
23
22
,y
yyxg
yyxg
=≤=∇′
≤−=∇′o
o
}32{)01( ,B,,x == oo
� Exemplo
y não qualificada
DCA-FEEC-UnicampProfFernandoGomide
� Mínimo local
– nenhuma perturbação local factível y
– diminui função objetivo f
oo Bi,yxgi ∈≤∇′ 0)(
0)( ≥∇′ yxf o
φ=<′∇∈≤∇′= }0)(0)({2 yxf,Bi,yxg|yZ iooo
DCA-FEEC-UnicampProfFernandoGomide
� Lema de Farkas
Seja {P0, P1, ..,Pr} um conjunto arbitrário de vetores. Então existem βi ≥ 0
tal que:
∑=
β=r
iii PP
10
se e somente se 00 ≥′ yP para todo y que satisfaz r,,i,yPi K10 =≥′
→ se ∑=
β=r
iii PP
10 então
0satisfazque
01
0
≥′∀
≥β′β=′ ∑=
yPy
,yPyP
i
i
r
iii
Prova
DCA-FEEC-UnicampProfFernandoGomide
← se 00 ≥′ yP e
r,,i,yPsa
yPmin
i K100
=≥′′
r,,i,yPi K10 =≥′ então o PL
tem solução ótima y = 0. Logo o problema dual é factível e tem solução ótima finita. Este dual, com variáveis β1,...,βr tem asrestrições (que são factíveis):
01
0 ≥ββ= ∑=
i
r
iii ,PP
DCA-FEEC-UnicampProfFernandoGomide
Teorema 8:se f e g são diferenciáveis e xo é um mínimo local, então existem
multiplicadores tal que0≥oiu
,m,ixgu
xguxf
ii
n
iii
Koo
ooo
10,)(
0)()(1
==∇
=∇+∇ ∑=
se e somente se φ=o2Z
DCA-FEEC-UnicampProfFernandoGomide
se escolhermos vetores ∇f(xo) e –∇gi(xo), i∈Bo como {P0,...,Pr} nolema de Farkas, então existem tal queoo Bi,ui ∈≥ 0
0))(()(1
=−∇=∇ ∑=
n
iii xguxf ooo se e somente se
0)( ≥′∇ yxf o para todo y que satisfaz oo Bi,yxgi ∈≤∇ 0)(
Se definirmos oo Biui ∉= para0
,m,ixgu
xguxf
ii
n
iii
Koo
ooo
10,)(
0)()(1
==∇
=∇+∇ ∑=
então
Prova
DCA-FEEC-UnicampProfFernandoGomide
� Classe de problemas onde KKT são necessárias
1. todas restrições são lineares
2. todas as restrições são convexas e interior conjunto restrição ≠ φ
3. gradientes de todas as restrições ativas são linearmente independentes
4. qualificação de restrição é satisfeita
se xo satisfaz gi(x) ≤ 0, i = 1,...,m, gi diferenciáveis, então a qualificaçãode restrição é satisfeita em xo se todoy tal que g’ i(x)y ≤ 0, i ∈Bo étangente a um arco diferenciável que emana de xo e está contido noconjunto restrição.
φ=o2Z– mínimo local quando
DCA-FEEC-UnicampProfFernandoGomide
� Teorema de Karush-Kuhn-Tucker
Se
a) todas funções f e gi são diferenciáveis
b) xo é um mínimo local para (8)
c) qualificação de restrição é verificada em xo
então existe um vetor uo = (uo1, uo
2,..., uom) ≥ 0 tal que as condições de KKT
,m,ixgu
xguxf
ii
n
iii
Koo
ooo
10,)(
0)()(1
==∇
=∇+∇ ∑=
são satisfeitas em xo.
DCA-FEEC-UnicampProfFernandoGomide
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
– Condições baseadas na função Lagrangeana
• verificadas sem necessidade de diferenciabilidade
• suficientes para quase todos modelos de programação matemática
• se o modelo é convexo e satisfaz qualificação de restrição então
condições de ponto de sela são necessárias e suficientes
DCA-FEEC-UnicampProfFernandoGomide
Sx
m,,i,xgsa
xfmin
i
∈=≤ K10)(
)(
� Problema primal
(1)
(2)
(3)
f , g : funções arbitrárias definidas em S
x : vetor n dimensional
S : subconjunto arbitrário de En
0)()()(1
≥+= ∑=
i
m
iii u,xguxfu,xL
� Função Lagrangeana associada
(4)
DCA-FEEC-UnicampProfFernandoGomide
Definição 3:o ponto (xo, uo) com uo ≥ 0 e xo∈Sé um ponto de sela de L(x,u) se
L(xo, uo) ≤ L(x, uo) ∀x∈S
L(xo, uo) ≥ L(xo, u) ∀u≥ 0
xu
L(x,u)
DCA-FEEC-UnicampProfFernandoGomide
Teorema 9:seja uo ≥ 0 e xo∈S. Então (xo, uo) é um ponto de sela de L(x, u)
se e somente se
,m,i,xgu
,m,ixg
Su,xLx
ii
i
K
K
oo
o
oo
10)((c)
10,)((b)
em)(minimiza(a)
==
=≤
→ L(xo, uo) ≤ L(x, uo) ∀x∈S ⇒ (a)
L(xo, uo) ≥ L(xo, u) ∀u≥ 0
∑
∑∑
≥∀≤−
≥+≥+==
iiiii
i
m
iii
m
iii
u,xguu
u,xguxfxguxf
00)()(
0)()()()(11
oo
ooooo
(11)
Prova
DCA-FEEC-UnicampProfFernandoGomide
Se (b) (gi(x) ≤ 0, i = 1,...,m) é violada, então ui pode ser escolhidosuficientemente grande tal que (11) seja violada. Então (b) tem queser satisfeita.
Se todos ui = 0, então (11) ⇒
mas
logo
∑ ≥i
ii xgu 0)( oo
∑ ≤⇒≤≥i
iiii xguxgeu 0)(0)(0 ooo
m,,i,xgu ii Koo 10)( ==
← (a) xo minimiza L(x, uo) e (c) uoi gi(x) = 0, i = 1,...,m ⇒ L(xo, uo) = f (xo)
por definição
como gi(x) ≤ 0, o termoui gi(x) é não positivo para todo ui ≥ 0 e
∑=
+=m
iii xguxfu,xL
1)()()( ooo
0),( )()( ≥∀=≤ uu,xLxfu,xL oooo
DCA-FEEC-UnicampProfFernandoGomide
Teorema 10:(suficiência do ponto de sela)
Se (xo, uo) é um ponto de sela de L(x, u), então xo é solução do primal
Prova
como (xo, uo) é um ponto de sela, então as condições (a), (b) e (c), teorema 9são satisfeitas. Fazendo g(x) = (g1(x),....,gm(x))' a condição (a) torna-se
f (xo) + uog(xo) ≤ f(x) + uog(x), ∀x∈S (18)
Condição (c) ⇒ uog(xo) = 0 e (18) torna-se
f (xo) ≤ f(x) + uog(x), ∀x∈S que satisfazg(x) ≤ 0 (19)
e ∀x primal factível, o termo uog(x) é não positivo; isto é
f (xo) ≤ f(x), ∀x∈S, g(x) ≤ 0 ⇒ xo é solução do primal
DCA-FEEC-UnicampProfFernandoGomide
� Comentários sobre suficiência do ponto de sela
– Teorema 10 se aplica a qualquer modelo de otimização, incluindo
• Sé um conjunto finito
• f e g não convexas
– Ponto de sela pode não existir
• existência garantida somente para modelos convexos
• mesmo assim minimização de L(x, u) pode ser atrativa
DCA-FEEC-UnicampProfFernandoGomide
� Exemplo da não existência ponto de sela
2
1 em ocorre )(
)}21()({
é oLagrangean ominizar de problema o }10{ Fazendo
}10021{
2
2
=∃/
−+−=
≤≤=
≤≤=−−
∈
oxx,uLmin u |
xuxu,xLmin
xS
x,x|xmin
Sx
DCA-FEEC-UnicampProfFernandoGomide
5-Métodos de programação não linear
DCA-FEEC-UnicampProfFernandoGomide
� Categorias principais
– métodos das direções factíveis
– métodos das funções de penalização
DCA-FEEC-UnicampProfFernandoGomide
� Métodos das direções factíveis
– Princípio dos métodos das direções factíveis
1. escolher uma solução inicial factível
2. determinar uma direção que
2.1 pequeno movimento nesta direção não viola restrições (factível)
2.2 valor da função objetivo melhora nesta direção (usável)
DCA-FEEC-UnicampProfFernandoGomide
xo
x1
x2
x3
s1so
f diminui
x1
x2
–∇f
s2
yo
a
� Métodos das direções factíveis
DCA-FEEC-UnicampProfFernandoGomide
� Algoritmo de Zoutendijk
m,,i,xgsa
xfmin
i K10)(
)(
=≥
R = { x | gi(x) ≥ 0, i = 1,...,m } conjunto restrição
xo : solução inicial factível
escolher vetor scuja direção seja simultaneamente factível e usável
supor gi(xo) = 0, i ∈ I
DCA-FEEC-UnicampProfFernandoGomide
0)()( o0
o ≥′∇=α+α =α
sxgsxgd
dii
0)()( o0
o <′∇=α+α =α
sxfsxfd
di
� Direção factível
� Direção usável
� Melhor direção: vetor factível que min ∇f '(xo) s
� Projeção de –∇f (xo) no plano tangente em xo
DCA-FEEC-UnicampProfFernandoGomide
xo
– ∇f (xo)so
plano tangente
� Melhor direção (s, ξ) deve ser tal que– diminui função objetivo
– se afasta da fronteira do conjunto restrição
DCA-FEEC-UnicampProfFernandoGomide
1
0)(
100)(
o
=′≤ξ−∇
≤θ≤∈≥ξθ+∇′ξ
ss
sxf
,Ii,sxgsa
min
iii
� Problema quase linear– pode ser resolvido eficientemente
– se min ξ > 0 então snão factível; pára
Rsxsa
sxfmin
k
k
∈α+α+ )(
� Determinação do passo
DCA-FEEC-UnicampProfFernandoGomide
� Algoritmo do gradiente projetado de Rosen
x1
x2
– ∇f (x)
– P ∇f (xo)
x*
AAAAIP ′′−= −1)( Restrições lineares
DCA-FEEC-UnicampProfFernandoGomide
1. calcular ∇f (xk)
2. associar à xk as restrições ativas (planos que passam) em xk
3. projetar –∇f (xk) na intersecção dos planos que passam em xk
se xk é um ponto interior, então a projeção é o própio –∇f (xk)
4. se a projeção não é nula, então minimizar ao longo da projeção,sujeitas às restrições; fazer k = k + 1 e ir para o passo 1
5. Se a projeção é nula, então ∇f (xk) pode ser escrito como ∇f (xk) = ∑i uiai
5.1 se ui ≥ 0 ∀i, então é solução ótima (satisfaz KKT); senão
5.2 definir novo conjunto de planos associado àxk, removendo do conjuntocorrente de planos aqueles com ui < 0; ir para passo 3
� Resumo algoritmo do gradiente projetado
DCA-FEEC-UnicampProfFernandoGomide
� Métodos das funções de penalização
m,,i,xgsa
xfmin
i K10)(
)(
=≥
<∞≥
=φ0
00)(
y
yx
∑=
φ+m
ii xgxfmin
1))(()(
� Algoritmo de Fiacco-McCormick
0)(
1)()(
1>+= ∑
=r,
xgrxfr,xP
m
i i
1. escolher r1 > 0 e xo interior ao conjunto restrição
2. min P(x, r1) iniciando emxo existe x(r1) dentro conjunto restrição
3. r1 > r2 >...> rk > 0, cada solução x(r1) será um ponto interior
4. efeito de r : reduzir influência do terno adicional
m,,i, u
xguxfsa
xguxfu,xLmax
i
i
m
ii
i
m
ii
K10
)()(
)()()(
1
1
=≥
∇=∇
−=
∑
∑
=
=
� Modelo dual de Wolfe
m,,i,xgsa
xfmin
i K10)(
)(
=≥
– Primal
– Dual
1. se primal tem solução x, então ∃u tal que (x, u) resolve o dual
2. valores das funções objetivos primal e dual são iguais
3. para cada x primal factível e (x, u) dual factível f (x) ≥ L(x, u)
4. f (x) limitante superior e L(x, u) limitante inferior
� Propriedades do modelo dual de Wolfe
0)(
1)()(
1>+= ∑
=r,
xgrxfr,xP
m
i i
0))(())((
))(())((1
2=∇+∇=∇ ∑
=ki
m
i ki
kkkk rxg
rxg
rrxfr,rxP
0))((
)(2
>=ki
kki
rxg
rru
Se
1. se interior conjunto restrição não vazio
2. funções f egi são 2×continuamente diferenciáveis
3. conjunto ponto no conjunto restrição tal que f (x) ≤ k é limitado ∀k < ∞
4. f (x) limitada inferiormente para x no conjunto restrição
5. f (x) convexa
6. gi côncavas
7. P(x, r) estritamente convexa no interior do conjunto restrição ∀r > 0
então
))(())((
1))(()(
12 k
m
i kikk rxfv
rxgrrxfu,xL ≤≤−= ∑
=o
vo: P-mínimo
{( x(rk), u(rk))} converge para a solução dual (x, u)
Este material refere-se às notas de aula do curso IA 810 Otimização de Sistemas de Grande da Faculdade de Engenharia Elétrica e de Computação da Unicamp. Não substitui o livro texto, as referências recomendadas e nem as aulas expositivas. Este material não pode ser reproduzido sem autorização prévia dos autores. Quando autorizado, seu uso é exclusivo para atividades de ensino e pesquisa em instituições sem fins lucrativos.
Observação
DCA-FEEC-Unicamp