You are on page 1of 38

Algoritmos para Problemas

de Otimizao Restrita
EEL 6000 - Mtodos Numricos de Otimizao
Laboratrio de Planejamento de Sistemas de Energia Eltrica
Centro Tecnolgico Departamento de Engenharia Eltrica
Tel. +55 (48) 331.9731/9933 Fax +55 (48) 331.7538
Homepage: htto://www.labplan.ufsc.br
Prof.: Erlon Cristian Finardi, D. Eng.
erlon@labplan.ufsc.br
Tcnicas para a Operao de SEE 2
2 EEL6000 Mtodos Numricos de Otimizao
Introduo
Algoritmos para resolver
min sujeito a: (1)
i
n
x
i
c x i
f x
c x i

= e

0
0
( )
( )
( )
f e c
i
funes (suaves) escalares de x
c e I conjuntos de ndices
As condies de otimalidade constituem a teoria
bsica para o desenvolvimento de estratgias
Contudo, para ser eficiente um algoritmo deve levar em considerao
as propriedades particulares e a estrutura da funo objetivo e das
restries
Existem muitos casos especiais de (1) para os quais algoritmos
especializados podem ser desenvolvidos
Tcnicas para a Operao de SEE 3
3 EEL6000 Mtodos Numricos de Otimizao
Classes de Algoritmos
Penalidade e Lagrangeano Aumentado
Combinam a funo objetivo e as restries penalizadas para
resolver uma seqncia de problemas irrestritos
Programao Quadrtica Seqencial
Representam (1) por um subproblema de Programao Quadrtica
em cada iterao e calculam uma direo de busca com base na
soluo desse subproblema
Uma nova iterao obtida por meio do decrscimo de uma funo
de mrito
Programao Quadrtica
So base para mtodos baseados em Programao Quadrtica
Seqencial
Tcnicas para a Operao de SEE 4
4 EEL6000 Mtodos Numricos de Otimizao
Eliminao de Variveis
Estratgia natural para problemas restritos
eliminar todas ou algumas restries
devem ser usadas com cuidado pois podem alterar o problema ou
introduzir mau condicionamento
2
1 3 3 4
1 2 3 4
2
2 4 3
0
min sujeito a: (2)
0
( , , , )
n
x
x x x x
f x x x x
x x x

+ - =

- + + =

No existe risco em fazer


