You are on page 1of 55

c

PAVF

Otimizac~o Numerica Restrita


a

Metodos de direc~es fact veis


o
Metodos de projec~o do gradiente
a
Metodos de penalidade e barreira
Metodos da lagrangeana aumentada
Programac~o quadratica sequencial
a
Metodos de planos de corte
Metodos duais

PAVF

Metodos de direc~es fact veis


o
Problema primal
minimizar f (x) s.a h(x) = 0 g(x) 0
f : Rn ! R h : Rn ! Rm g : Rn ! Rp

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

Metodos de direc~es fact veis


o
Algoritmo padr~o
a
1. Encontre um ponto inicial x0 fact vel e faca k = 0
2. Se xk satisfaz as condic~es de otimalidade do problema,
o
pare. Sen~o, va para 3
a
3. Determine uma direc~o dk fact vel em xk , isto e, tal que
a
k + dk seja fact vel p/ todo 0
exista > 0 e x
4. Determine o tamanho de passo k , calcule xk+1 = xk +
k
k d , faca k := k + 1 e volte para 2

Exemplo - Metodo de Zoutendijk


minimizar f (x) s.a aix ; bi 0 i = 1 2 : : : p
onde ai 2 R1 n bi 2 R. Seja I (xk ) := fi : ai xk ; bi = 0g.
A direc~o dk e escolhida resolvendo-se o problema linear
a

minimizar rf (xk)T d
s.a aid 0 i 2 I (xk )
n
X
j di j = 1
i=1

PAVF

Metodos de projec~o do gradiente


a
Metodo do gradiente projetado
Considere o problema

minimizar f (x) s.a aix bi i = 1 2 : : : m


Seja xk um ponto fact vel na iterac~o k e de na
a
I ( xk )
Ak 2 Rmk n

dk 2 Rn

: ndices das mk restric~es ativas em xk


o
: linhas associadas aos ndices I (xk )
por hipotese, rank(Ak ) = mk
: direc~o tal que
a

Ak dk = 0 (fact vel)
rf (xk )T dk < 0
(descida)
De na ainda gk := rf (xk ). Neste caso,
;g k

= dk + AT
k

onde dk 2 N (Ak ) e AT k 2 R(AT ) para algum


k
k
k = 0 e rank(A ) = m ,
Como Ak d
k
k
k

= ;(Ak AT );1Ak gk
k

k 2

Rm k .

PAVF

Metodos de projec~o do gradiente


a
Gradiente projetado
dk = ; I ; AT (Ak AT );1Ak ]gk = ;Pk gk
k
k
onde Pk e a matriz de projec~o ortogonal em
a
k = 0 (gradiente projetado), ent~o
d
a

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:

Se dk = ;Pk gk 6= 0, ent~o dk e uma direc~o de


a
a
k
descida em x = x

Prova: Como gk + dk e ortogonal a dk ,


(gk )T dk = gk + dk ; dk ]T dk = ;kdk k2 < 0

Passo

Se dk 6= 0, de na
Obtem-se
k

:= max f

: xk + dk fact velg.

:= arg 0min f (xk + dk )

PAVF

Metodos de projec~o do gradiente


a
Gradiente projetado

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

Metodos de projec~o do gradiente


a
Adaptac~o do algoritmo
a
Se dk = 0 e k < 0 para algum j 2 I (xk ), de na Ak
j
deletando de Ak a linha j correspondente. Ent~o
a

(1)
(2)

; gk
; gk

= AT k
k
k + AT
= d
k

onde dk e a projec~o ortogonal de ;gk usando Ak


a

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.

2. Pelo Lema, (gk )T dk < 0 e dk e uma direc~o de descida.


a
k = 0, de (1) veri ca-se que
Como Ak d
;(g k )T dk

= ( k )T Ak dk = k (aj )T dk > 0
j

3. Como k < 0, conclui-se que (aj )T dk < 0. Logo, dk


j
tambem e uma direc~o fact vel
a
4. A restric~o associada a
a

k
j

< 0 pode ser removida

PAVF

Metodos de projec~o do gradiente


