Professional Documents
Culture Documents
PAVF
PAVF
Metodos primais
Trabalham com a formulac~o primal (") do problema
a
Vantagens
Algoritmos geram sequ^ncias de pontos fact veis fornecem
e
soluc~es sub-otimas quando interrompidos
o
Pontos limites de sequ^ncias convergentes s~o m nimos loe
a
cais restritos do problema
Desvantagens
Obtenc~o de pontos iniciais fact veis di cultada pela evena
tual complexidade das restric~es
o
Necessidade de manter factibilidade ao longo do processo.
Direc~es fact veis podem n~o existir
o
a
PAVF
minimizar rf (xk)T d
s.a aid 0 i 2 I (xk )
n
X
j di j = 1
i=1
PAVF
dk 2 Rn
Ak dk = 0 (fact vel)
rf (xk )T dk < 0
(descida)
De na ainda gk := rf (xk ). Neste caso,
;g k
= dk + AT
k
= ;(Ak AT );1Ak gk
k
k 2
Rm k .
PAVF
N (Ak ).
Se
gk + AT k = 0
k
e xk satisfaz condic~es necessarias. Se k 0 i 2 I (xk ),
o
i
k satisfaz as CKT do problema ( k := 0 i 62 I (xk ))
ent~o x
a
i
Lema:
Passo
Se dk 6= 0, de na
Obtem-se
k
:= max f
: xk + dk fact velg.
PAVF
T)
;g k
Ak
xk
dk
NA
(
k)
'Algoritmo'
;g
;g
x3
x4 ;g2
2
x2
d3 d
d1
;g 1
x1
;g
x0
PAVF
(1)
(2)
; gk
; gk
= AT k
k
k + AT
= d
k
Note que
1. Se dk = 0, ent~o (2) seria equivalente a (1) com
a
Como rank (Ak ) = mk , conclui-se que dk 6= 0
k
j
= 0.
= ( k )T Ak dk = k (aj )T dk > 0
j
k
j
PAVF
k,
j
Notas
As sucessivas matrizes Ak diferem apenas por uma linha e
(Ak+1AT+1);1 pode ser calculada a partir de (Ak AT );1
k
k
No caso geral, Ak sera composta por linhas correspondentes
a restric~es de igualdade e de desigualdade ativas
o
PAVF
2 1 1
0
x = (2 2 1 0) A0 = 1 1 2
0 0 0
47
7
17
5
;1
MATLAB
n=4 syms x1 x2 x3 x4
f=x1^2+x2^2+x3^2+x4^2-2*x1-3*x4
g= diff(f,x1) diff(f,x2) diff(f,x3) diff(f,x4)]
x1=2 x2=2 x3=1 x4=0 g0=eval(g)
A0= 2 1 1 4 1 1 2 1 0 0 0 -1]
d0=-(eye(n)-A0'*inv(A0*A0')*A0)*g0
p0=A0*d0
% d0 e' uma direcao factivel
p0 = 1.0e-13 *
0.2021
0.0799
-0.0377
dd0=g0'*d0
% d0 e' uma direcao de descida
dd0 = -5.8182
PAVF
10
xk
dk
yk
xk+1
g(xk ) = 0
Notas
A projec~o de ;gk em M(xk ) gera uma direc~o infact vel.
a
a
k+1 tal que f (xk+1) < f (xk ) n~o e facil
Obter x
a
PAVF
11
b 2 Rm rank (A) = m
.
Seja A := B . C ], com B n~o-singular e x := (y z ). O
.
a
problema pode ser colocado como
minimizar f (y z) s.a By + Cz = b y 0 z 0
Notas
Hipoteses: todo conjunto de m colunas de A e LI e toda
soluc~o basica contem m variaveis positivas
a
y 2 Rm : vetor de variaveis dependentes (vd)
z 2 Rn;m : vetor de variaveis independentes (vi)
Pequena variac~o z tq z + z
a
pois inicialmente y > 0
0 garante y + y 0,
PAVF
12
Gradiente reduzido
O gradiente de f (B ;1b ; B ;1Cz z ) em relac~o a z e
a
r = rz f (y z) ; (B ;1C )T ry f (y z)
Um ponto (y z ) satisfaz as condic~es necessarias de primeira
o
ordem sse (i = 1 2 : : : n ; m)
8
> ri
>
>
<
>
>
>r
: i
=0
se zi > 0
se zi = 0
PAVF
13
se i 62 I (z )
>
:
se i 2 I (z )
zi := >
>
Notas
Estrategia pura baseada na manutenc~o do conjunto ativo
a
Se ri = 0 p/ todo i 62 I (z ), mas rj < 0 para algum
j 2 I (z), remove-se a restric~o correspondente
a
Estrategia melhorada:
{ Se i 2 I (z), mas ri < 0, n~o havera violac~o da factia
a
bilidade
8
> ;ri
>
>
<
>
>
>
: 0
se ri < 0 ou zi > 0
caso contrario
PAVF
14
xk := ( yk zk )
3. Determine
atraves de
:= maxf : yk + yk 0g
: z k + z k 0g
2 := maxf
k
xk )
k := arg 0min f (x +
1
:= min f
2g
PAVF
15
MATLAB
B0= 2 1 1 1] C0= 1 4 2 1] b= 7 6]
y0=inv(B0)*b % Solucao basica (z0= 0 0])
y0 = 1
5
syms y1 y2 z1 z2
f=y1^2+y2^2+z1^2+z2^2-2*y1-3*z2
dfdz= diff(f,z1) diff(f,z2)]
dfdy= diff(f,y1) diff(f,y2)]
r=dfdz-(inv(B0)*C0)'*dfdy
% Gradiente reduzido
y1=2 y2=2 z1=1 z2=0 r0=eval(r)
r0 = -8
-1
Dz0=-r0 Dy0=-inv(B0)*C0*Dz0 Dx0= Dy0 Dz0]
Dx0 = 5
-22
8
1
PAVF
16
y
x0
z
h(x) = 0 x = (y z)
x
x1
z1
z2
Movimento tangente a superf cie: z ! z + z implica y !
y + y, onde y = ;(ry h);1rz h z
Converg^ncia
e
Analoga ao do gradiente projetado, com M m representando os autovalores maximo e m nimo de C T LC , onde L := L(x )
e
C :=
2
6 ; ry h(y
6
6
4
z )];1rz h(y z ) 7
In;m
7
7
5
PAVF
17
Metodos de penalidade
Termo gerando alto custo no caso de violac~o das restric~es
a
o
e adicionado a func~o objetivo. Ao problema restrito
a
Par^metro c
a
Idealmente, quando c ! 1, as soluc~es dos problemas reso
trito e irrestrito se aproximam (P (x) ! 0)
PAVF
18
0g. Uma
: g(x)
p
X
cP (x)
c = 10
c = 102
0
c = 102
b
c = 10
PAVF
19
minimizar q(ck x)
possui uma soluc~o xk . A soluc~o xk+1 e obtida partindo-se do
a
a
k . A soluc~o do problema restrito e obtida qdo c ! 1
ponto x
a
k
Teorema
a) q(ck xk ) q(ck+1 xk+1)
b) P (xk ) P (xk+1)
c) f (xk) f (xk+1)
Teorema
Seja (xk ) uma sequ^ncia gerada pelo metodo de penalidades.
e
Ent~o qualquer ponto limite da sequ^ncia e uma soluc~o do
a
e
a
problema restrito
PAVF
20
while ck P (xk )
xk+1 = arg min f (x) + ck P (x) (pto inicial xk )
ck+1 = ck
k := k + 1
end
x = xk
Notas
Demonstra-se que
k) = 0
lim c P (x
k!1 k
P (x) =
m
X
i=1
p
X
PAVF
21
Q(c) :=
2
6
6
6
4
2(1 + c)
2c
2c
2(1 + c)
3
7
7
7
5
r ! 1 quando c ! 1
1
x2
c
c !
2c + 1 2c + 1
c1
c2 > c1
c2
1 x1
PAVF
22
P (x) :=
m
X
i=1
j hi (x) j +
p
X
j =1
max f0 gj (x)g
for utilizada
Teorema
Assuma que x satisfaz as condic~es su cientes de 2a. ordem
o
para m nimo local do problema restrito. Sejam e
0 os
multiplicadores associados. Se c > maxi j fj i j j g, ent~o
a
x e tambem um m nimo local do problema irrestrito
Notas
A func~o de penalizac~o P (x) e chamada de valor absoa
a
luto ou tipo l1
O uso de P (x) evitaria maiores problemas com o condicionamento do problema irrestrito
Por outro lado, P (x) e n~o-diferenciavel, o que complica
a
a resoluc~o do problema
a
PAVF
23
Propriedades de S
o
S =
6
robusto
robusto
n~o-robusto
a
:= fx 2 Rn : g(x) 0g
PAVF
24
B (x) := ;
0g um conjunto robusto e B
1
i=1 gi (x)
p
X
x2S
c=2
c=1
a
1
c
b x
PAVF
25
0e
Teorema
Qualquer ponto limite da sequ^ncia (xk ) gerada pelo metodo
e
de barreiras e uma soluc~o do problema restrito
a
Notas
Aparentemente, substitui-se um problema restrito por uma
o
sequ^ncia de problemas tambem restritos (x 2 S )
e
o
PAVF
26
p
X
i=1
ln (;gi(x))
x2S
O m nimo irrestrito de
1.000
2.000
4.000
10.00
100.0
x1(c) x2(c)
0.500
0.309
0.183
0.085
0.010
1.250
0.595
0.283
0.107
0.010
PAVF
27
;1
x1
x1 + x2 = 0
Notas
Uma sequ^ncia interior a S tambem seria obtida por um
e
metodo tipo gradiente otimo
o
PAVF
28
Notas
Demonstra-se que
PAVF
29
Condic~es su cientes (f h 2 C 2)
o
Assuma que (x ) satisfazem as condic~es su cientes de
o
2a. ordem para m nimo local estrito do problema
rl(x
) = rf (x ) + rh(x )T = 0
c) L(x ) = F (x ) +
M(x
m
X
i=1
i Hi (x
) = fy 2 Rn :
) de nida positiva em
rh(x
)y = 0g
PAVF
30
rlc (x
) = rl(x
rl(x
) + c rh(x )T h(x ) = 0
)=0
h(x ) = 0
Notas
Se Lc(x ) for de nida positiva, ent~o x tambem sera um
a
m nimo local estrito de lc(x ). A hessiana Lc(x ), dada
por
PAVF
31
minimizar x3 s.a x + 1 = 0
e x = ;1
de
mas sera de
lc c = 10
4
3
2.5
1.5
0.5
0.5
PAVF
32
Teorema
Assuma que as condic~es su cientes de 2a. ordem para
o
m nimo local s~o satisfeitas em (x ). Ent~o existe um c
a
a
tal que para todo c c , a lagrangeana aumentada lc(x )
possui um m nimo local em x
Notas
As identi cac~es A L(x ) e B = rh(x )T rh(x ) levam
o
a prova do Teorema, cuja conclus~o pode ser estendida (por
a
continuidade) para uma vizinhanca de (x )
Para qualquer proximo a , a lagrangeana aumentada
possui um unico m nimo local x proximo a x . Existe uma
depend^ncia cont nua x( )
e
Se h(x( )) = 0, ent~o = , pois x( ) satisfaz as
a
condic~es necessarias do problema original. Determinar
o
equivale a resolver h(x( )) = 0
PAVF
33
+c
x2( ) = (4(2 ++) )
c
k ! ;2
c (2 + k ) = 2
(2 + c) 2 + c
k;
2c
2+c
PAVF
34
2 (0
1), > 1 e
while vk
xk+1 = arg min lck (x k)
k+1 = k + c h(xk+1)
k
vk+1 = max1 i m fj hi(xk+1) jg
if vk+1 > vk then
ck+1 = ck
end
k := k + 1
end
Notas
O par^metro c e incrementado sempre que n~o houver uma
a
a
diminuic~o signi cativa ( ) na violac~o das restric~es
a
a
o
PAVF
35
Problema
Condic~es necessarias
o
Existe
2 Rm
tal que
rf (x) + rh(x)T
= 0
h(x) = 0
Jacobiana rM
rM (x
rM (x
)=
2
6
6
6
4
L(x)
rh(x)
) e n~o-singular se (x
a
M (x ) = 0
3
rh(x)T 7
7
7
5
) satisfaz as condic~es
o
PAVF
36
k ),
M (xk
obtem-se (xk+1
k ) + rM (xk
k+1)
2
6
k) 6
6
4
resolvendo-se
3
x ; xk 7
; k
7
7
5
=0
L(xk )d + rh(xk )T =
rh(xk )d
;rf (xk )
;h(xk )
= 0
h(xk ) = 0
e (xk
k+1)
PAVF
37
de subproblemas quadraticos:
1
2
L(xk )d + rh(xk )T =
rh(xk )d
;rf (xk )
;h(xk )
Converg^ncia
e
a
Se inicializada proximo a (x ), a resoluc~o sequencial de
QPk 's converge quadraticamente para (x ), pois cada QPk
equivale a uma iterac~o de Newton
a
Formulac~o equivalente
a
1
2
PAVF
38
Restric~es de desigualdade
o
Se o problema envolver restric~es de desigualdade, ent~o QPk
o
a
e reescrito como
1
2
onde
p
m
X k
X k
H (xk ) +
G
i=1
i i
j =1
k)
j j (x
Dado (xk k k ) k 0, resolve-se QPk para obter a soluc~o (dk k+1 k+1) k+1 0. Se dk = 0, m. Caso cona
trario, faz-se xk+1 = xk + dk , k := k +1 e novo QPk e resolvido
PAVF
39
onde
qk (qk T
pk k T
Bk+1 = Bk + (qk )T ) k ; B(kpk )(TpB) pBk
k
p
k
pk := xk+1 ; xk
qk := rl(xk+1) ; rl(xk)
O algoritmo resultante converge superlinearmente se inicializado proximo a uma soluc~o satisfazendo condic~es su cientes
a
o
de 2a. ordem
Func~o de merito
a
Uma func~o de merito e necessaria para garantir cona
verg^ncia global do algoritmo
e
2
m
X
(x) := f (x) + c 4 j hi(x) j
i=1
p
X
j =1
max f0
3
gj (x)g5
c>0
PAVF
40
Algoritmo SQP
Escolha > 0, x0 e B0 > 0. Resolva QP0 com B0 no lugar de
L(x0) para obter d0 1 e 1 0. Faca k = 0
while kdk k
k := k + 1
(dk k+1 k+1) = arg min (1=2) dT Bk (xk )d+
+rf (xk )T d + f (xk )
s.a h(xk ) + rh(xk )T d = 0
g(xk ) + rg(xk )T d 0
end
k
k
k = arg min 0 (x + d )
xk+1 = xk + k dk
pk = xk+1 ; xk
qk = rl(xk+1) ; rl(xk)
qk (qk )T ; Bk pk (pk )T Bk
Bk+1 = Bk + (qk )T pk (pk )T B pk
k
PAVF
41
MATLAB (fmincon)
A func~o fmincon utiliza programac~o quadratica sequena
a
cial para resolver problemas da forma
minimizar f (x)
s.a Ax b Aeq x = beq
c(x) 0 ceq (x) = 0
lb x ub
x,fval, exitflag,output,lambda]=fmincon(fun,x0,
A,b,Aeq,Beq,lb,ub,nonlcon,options)
Exemplo 1
minimizar 3x1 + x2
s.a x1 ; x2 1
x2 + x2 5
1
2
function f=fex01(x)
f=3*x(1)+x(2)
function c,ceq]=rex01(x)
c=x(1)^2+x(2)^2-5
ceq= ]
PAVF
42
x = -2.1213
-0.7071
fval = -7.0711
exit = 1
out =
iterations: 9
funcCount: 48
stepsize: -6.1035e-05
algorithm: 'medium-scale: SQP, Quasi-Newton,
line-search'
firstorderopt: ]
cgiterations: ]
lda =
PAVF
43
Soluc~o
a
x0= -1.9 2.0]
options=optimset('LargeScale','off')
options=optimset(options,'GradObj','on',
'GradConstr','on')
PAVF
44
x = 0.9072
0.8228
fval = 0.0086
exit = 1
out = iterations:
funcCount:
stepsize:
algorithm:
16
54
1
'medium-scale: SQP, Quasi-Newton,
line-search'
firstorderopt: ]
cgiterations: ]
lda =
PAVF
45
Exemplo
Problemas do tipo
x := (r y) 2 Rn+1
S := f(r y ) 2 Rn+1 : f (y ) ; r 0 y 2 Rg
c := (1 0 0 : : : 0) 2 Rn+1
obtem-se o problema na forma geral
PAVF
46
P0
e faca k = 0
fx
Interpretac~o
a
x2
S
x0
x1
H0
H1
;c
bk g,
PAVF
47
= Pk \ fx : (ak )T x bk g
Algoritmo de Kelley
Problema:
PAVF
48
while max 1
P0
k
j p fgj (x )g
i = arg max 1
k
j p fgj (x )g
Pk+1 = Pk \ fx
: gi(xk ) + rgi(xk )T (x ; xk ) 0g
end
x = xk
Notas
Um novo semi-espaco e gerado se rgi(xk ) 6= 0 rgi(xk ) =
0 implicaria que xk minimiza gi com gi(xk ) > 0 e neste caso
S= !
O semi-espaco gerado contem S , uma vez que se g(x)
ent~o
a
0,
PAVF
49
Notas
Luenberger (1984) apresenta o resultado preliminar de que
se x e a soluc~o otima, ent~o
a
a
kxk ; x k2
c=k
PAVF
50
Metodos duais
Problema dual
maximizar
onde
( ) s.a
( ) = min l(x )
x2
= min f (x) + T g(x)
x2
Teorema
Suponha que
Rn e compacto e que f g1 g2 : : : gp s~o
a
0
0
cont nuas em . Se x e o unico m nimo de l(x ) em ,
ent~o r ( 0) = g(x0)
a
Gradiente projetado
Uma direc~o de subida baseada na projec~o de r ( k ) em
a
a
p :
=f 2R
0g pode ser de nida como: para i =
1 2 ::: p
8
>
>
>
>
>
>
>
<
dk := >
i
>
>
>
>
>
>
:
@ ( k)
@ i
(
@ ( k ))
max 0 @
i
se
k
i
>0
se
k
i
=0
PAVF
51
Metodos duais
Algoritmo Gradiente Dual
Escolha > 0. Determine
Faca k = 0
) e d0.
while kdk k
( k + dk )
k = arg max0
k+1 = k + dk
k
k+1 = arg min
k+1)
x
x2 l(x
8
> gi (xk+1)
>
>
<
dk+1 = >
i
>
>
:
se
k+1 > 0
i
max f0 gi(xk+1)g se
k+1 = 0
i
k := k + 1
i = 1 2 ::: p
end
= k , x = xk
Notas
N~o requer x0 fact vel primal (x0 2 , apenas). Calculos
a
de ( k ) e r ( k ) exigem minimizac~o de l(x k ) em
a
Em geral, a determinac~o de k (e dk ) demanda consia
deravel esforco e exige um metodo de busca linear e ciente
O problema lagrangeano e mais simples do que o problema primal. A e ci^ncia da maximizac~o de em esta
e
a
associada a e ci^ncia da minimizac~o de l em
e
a
PAVF
52
Metodos duais
Linearizac~o externa
a
i = 1 2 : : : k, obtem-se
i := g (xi)
l (x i )
Aproximac~o de
a
k(
( )
k(
PAVF
53
Metodos duais
Aproximac~o do dual
a
maximizar
k(
) s.a
maximizar
f (xi) + ( i)T
2
2R
s.a
i = 1 2 ::: k
Notas
A soluc~o do problema aproximado gera
a
k+1 = g (xk+1)
l(x
k+1 ,
k+1),
que gera
:::
( )
( i) + ( i)T (
; i)
PAVF
54
Metodos duais
Algoritmo Linearizac~o Externa
a
Escolha > 0. Determine 0 2 , x0 := arg min l(x
x2
0
0
k = ;1 e k = 0
= g(x ). Faca k = +1,
while
k;
k+1
),
k
k+1) = arg max
s.a
f (xi) + ( i)T
2
2R
i = 0 1 ::: k
k+1)
end
= k , x = xk
Notas
Como nos algoritmos de planos de corte, n~o exige buscas
a
unidimensionais nem calculos de direc~es
o
Exige a soluc~o de um problema linear com p + 1 variaveis
a
a
a
a cada iterac~o uma nova restric~o (cut) e incorporada
Eliminac~o de restric~es inativas evita que o problema linear
a
o
cresca muito, mas o impacto da eliminac~o na taxa de
a
converg^ncia do algoritmo n~o e conhecido
e
a
PAVF
55
FIM