2 2
1 3 3 4 2 4 3
0, x x x x x x x =- + = = +
2 2
3 4 3 3 4 4 3 3 4
min , , , , ) ( ) ( h x x f x x x x x x x = - + +
(3)
Tcnicas para a Operao de SEE 5
5 EEL6000 Mtodos Numricos de Otimizao
Riscos da Eliminao
2 2 3 2
min sujeito a: 1 x y x y + - = ( )
(5)
2 3
min + 1 ( ) ( ) h x x x = -
Eliminando y
(4)
quando ( ) h x x - -
Problema ficou ilimitado pois ignora o fato que a
restrio de (4) implicitamente impe que x 1
Tcnicas para a Operao de SEE 6
6 EEL6000 Mtodos Numricos de Otimizao
Programao Quadrtica
Inmeros casos prticos e tambm aparecem em
subproblemas de mtodos tais como Programao
Quadrtica Seqencial
T T
T
T
min
sujeito a:

= +

= e

1
2
( )
n
x
i i
i i
q x x Gx x d
a x b i
a x b i
(1)
onde G uma matriz nx n, c e I so conjuntos de
ndices, e d, x, e {a
i
}, i e c I
Podem ser sempre resolvidos em um nmero finito
de iteraes, mas o esforo requerido depende das
caractersticas de f(x) e do nmero de restries de
desigualdade
Tcnicas para a Operao de SEE 7
7 EEL6000 Mtodos Numricos de Otimizao
Caractersticas Principais
Se a matriz hessiana G for semidefinida positiva, o PQ (1)
convexo. Neste caso, s vezes apresenta dificuldade de
soluo levemente superior um problema de
Programao Linear
Por sua vez, um QP no convexo (G indefinida) pode ser
muito mais desafiante o procedimento de soluo, desde
que apresentam vrios pontos estacionrios e mnimos
locais
mximo
local
mnimo
local
ponto
estacionrio
mnimos
locais
mximo
global
Tcnicas para a Operao de SEE 8
8 EEL6000 Mtodos Numricos de Otimizao
Mtodo de Penalidades
Motivao: substituir o problema original por um
funo penalidade que consiste
Funo objetivo original do problema com restries
Um termo adicional, referente a cada restrio, que seja positivo
quando a atual iterao xviola a restrio, ou seja nulo, caso contrrio
Define uma seqncia de funes de penalidade
Os termos de penalidade das restries violadas so multiplicadas
por algum coeficiente positivo
Incrementando-se iterativamente esse coeficiente, possvel
penalizar as violaes das restries de forma cada vez mais severa,
forando o minimizador da funo penalizada ficar tambm cada vez
mais prximo da regio vivel do problema restrito original
Freqentemente os minimizadores so inviveis e a
viabilidade s pode ser conseguida com valores
elevados do parmetro de penalidade
Tcnicas para a Operao de SEE 9
9 EEL6000 Mtodos Numricos de Otimizao
Penalidade Quadrtica...(1)
Funo de penalidade mais simples
Termos de penalidade constituem de desvios quadrticos das
violaes das restries
Inicialmente, considere o problema abaixo
sujeito a: min ( ) ( ) ,
i
x
f x c x i = e 0
(2)
A funo de penalidade quadrtica Q(x;) dada por
( ; ) ( ) ( )
i
i
Q x f x c x
e
m +
m

2
1
2

(3)
> 0 o parmetro de penalidade. Direcionando
para zero ns penalizamos as violaes das restries com
severidade crescente
Tcnicas para a Operao de SEE 10
10 EEL6000 Mtodos Numricos de Otimizao
Penalidade Quadrtica...(2)
Matematicamente, deve-se considerar uma
seqncia de {
k
}com
k
+ 0 quando k , e
procurar um minimizador x
k
de Q(x;
k
) para cada k
Devido ao fato que os termos de penalidade em (3)
so suaves, possvel usar tcnicas de otimizao
irrestrita para encontrar um x
k
Os minimizadores x
k
, x
k-1
,... podem ser usados com
bons pontos de partida para a minimizao de
Q(x;
k+1
)
Escolhendo-se adequadamente a seqncia de {
k
} e
os pontos iniciais, pode ser possvel realizar poucos
passos da minimizao para cada valor de
k
Tcnicas para a Operao de SEE 11
11 EEL6000 Mtodos Numricos de Otimizao
Exemplo
Considere o seguinte problema
min
s.a:
+
+ - =
1 2
2 2
1 2
2 0
x x
x x
(4)
O problema possui ponto de mnimo em (-1,-1)
T
e
a funo de penalidade quadrtica dada por
m = + + + -
m
2 2 2
1 2 1 2
1
2
2
Q x x x x x ( ; ) ( )
(5)
Tcnicas para a Operao de SEE 12
12 EEL6000 Mtodos Numricos de Otimizao
Contornos de Q(x;)

k
= 1
k
= 0.1
mnimo local ~ (1,1;1,1)
T
mximo local ~ (0,3;0,3)
T
mnimo local ~ (1;1)
T
mximo local ~ (0;0)
T
Tcnicas para a Operao de SEE 13
13 EEL6000 Mtodos Numricos de Otimizao
Algoritmo
Escolha
0
> 0, tolerncia t
0
> 0 e um ponto inicial x
s
0
for k = 0,1,2,
Calcule um minimizador x
k
de Q(x;
k
), com ponto inicial x
s
k
e
pare quando ||VQ(x;
k
)|| s t
k
if teste de convergncia atendido
PARE x
k
a soluo aproximada
else
Escolha
k+1
e(0,
k
);
Escolha um novo ponto de partida x
s
k+1
end(if)
end(for)
Tcnicas para a Operao de SEE 14
14 EEL6000 Mtodos Numricos de Otimizao
Aspectos de Implementao
Parmetro de penalidade pode ser escolhido com base
na minimizao de Q(x;
k
) em cada iterao
Se Q(x;
k
) de difcil soluo, ento pode-se escolher
k+1
levemente inferior a
k
(e.g.,
k+1
= 0,7
k
)
Caso contrrio, pode-se tentar algo mais ambicioso (
k+1
= 0,1
k
)
Quando s existem restries de igualdade, qualquer
algoritmo de direo de busca descrito pode ser usado
Contudo, quando
k
torna-se muito pequeno a soluo pode ser
complicada (hessiana fica mau condicionada prximo do mnimo)
Gradiente Conjugado e Quase - Newton perdem eficincia
Mtodo Newton no afetado, mas os contornos de Q(x;
k
) perto do
minimizador podem no bem representados por aproximaes
quadrticas (pode ser amenizada pela escolha de um bom x
s
k+1
)
Tcnicas para a Operao de SEE 15
15 EEL6000 Mtodos Numricos de Otimizao
Lagrangeano Aumentado
Deriva do mtodo de penalidade quadrtica, mas
evita o mau condicionamento por meio do uso de
estimativas dos multiplicadores de Lagrange
No necessita que os pontos sejam viveis
Implementao pode ser construda por
algoritmos padres de minimizao irrestrita ou
box-constrained
Definies
ndices sobrescritos (usualmente ke k+1) sero utilizados para as
estimativas dos multiplicadores de Lagrange
ndices subscritos (usualmente i) para identificar um componente
do vetor
Tcnicas para a Operao de SEE 16
16 EEL6000 Mtodos Numricos de Otimizao
Estrutura do Algoritmo
Considerando somente restries de igualdade
A i i i
i i
L x f x c x c x
e e
l m = - l +
m

2
1
2
( , ; ) ( ) ( ) ( )
i
x A i i
i
c x
L x f x c x
e

l m = - l -

( )
( , ; ) ( ) ( )
Fixa
k
> 0 e
k
para encontrar x
k
k k
i i i k k i k k i i
c x c x i l l - m m l -l " e
* *
( )/ ( ) ( ),
Se
k
muito prximo do multiplicador timo
*
a
inviabilidade muito menor que
k
atualizao dos multiplicadores
k
i i i k k
c x i l =l - m " e
*
( )/
Tcnicas para a Operao de SEE 17
17 EEL6000 Mtodos Numricos de Otimizao
Algoritmo Base
Fornecidos
0
> 0, tolerncia t
0
> 0 e um ponto inicial (x
s
0
;
0
)
for k = 0,1,2,
Calcule um minimizador x
k
de L
A
(.,
k
;
k
), com ponto inicial
x
s
k
e pare quando ||L
A
(.,
k
;
k
)|| s t
k
if teste de convergncia atendido
PARE x
k
a soluo aproximada
else
Atualize os multiplicadores de Lagrange para obter
k+1
;
Escolha
k+1
e(0,
k
);
Escolha um novo ponto de partida x
s
k+1
=x
s
k
end(if)
end(for)
Tcnicas para a Operao de SEE 18
18 EEL6000 Mtodos Numricos de Otimizao
Exemplo
Considere o seguinte problema
min
s.a:
+
+ - =
1 2
2 2
1 2
2 0
x x
x x
O problema possui ponto de mnimo em (-1,-1)
T
e
o multiplicador timo *=-0,5. A funo
Lagrangeano Aumentado dada por

( , ; ) ( )
( )
A
L x x x x x
x x
l m = + -l + -
+ + -
m
2 2
1 2 1 2
2 2 2
1 2
2
1
2
2
Tcnicas para a Operao de SEE 19
19 EEL6000 Mtodos Numricos de Otimizao
Contornos de L
A
(x,;)

k
= 1, = 0,4
mnimo local ~ (1,02;1,02)
T
mnimo local ~ (1;1)
T

k
= 0,1, = 0,4
Tcnicas para a Operao de SEE 20
20 EEL6000 Mtodos Numricos de Otimizao
Implementao Prtica...(1)
LANCELOT Transforma as restries de desigualdade
em restries de igualdade por meio de variveis de
folga
- = 0 0 0 ( ) , ( ) ,
i i i i
c x i I c x s s i I
Problema a ser resolvido

min

= =

0 1 ( ) , ,
. :
n
i
x
c x i m
sa
l x u
Lagrangeano Aumentado incorpora somente restries
de igualdade
m m
A i i i
i i
L x f x c x c x
= =
l m = - l +
m

2
1 1
1
2
( , ; ) ( ) ( ) ( )
Tcnicas para a Operao de SEE 21
21 EEL6000 Mtodos Numricos de Otimizao
Implementao Prtica...(2)
As restries de caixa so resolvidas explicitamente no
subproblema, que tem a seguinte forma
min s.a: l m ( , ; )
A
x
L x l x u
Aplicando as condies de KKT tem-se as condies de
otimalidade de primeira ordem para uma soluo
l m = 0
[ , ]
( , ; )
l u A
P L x
Com P
[l,u]
g a projeo do vetor ge9
n
na caixa [l,u]


= " =

0
1 2
0
[ , ]
min( , )
( ) ( , ) , ,...,
max( , )
i i i
l u i i i i i
i i i
g sex l
P g g sex l u i n
g sex u
Tcnicas para a Operao de SEE 22
22 EEL6000 Mtodos Numricos de Otimizao
LANCELOT Mtodo dos
Multiplicadores
Escolha constantes positivas q, e, 1, t < 1, < 1 e o
e
, |
e
, o
q
, |
q
, o
*
, |
*
que
satisfaam o
q
< min(1, o
e
), |
q
< min(1, |
e
)
Escolha
0
e 9
m
. Faa
0
=, o
0
= min(
0
, ), e
0
= e(o
0
)
oe
, q
0
= q(o
0
)
oq
for k = 0,1,2,
Calcule um minimizador x
k
tal que ||P
[l,u]
VL
A
(.,
k
;
k
)|| s e
k
if ||c(x
k
)|| s q
k
if ||c(x
k
)|| s q
*
e ||P
[l,u]
VL
A
(.,
k
;
k
)|| s e
*
PARE x
k
a soluo
end(if)

k+1
=
k
c(x
k
)/
k
;
k+1
=
k;
o
k+1
=
k+1;
q
k+1
= q
k
(o
k+1
)
|q
; e
k+1
= e
k
(o
k+1
)
|e
else

k+1
=
k
;
k+1
= t
k;
o
k+1
=
k+1

;
q
k+1
= q(o
k+1
)
|q
; e
k+1
= e(o
k+1
)
|e
end(if)
end(for)
Tcnicas para a Operao de SEE 23
23 EEL6000 Mtodos Numricos de Otimizao
Programao Quadrtica
Seqencial
Um dos mtodos mais eficientes para modelos no
lineares
Direes de busca so geradas pela soluo de subproblemas de
programao quadrtica
Pode ser usado com base em tcnicas de busca linear
ou regio de confiana
So eficientes quando a maioria das restries
apresentam no linearidades significantes
Apresentao dos mtodos de PQS ser dada em dois
estgios
Algoritmo local Introduz o clculo do passo e tcnicas de
aproximao da Hessiana
Algoritmo global baseado em Busca Linear encontra uma soluo
partir de pontos remotos
Tcnicas para a Operao de SEE 24
24 EEL6000 Mtodos Numricos de Otimizao
PQS Local... (1)
Problemas desse tipo no so comuns na prtica
Entendimento do problema acima crucial para a construo de
mtodos de PQS mais genricos
Problema com restries de igualdade apenas
s.a: 0 min ( ) ( ) f x c x =
Idia principal representar o PNL na iterao x
k
por
um subproblema de PQ e usar o minimizador para
definir uma nova iterao x
k+1
Construir um PQ que represente adequadamente o PNL e que seja
possvel manter boas propriedades de convergncia e uma
adequada performance prtica
Tcnicas para a Operao de SEE 25
25 EEL6000 Mtodos Numricos de Otimizao
Aplicao do mtodo de Newton s condies de KKT
do PNL
Talvez a mais simples construo de um mtodo de PQS
PQS Local... (2)
T
( , ) ( ) ( ) L x f x c x =
Funo Lagrangeana do PNL
Aplicando-se as condies de KKT tem-se o seguinte
sistema de n+mequaes e n+mincgnitas
T
0
0
( ) ( )
( , )
( )
f x A x
F x
c x
(
V (
= =
(
(


Onde A(x) a matriz jacobiana das restries, i.e.,
A(x)
T
=[Vc
1
(x), Vc
2
(x),..., Vc
m
(x)]
Tcnicas para a Operao de SEE 26
26 EEL6000 Mtodos Numricos de Otimizao
Uma aproximao sugerida consiste em aplicar o
mtodo de Newton para resolver o sistema no-linear
PQS Local... (3)
1
1
k k k
k k
x x p
p
+
+
( ( (
= +
( ( (


Passo de Newton da iterao (x
k
,
k
) dado por
Onde p
k
e p

resolvem o sistema de KKT


T T
T
0
k
k k k k k
k k
p
W A f A
p
A c

( (
( V +
=
( (
(



Onde W
k
= V
xx
2
L(x,)
Tcnicas para a Operao de SEE 27
27 EEL6000 Mtodos Numricos de Otimizao
A iterao ser bem definida quando a matriz de KKT
no-singular
As linhas de A
k
tem rank cheio LICQ
A
k
Definida Positiva no espao tangente das restries
Condies Suficientes de segunda ordem
PQS Local... (4)
Existe uma maneira alternativa de observar a iterao
anterior. Suponha que na iterao (x
k
,
k
) defina-se o
seguinte PQ
T T
T
0 5
0
0
s.a: 0
min ,
k k
k k k k k p
k k k
k k
p W p f p
W p f A
A p c
A p c
+ V
+ V =

+ =
+ =
Tcnicas para a Operao de SEE 28
28 EEL6000 Mtodos Numricos de Otimizao
A observao chave que p
k
e
k
podem ser
identificados com a soluo de Newton subtraindo
A
k
T

k
de ambos os lados da primeira equao
PQS Local... (5)
T
T
1
0
k k
k k
k k
k
p f
W A
c
A
+
( V
( (
=
(
( (



Tem-se ento que p=p
k
e
k+1
=
k
Esta analogia muito til
Sob ponto de vista de Newton existe facilidade de anlise
A PQS nos habilita a derivar algoritmos prticos e entender para o
caso onde restries de desigualdade esto presentes
Tcnicas para a Operao de SEE 29
29 EEL6000 Mtodos Numricos de Otimizao
Algoritmo PQS Local
Escolha um par inicial (x
0
,
0
)
for k = 0,1,2,
Calcule f
k
, Vf
k
, W
k
=W(x
k
,
k
), c
k
e A
k
Resolva o PQ para obter p
k
e
k
Faa x
k+1
=x
k
+ p
k
;
k+1
=
k
if (critrio de parada atendido)
PARE x
k+1
e
k+1
uma soluo aproximada
endif
end(for)
Tcnicas para a Operao de SEE 30
30 EEL6000 Mtodos Numricos de Otimizao
Algoritmo Prtico de PQS
Para ser prtico deve convergir de pontos iniciais
remotos e em problemas no convexos algoritmo
deve ser global
Quando W
k
no positiva definida no espao tangente das
restries, algoritmos de busca linear podem substituir essa
matriz por uma aproximao definida positiva B
k
ou modificar
W
k
durante o processo de fatorao.
Escolha da funo de mrito Podem ser usadas diferentes
funes, mas necessrio ajustes nos parmetros em algumas
iteraes para garantir que a direo obtida do subproblema de
PQ seja de descida com respeito a essa funo de mrito
Tcnicas para a Operao de SEE 31
31 EEL6000 Mtodos Numricos de Otimizao
Clculo da Direo de Busca
Problemas com Restries de Igualdade
Tcnicas para PQ que podem ter alguma simplificao no mbito
de um algoritmo de PQS
Soluo Direta dos Sistema de KKT, Dual ou Aproximao Range-
Space e Mtodo do Espao Nulo
Restries de Desigualdade
Significantes ganhos so obtidos com partidas quentes
Linearizaes podem causar inviabilidades
Para sobrepujar essa dificuldade pode-se definir uma verso
relaxada do subproblema de PQ que garantidamente ser vivel
2
1 0 3 3 1 9 6 0 , ,
k
x x x p p s > = + s + >
Tcnicas para a Operao de SEE 32
32 EEL6000 Mtodos Numricos de Otimizao
A Hessiana do PQ
Aproximao de Quase-Newton - BFGS
1 1 1 1
, ( , ) ( , )
k k k k x k k x k k
s x x y L x L x
+ + + +
= = V V
Se V
2
xx
L(x
k
,
k
) contm autovalores negativos a
atualizao por BFGS ineficiente viola condio de
curvatura s
k
T
y
k
>0
Atualizao DAMPED BFGS para a PQS
T T
T T T T T
T T
1
T T
1
1 se 0 2
0 8 se 0 2
( )
,
( , )/( ) ,
k k k k k k k
k k k k k
k
k k k k k k k k k k k k k
k k k k k k
k k
k k k k k
r y x B s
s y s B s
s B s s B s s y s y s B s
B s s B r r
B B
s B s s r
+
= u + u

>
u =

<

= +
Tcnicas para a Operao de SEE 33
33 EEL6000 Mtodos Numricos de Otimizao
Funes de Mrito
Um algoritmo, aplicado em (1), produz um passo
que fornece uma boa reduo de f(x) mas
aumenta o nvel de inviabilidade em relao a atual
iterao. Esse passo deve ser aceito?
Objetivos conflitantes (otimalidade x viabilidade)
Funes de Mrito
Quantificam esse balano e controlam o algoritmo: um passo pser
aceito somente se produz um suficiente decrscimo nessa funo
Funo objetivo uma medida de progresso para
problemas irrestritos ou problemas que possuem
somente iteraes viveis
Algoritmos que operam em pontos inviveis devem
quantificar a qualidade dos passos e iteraes
Tcnicas para a Operao de SEE 34
34 EEL6000 Mtodos Numricos de Otimizao
Funo de Mrito
Muitos algoritmos possuem heursticas para ajustar
o parmetro de penalidade se a atual estimativa
provavelmente no satisfaz o < o
*
Definio: Uma funo de mrito |(x;o) dita
exata se existe um escalar positivo o tal que para
qualquer o e (0, o
*
], qualquer soluo do
problema de Programao No Linear (1) um
minimizador local de |(x;o)
Tcnicas para a Operao de SEE 35
35 EEL6000 Mtodos Numricos de Otimizao
Funo de Mrito l
1
| = +o
1
1
( , ) ( ) ( ) x f x c x
Se p
k
e o
k
atendem KKT do PQ ento
Portanto, como W
k
deve ser DP, se

o > o > +o ou
k k
(constante maior que zero)
| o <
1
0
'
( , ) x
Esta funo de mrito diminui em x
k
na direo p
k
se
| o s + o = A
T T
1
1
'
( , ) :
k k k k k k k
x p W p c c
garante-se que o parmetro de penalidade o
suficiente para que a funo de mrito possa ser
usada
Tcnicas para a Operao de SEE 36
36 EEL6000 Mtodos Numricos de Otimizao
Busca Linear
Atende (pelo menos) a condio de Armijo, onde e e
]0,[
Determinar o
k
na direo p
k
para diminuir o valor da
funo de mrito
| + o s | + eoA
1 1
( ) ( )
k k k k
x p x
importante usar alguma interpolao para evitar
passos muito pequenos
Tcnicas para a Operao de SEE 37
37 EEL6000 Mtodos Numricos de Otimizao
PQS Busca Linear
Escolha q e (0 ;0.5), t e (0 ;1), (x
0
,
0
), B
0
Calcule f
0
, Vf
0
, c
0
e A
0
for k =0,1,2,
Resolva o PQ para obter p
k
e
k
Escolha o
k
tal que p
k
seja uma direo de descida para | em x
k
Faa o
k
=1
while [|(x
k
+o
k
p
k
; o
k
)>|(x
k
; o
k
)+q o
k
A(x
k
; o
k
)]
Ajuste o
k
=t
o
o
k
para algum t
o
e (0 ; t)
end(while)
Faa x
k+1
=x
k
+o
k
p
k;
Calcule f
k+1
, Vf
k+1
, c
k+1
e A
k+1
Calcule
k+1
=
k
+o
k
(
k

k
)
if (,,V
x
L(x
k+1
;
k+1
) ,,+,,c(x
k+1
) ,, s c)
PARE x
k+1
e
k+1
uma soluo aproximada
endif
Faa s
k
=o
k
p
k
e y
k
=V
x
L(x
k+1
;
k+1
) V
x
L(x
k
;
k+1
)
Calcule B
k+1
com base na atualizao de Quase-Newton
end(for)
OBRIGADO!
Prof. Erlon Cristian Finardi
erlon.finardi@ufsc.br

You might also like