a
Algoritmo padr~o
a
Encontre um ponto inicial x0 fact vel e faca k = 0
1. Determine I (xk ) e a matriz Ak mk n
2. Calcule Pk = I ; AT (Ak AT );1Ak e dk = ;Pk gk
k
k
3. Se dk 6= 0, obtenha
:= max f : xk + dk fact velg
k

:= arg 0min f (xk + dk )

faca xk+1 = xk + k dk , k := k + 1 e volte para 1. Caso


contrario (dk = 0), calcule k = ;(Ak AT );1Ak gk
k
(a) Seja k := min f k i 2 I (xk )g. Se k 0, pare: xk
j
i
j
satisfaz as condic~es de Kuhn-Tucker. Caso contrario,
o
(b) De na Ak+1 como Ak menos a linha associada a
faca k := k + 1 e volte para 2

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

Metodos de projec~o do gradiente


a
Exemplo (Luenberger, pg. 333)
minimizar x2 + x2 + x2 + x2 ; 2x1 ; 3x4
1
2
3
4
s.a 2x1 + x2 + x3 + 4x4 = 7
x1 + x2 + 2x3 + x4 = 6
;xi 0 i = 1 2 3 4
2
6
6
6
4

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

Metodos de projec~o do gradiente


a
Restric~es n~o-lineares
o a
Projeta-se ;gk no subespaco tangente as restric~es ativas no
o
ponto xk
M(xk )
;g k

xk
dk

yk
xk+1
g(xk ) = 0

Pk = I ; J (xk )T J (xk)J (xk)T ];1J (xk )


J (xk ) : Jacobiana das restric~es ativas
o

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

Converg^ncia: analoga ao caso irrestrito M m s~o os


e
a
autovalores maximo e m nimo de L(x ) restrita a M(x )

PAVF

11

Metodos de projec~o do gradiente


a
Metodo do gradiente reduzido
Motivado por tecnicas de programac~o linear. As restric~es
a
o
lineares se apresentam na forma padr~o
a

minimizar f (x) s.a Ax = b x 0


A 2 Rm
f 2 C1

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

Metodos de projec~o do gradiente


a
Procedimento
1. Selecione z e mova z na reta z + z
0. Neste
caso y move-se na reta y + y, onde y = ;B ;1C z
2. Se uma vi torna-se nula, uma nova direc~o z deve ser
a
determinada
3. Se uma vd torna-se nula, a partic~o e modi cada: a vd
a
que assume valor nulo e declarada vi e uma vi positiva e
declarada vd
4. Trocas de variaveis efetuadas atraves de pivoteamento.
Problema reformulado em termos de n ; m variaveis (z )

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

Metodos de projec~o do gradiente


a
Calculo da direc~o z
a
Seja I (z ) := fi : zi = 0g. A direc~o de descida do metodo
a
e de nida como
8
> ;ri
>
>
<

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

{ Neste caso, pode-se de nir zi := ;ri


{ Direc~o de descida:
a
zi :=

8
> ;ri
>
>
<
>
>
>
: 0

se ri < 0 ou zi > 0
caso contrario

PAVF

14

Metodos de projec~o do gradiente


a
Algoritmo padr~o
a
Encontre uma partic~o inicial (y0 z 0) tq B0y0 + C0z 0 =
a
b y0 > 0 z0 0 e faca k = 0
;
1. Calcule rk = rz f (yk z k ) ; (Bk 1Ck )T ry f (yk z k ) e determine
8
> ;rk
>
>
i
k=<
zi >
>
>
:
0

se rik < 0 ou zik > 0


caso contrario

2. Se z k = 0, pare: xk = (yk z k ) e uma soluc~o do problea


k = ;B ;1C z k e faca
ma. Caso contrario, determine y
k k

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

4. Calcule xk+1 = xk + k xk . Se k = 1, declare vi uma


vd que assumiu valor nulo, vd uma vi positiva e determine
Bk+1 e Ck+1. Faca k := k + 1 e volte para 1

PAVF

15

Metodos de projec~o do gradiente


a
Exemplo (Luenberger, pg. 347)

minimizar x2 + x2 + x2 + x2 ; 2x1 ; 3x4


1
2
3
4
s.a 2x1 + x2 + x3 + 4x4 = 7
x1 + x2 + 2x3 + x4 = 6
xi 0 i = 1 2 3 4

x0 = (2 2 1 0) y := (x1 x2) z := (x3 x4)

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

Metodos de projec~o do gradiente


a
Restric~es n~o-lineares
o a
Problemas id^nticos aos do metodo do gradiente projetado
e

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 e barreira


Filoso a
Aproximar problemas restritos por problemas irrestritos

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

minimizar f (x) s.a x 2 S Rn


associa-se o problema irrestrito

minimizar f (x) + cP (x)


onde c > 0 e P e uma func~o cont nua tal que
a

a) P (x) 0 para todo x 2 Rn e


b) P (x) = 0 , x 2 S

Par^metro c
a
Idealmente, quando c ! 1, as soluc~es dos problemas reso
trito e irrestrito se aproximam (P (x) ! 0)

PAVF

18

Metodos de penalidade e barreira


Exemplo - Considere S := fx 2 Rn
poss vel func~o de penalizac~o seria
a
a

0g. Uma

: g(x)

p
X

P (x) := (maxf0 gi(x)g)2


i=1

Se p = 2, g1(x) = x ; b, g2(x) = a ; x, obtem-se a situac~o


a
abaixo

cP (x)
c = 10
c = 102
0

c = 102
b

c = 10

Para c grande, o m nimo do problema irrestrito esta situado


numa regi~o onde cP (x) e pequeno
a
Quando c ! 1, a soluc~o do problema irrestrito tende
a
para a soluc~o do problema restrito
a
Procedimento: resolver uma sequ^ncia de problemas irrese
tritos com c ! 1

PAVF

19

Metodos de penalidade e barreira


Metodo
Seja (ck ) uma sequ^ncia tendendo ao in nito tal que ck
e
0 ck+1 > ck . De na

q(c x) := f (x) + cP (x)


Para cada k, assume-se que

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

Metodos de penalidade e barreira


Algoritmo Penalidade
Escolha > 0, c0 > 0, > 1 e x0. Faca k = 0

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

Exige apenas continuidade das func~es, mas efetivo apenas


o
se algoritmos e cientes s~o usados para gerar (xk )
a
Se o problema incluir restric~es de igualdade e desigualdao
de, pode-se usar por exemplo

P (x) =

m
X

i=1

p
X

hi(x)2 + (maxf0 gi(x)g)2


i=1

O condicionamento do problema irrestrito piora a medida


que ck aumenta

PAVF

21

Metodos de penalidade e barreira


Exemplo (Bazaraa et al., pg. 370)
minimizar x2 + x2 s.a x1 + x2 ; 1 = 0
1
2
Neste caso, q(x c) := x2 + x2 + c(x1 + x2 ; 1)2. A hessiana
1
2
de q e

Q(c) :=

2
6
6
6
4

2(1 + c)

2c

2c

2(1 + c)

3
7
7
7
5

Os autovalores de Q s~o m = 2 e M = 2(1 + 2c). O


a
numero de condic~o e r := M = m = 1 + 2c e
a

r ! 1 quando c ! 1
1

x2
c
c !
2c + 1 2c + 1

c1

c2 > c1

c2

1 x1

PAVF

22

Metodos de penalidade e barreira


Penalizac~o exata
a
No metodo de penalidades, um m nimo local x e obtido
apenas qdo c ! 1. Pode-se obter x com c nito se

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

Metodos de penalidade e barreira


Metodos de barreira
Partem de pontos fact veis e constr~em barreiras na frono
teira de S evitando que as sequ^ncias geradas saiam de S
e

Propriedades de S
o
S =
6

, interior n~o-vazio. Como pontos em @ S devem


a
ser atingidos a partir do interior, S deve ser um conjunto

robusto

robusto

n~o-robusto
a

Conjuntos robustos podem ser descritos por restric~es de


o
desigualdade:
S

:= fx 2 Rn : g(x) 0g

Restric~es de igualdade n~o descrevem conjuntos robuso


a
tos porque geram conjuntos com interior vazio

PAVF

24

Metodos de penalidade e barreira


Func~o barreira
a
Uma func~o cont nua B de nida no interior de S e uma
a
barreira se a) B (x) 0 e b) B (x) ! 1 quando x ! @ S

Exemplo (Luenberger, pg. 369)


Seja S := fx 2 Rn : g(x)
a func~o barreira
a

B (x) := ;

0g um conjunto robusto e B

1
i=1 gi (x)
p
X

x2S

O caso p = 2 g1(x) = a ; x e g2(x) = x ; b e ilustrado


abaixo
c B (x)

c=2
c=1

a
1
c

b x

Note que c > 0 e que B (x) ! 1 qdo x ! a ou x ! b

PAVF

25

Metodos de penalidade e barreira


Metodo
Seja (ck ) uma sequ^ncia tendendo ao in nito tq ck
e
ck+1 > ck . De na

0e

r(c x) := f (x) + 1 B (x)


c

Para cada k resolva


o

minimizar r(ck x) s.a x 2 S


obtendo xk . A soluc~o xk+1 e obtida partindo-se de xk . A
a
soluc~o do problema restrito e obtida qdo ck ! 1
a

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

A partir de x0 2 S , a func~o barreira mantem a sequ^ncia


a
e
o
o
em S . A restric~o x 2 S n~o e considerada explicitamente
a
a

PAVF

26

Metodos de penalidade e barreira


Exemplo (Fiacco-McCormick, pg. 43)
minimizar x1 + x2
s.a g1(x) = x2 ; x2 0
1
g2(x) = ;x1 0
Barreira logaritmica
B (x) = ;

p
X
i=1

ln (;gi(x))

x2S

O m nimo irrestrito de

r(c x) = x1 + x2 ; (1=c) ln (;x2 + x2) ; (1=c) ln (x1)


1
e

x1(c) = (;1 + q1 + 8=c)=4


x2(c) = (;1 + 1 + 8=c)2=16 + 1=c
e quando c ! 1, (x1(c) x2(c)) ! (0 0) (m nimo restrito)

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

Metodos de penalidade e barreira


Interpretac~o
a
x2
1

;1

x1
x1 + x2 = 0

Notas
Uma sequ^ncia interior a S tambem seria obtida por um
e
metodo tipo gradiente otimo
o

Por hipotese, gi(x0) < 0 para todo i (x0 2 S ). Logo,


r(c1 x0) existe e possui algum valor nito
O metodo do gradiente otimo aplicado a r(c1 x) gera uma
sequ^ncia (xk ) tal que r(c1 x0) r(c1 x1) r(c1 x2)
e
r ! 1 a medida que se caminha em direc~o a fronteira a
a
partir de qualquer ponto interior
A fronteira n~o pode ser alcancada atraves da sequ^ncia
a
e
gerada. O m nimo de r(c x) sera sempre um ponto interior

PAVF

28

Metodos de penalidade e barreira


Algoritmo Barreira
o

Escolha > 0, c0 > 0, > 1 e x0 2 S . Faca k = 0

while (1=ck )B (xk)


o
xk+1 = arg minx2S f (x) + (1=ck )B (x)
ck+1 = ck
k := k + 1
end
x = xk

Notas
Demonstra-se que

lim (1=ck )B (xk ) = 0


k!1
Como nos metodos de penalidade, o condicionamento do
problema irrestrito piora a medida que c ! 1
Os metodos de barreira tambem s~o conhecidos como mea

todos de pontos interiores

Algoritmos de pontos interiores para programac~o linear,


a
como o proposto por Karmakar, est~o intrinsecamente rea
lacionados aos metodos de barreira

PAVF

29

Metodos da lagrangeana aumentada


Motivac~o
a
Similar aos dos metodos de penalidade: resolver problemas
restritos atraves de uma sequ^ncia de problemas irrestritos
e
Busca-se evitar mal condicionamento mantendo c > 0 nito, sem o uso de penalidade exata (n~o-diferenciavel)
a

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

minimizar f (x) s.a h(x) = 0


a) h(x ) = 0
b)

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

A condic~o rl(x ) = 0 n~o signi ca que x e um m nimo


a
a
irrestrito da func~o lagrangeana l(x )
a

PAVF

30

Metodos da lagrangeana aumentada


Lagrangeana aumentada
lc(x ) := l(x ) + 1 c h(x)T h(x)
2
= f (x) + T h(x) + 1 c h(x)T h(x) c > 0
2
O gradiente de lc(x
pois

rlc (x

) se anula no ponto x . De fato,

) = 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

Lc(x ) = L(x ) + crh(x )T rh(x )


e uma combinac~o positiva de L(x ), de nida positiva em
a
M(x ), e rh(x )T h(x ), semi-de nida positiva
A ideia e incrementar c > 0 de forma que Lc(x ) se torne
de nida positiva e x um m nimo irrestrito de lc(x )

PAVF

31

Metodos da lagrangeana aumentada


Interpretac~o
a
A soluc~o unica do problema
a

minimizar x3 s.a x + 1 = 0
e x = ;1
de
mas sera de

= ;3. Note que x = ;1 n~o e m nimo local


a

l(x ;3) = x3 ; 3(x + 1)


c
lc(x ;3) = x3 ; 3(x + 1) + 2 (x + 1)2

para todo c > c = 6


2

lc c = 10

4
3

2.5

1.5

0.5

0.5

Para c grande, o termo (c=2) h(x)T h(x) convexi ca lc numa


vizinhanca do m nimo local x

PAVF

32

Metodos da lagrangeana aumentada


Lema
Sejam A B matrizes simetricas. Assuma B 0 e A > 0 no
subespaco Bx = 0. Ent~o existe um c tal que A + cB > 0
a
para todo c c

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

Metodos da lagrangeana aumentada


Notas (cont)
A equac~o h(x( )) = 0 e resolvida atraves do processo
a
iterativo
k+1 = k + c h(xk )

O processo converge linearmente numa vizinhanca de

Exemplo (Luenberger, pg. 409)


minimizar 2x2 + 2x1x2 + x2 ; 2x2 s.a x1 = 0
1
2
Lagrangeana aumentada:
1
lc(x1 x2 ) := 2x2 + 2x1x2 + x2 ; 2x2 + x1 + 2 c x2
1
1
2
M nimo anal tico:
)
x1( ) = ; (2 + c)
(2 +

+c
x2( ) = (4(2 ++) )
c

Processo iterativo: (h(x) = x1)


k+1 = k ;

k ! ;2

c (2 + k ) = 2
(2 + c) 2 + c

k;

2c
2+c

(= ), qualquer que seja c > 0 (= c )

PAVF

34

Metodos da lagrangeana aumentada


Algoritmo (Metodo dos multiplicadores)
Escolha > 0, c0 > 0,
Faca v0 = +1 e k = 0

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

Restric~es de desigualdade - Restric~es do tipo g(x)


o
o
0 podem ser escritas na forma
gi(x) + zi2 = 0 i = 1 2 : : : p
Deve-se entretanto assumir complementariedade estrita, isto e, j > 0 se gj (x ) = 0, alem das condic~es su cientes
o
de 2a. ordem aplicaveis ao caso

PAVF

35

Programac~o quadratica sequencial


a
Motivac~o
a
Empregar metodos quasi-Newton para resolver diretamente
as condic~es de Kuhn-Tucker do problema
o

Problema

minimizar f (x) s.a h(x) = 0


f : Rn ! R f 2 C 2
h : Rn ! Rm h 2 C 2

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

su cientes de 2a. ordem para m nimo local estrito

PAVF

36

Programac~o quadratica sequencial


a
Metodo de Newton
Dado (xk

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

De nindo d := x ; xk , pode-se reescrever o sistema como

L(xk )d + rh(xk )T =
rh(xk )d

;rf (xk )
;h(xk )

Obtem-se (dk k+1) e ent~o xk+1 := xk + dk . Repete-se o


a
k = 0, isto e,
processo ate que d
rf (xk ) + rh(xk )T k+1

= 0

h(xk ) = 0
e (xk

k+1)

satisfaz as condic~es necessarias de 1a. ordem


o

Se inicializado proximo de (x ), o algoritmo gera soluc~es


o
k k+1) que convergem quadraticamente para (x
unicas (x
)

PAVF

37

Programac~o quadratica sequencial


a
Subproblema quadratico
Melhores soluc~es s~o obtidas resolvendo-se uma sequ^ncia
o a
e

de subproblemas quadraticos:

1
2

QPk : minimizar dT L(xk )d + rf (xk )T d + f (xk )

s.a h(xk ) + rh(xk )T d = 0


As condic~es necessarias do subproblema QPk s~o
o
a

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

QPk : minimizar dT L(xk )d + rl(xk )T d + l(xk )

s.a h(xk ) + rh(xk )T d = 0

PAVF

38

Programac~o quadratica sequencial


a
Interpretac~o
a
QPk , relativo ao ponto (xk k ), e equivalente a minimizar
a aproximac~o quadratica da func~o lagrangeana no plano
a
a
tangente as restric~es
o
Como as condic~es su cientes de 2a. ordem requerem
o
L(x ) > 0 em M(x ) na soluc~o do problema restrito,
a
garante-se que QPk esta bem de nido proximo a soluc~o
a

Restric~es de desigualdade
o
Se o problema envolver restric~es de desigualdade, ent~o QPk
o
a
e reescrito como

1
2

QPk : minimizar dT L(xk )d + rf (xk )T d + f (xk )

onde

s.a h(xk ) + rh(xk )T d = 0


g(xk ) + rg(xk )T d 0
L(xk ) := F (xk ) +

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

Programac~o quadratica sequencial


a
Implementac~o quasi-Newton
a
A ideia e substituir L(xk ) pela aproximac~o Bk gerada, por
a
exemplo, pelo metodo BFGS:

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

e f s~o minimizadas simult^neamente e dk 6= 0 pode se


a
a
tornar uma direc~o de descida para
a

PAVF

40

Programac~o quadratica sequencial


a
Teorema
Dado xk , considere QPk com Bk > 0 no lugar de L(xk ). Se
(dk k+1 k+1) d 6= 0 resolve QPk e se c maxi j fj k+1 j
i
k+1g, ent~o dk e uma direc~o de descida para em xk
a
a
j

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

Sob condic~es apropriadas, converge para (x


o
) satisfazendo as condic~es de Kuhn-Tucker do problema original
o

PAVF

41

Programac~o quadratica sequencial


a

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

Programac~o quadratica sequencial


a
Soluc~o
a
x0= 0 0] A= 1 -1] b=1
options=optimset('LargeScale','off')
x,fval,exit,out,lda]=fmincon('fex01',x0,A,b, ],
], ], ],'rex01',options)

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 =

lower: 2x1 double]


upper: 2x1 double]
eqlin: 0x1 double]
eqnonlin: 0x1 double]
ineqlin: 0
ineqnonlin: 0.7071

PAVF

43

Programac~o quadratica sequencial


a
Exemplo 2
Os gradientes da func~o e das restric~es podem ser fornecidos
a
o
pelo usuario para maior precis~o
a

minimizar 100(x2 ; x2)2 + (1 ; x1)2


1
s.a x2 + x2 1:5
1
2
function f,G]=fex02(x)
f=100*(x(2)-x(1)^2)^2+(1-x(1))^2
G= -400*(x(2)-x(1)^2)*x(1)-2*(1-x(1))
200*(x(2)-x(1)^2)]
function c,ceq,Dc,Dceq]=rex02(x)
c=x(1)^2+x(2)^2-1.5
Dc= 2*x(1) 2*x(2)]
ceq= ]
Dceq= ]

Soluc~o
a
x0= -1.9 2.0]
options=optimset('LargeScale','off')
options=optimset(options,'GradObj','on',
'GradConstr','on')

PAVF

44

Programac~o quadratica sequencial


a
Soluc~o (cont)
a
x,fval,exit,out,lda]=fmincon('fex02',x0, ], ]
, ], ], ], ],'rex02',options)

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 =

lower: 2x1 double]


upper: 2x1 double]
eqlin: 1x0 double]
eqnonlin: 1x0 double]
ineqlin: 1x0 double]
ineqnonlin: 0.0386

PAVF

45

Metodos de planos de corte


Forma geral
minimizar cT x s.a x 2 S
c 2 Rn : vetor constante
S Rn : conjunto convexo fechado

Exemplo
Problemas do tipo

minimizar f (y) s.a y 2 R Rn


podem ser colocados como

minimizar r s.a f (y) ; r 0 y 2 R


De nindo-se

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

Metodos de planos de corte


Algoritmo padr~o
a
Determine um politopo inicial P0 tq S

P0

e faca k = 0

1. Minimize cT x em Pk obtendo xk 2 Pk . Se xk 2 S , pare:


xk e uma soluc~o otima. Caso contrario, va para 2
a
2. Encontre um hiperplano Hk separando xk de S , isto e,
encontre ak 2 Rn e bk 2 R tais que
S

fx

: (ak )T x bk g e xk 2 fx : (ak )T x > bk g

Atualize Pk+1 a partir de Pk incluindo fx : (ak )T x


faca k := k + 1 e volte para 1

Interpretac~o
a

x2
S

x0
x1
H0

H1

;c

bk g,

PAVF

47

Metodos de planos de corte


Notas
Algoritmos espec cos diferem na maneira de determinar o
hiperplano separador Hk e de obter um novo politopo Pk+1
A profundidade dos cortes (cuts) produzidos pelos Hk 's
nos politopos Pk 's governa a converg^ncia de cada algorite
mo
De nir
Pk+1

= Pk \ fx : (ak )T x bk g

e a melhor estrategia, mas agrega ao problema linear um


numero crescente de restric~es. Alguns algoritmos descaro
tam restric~es inativas no ponto corrente xk
o

Algoritmo de Kelley
Problema:

minimizar cT x s.a g(x) 0


onde x 2 Rn e gi : Rn ! R gi 2 C 1 i = 1 2 : : : p s~o
a
n
func~es convexas. Para quaisquer x y 2 R
o

gi(x) gi(y) + rgi(y)T (x ; y) i = 1 2 : : : p

PAVF

48

Metodos de planos de corte


Algoritmo Kelley
Seja S := fx 2 Rn : g(x) 0g e P0 tal que a) S
b) cT x e limitada em P0. Faca k = 0

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

xk+1 = arg min cT x s.a x 2 Pk+1


k := k + 1

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

gi(xk ) + rgi(xk )T (x ; xk ) gi(x) 0

O semi-espaco gerado n~o contem xk , pois gi(xk ) > 0


a

0,

PAVF

49

Metodos de planos de corte


Teorema
Sejam gi : Rn ! R i = 1 2 : : : p func~es convexas difeo
renciaveis. Qquer ponto limite da sequ^ncia (xk ) gerada pelo
e
algoritmo de Kelley e uma soluc~o do problema original
a

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

para alguma constante c (converg^ncia aritmetica)


e
Sugere que a converg^ncia pode ser geometrica, mas com
e
taxa tendendo a 1 a medida que a dimens~o do problema
a
aumenta
Restric~es inativas podem ser eliminadas para reduzir a
o
complexidade do problema. O efeito do descarte sobre a
taxa de converg^ncia n~o e conhecido
e
a

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

, x0 := arg min l(x


x2

) 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 )

Suponha que para cada


onde xi = arg minx2

Aproximac~o de
a
k(

) = 1mink ff (xi) + ( i)T


i

( )

k(

Note que ( i) = k ( i) para i = 1 2 : : : k e que ( )


a
k ( ) para todo 2
k e uma linearizac~o externa de
ordem k para

PAVF

53

Metodos duais
Aproximac~o do dual
a
maximizar

k(

) s.a

e equivalente ao problema linear

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)

xk+1 = arg minx2

l(x

k+1 ,

k+1),

que gera

:::

Sejam e k os valores otimos dos problemas dual e aproximado. Ent~o k


a
para todo k
A soluc~o do problema aproximado converge para a soa
luc~o do dual quando k ; ( k ) < , para > 0 pequeno
a
O vetor i = g(xi) 2 Rp e um subgradiente de em i,
pois para todo 2 ,

( )

( 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

xk+1 = arg minx2 l(x


k+1 = g (xk+1)
k+1 = l(xk+1 k+1)
k := k + 1

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

You might also like