Escolar Documentos
Profissional Documentos
Cultura Documentos
=
= +
| |
=
|
\ .
A matriz
( )
1
T T
P I M MM M
| |
=
|
\ .
denominada Matriz Projeo sobre o Plano
Tangente.
Dois casos relacionados a d so possveis:
- d 0 = , d uma direo de diminuio do valor de
( ) f x .
( ) ( )
( ) ( )
T T
T T
T T T T
f x d r d r d d d M v d d M v d d d 0 V = = + = = <
-
T
d 0 r M v 0 = + =
( ) ( )
i i
i A
f x v g x 0
e
V + V =
Isto significa que as condies de Karush-Kuhn-Tucher so vlidas no conjunto
ativo e as restries de igualdade satisfeitas, ou seja, o problema est resolvido, faltando
ainda verificar as seguintes condies:
- se todos
i
v 0 > para as restries ativas ento a soluo foi obtida e o
processo de iteraes termina;
T
T
Mr Md MM v
Md MM Mr 0
= +
= =
- caso contrrio, a restrio correspondente deve ser deletada do conjunto
ativo e a projeo deve ser refeita.
-
3.7.1.2)Algoritmo
1. Dado um ponto inicial factvel x
k
e k=0;
2. Formar a matriz M das restries ativas em x
0
e das restries de
igualdade;
3. Calcular
( )
1
T T
P I M MM M
= ;
4. Calcular
( )
T
d P f x = V ;
Se d 0 = ento seguir para o passo 8,
Seno seguir para o passo 5.
5. Calcular
1
o e
2
o
{ } factvel
1
arg max / x d o o o = +
( )
1
2
0 x
arg min f x d
o
o o
s s
= +
`
)
;
6. Fazer
k 1 k
2
x x d o
+
= + ;
7. Se
2
o <
1
o seguir para o passo 4;
Se
2
o =
1
o ento incluir a restrio que ficou ativa em M e voltar para o passo 3.
8. Fazer
( ) ( )
1
T k
v MM M f x
= V
Se ,
j
v 0 j > correspondentes as restries ativas ento PARE, x
k
soluo de
KKT de (P);
Seno eliminar a linha de M (eliminar uma linha por vez) correspondente a
desigualdade com componente mais negativa de v e voltar para o passo 3.
Exemplo: Dado problema abaixo, utilizar o mtodo do Gradiente Projetado para
encontrar o timo, sendo
0
0
x
0
| |
=
|
\ .
.
2 2
1 2 1 2 1 2
1 2
1 2
1
2
Min 2x 2x 2x x 4x 6x
s.a. x x 2
x 5x 5
x 0
x 0
+
+ s
+ s
s
s
Montando o vetor gradiente: ( )
1 2
2 1
4x 2x 4
f x
4x 2x 6
| |
V =
|
\ .
( ) ( )
, inativas
0 0
1 2
g x 2 0 g x 5 0 = < = <
( ) ( )
, ativas
0 0
3 4
g x 0 g x 0 = =
Primeira iterao:
Matriz M das restries ativas em x e de igualdade:
1 0
M
0 1
| |
=
|
\ .
Clculo de P e d:
( )
1
T T
P I M MM M
=
1 0 1 0 1 0
P 0
0 1 0 1 0 1
| | | || |
= =
| | |
\ . \ .\ .
( )
0 T 0
d P f x d 0 = V =
Sendo d 0 = calculamos o vetor v.
( ) ( )
1
T 0
v MM M f x
= V
1
1 0 1 0 1 0 4
v
0 1 0 1 0 1 6
( | || | | || |
=
( | | | |
\ .\ . \ .\ .
4
v
6
| |
=
|
\ .
Onde ambos os termos so menores que zero.
Segunda iterao:
Montando a matriz M:
( ) M 1 0 =
Calculando P e d:
( ) ( )
1
1 0 1 1
P 1 0 1 0
0 1 0 0
( | | | | | |
=
( | | |
\ . \ . \ .
( )
1 0 1 1 0 1 0
P 1 0
0 1 0 0 1 0 0
| | | | | | | |
= =
| | | |
\ . \ . \ . \ .
0 0
P
0 1
| |
=
|
\ .
( )
0 T 0
d P f x = V
0 0
0 0 4 0
d d
0 1 6 6
| || | | |
= =
| | |
\ .\ . \ .
Como
0
d 0 = , calculamos
1
o :
{ }
1
arg max / x d o o o = +
1 0 0
0 0
x x d
0 6
o o
| | | |
= + = +
| |
\ . \ .
Calculando as re
( )
( )
( )
( )
1
1
1
2
1
3
1
4
g x 0 6 2 0 1/ 3
g x 0 30 5 0 1/ 6
g x 0
g x 6 0
o o
o o
o o
= + s s
= + s s
=
= >
Portanto temos que
1
1
6
o = .
Calculando
2
o :
( )
1
2
0 x
arg min f x d
o
o o
s s
= +
`
)
( )
( )
0 0 2
f x , d f 0,6 72 36 o o o o = =
Minimizando a funo acima:
( )
( )
2
d
f ' 0,6 72 36 144 36 0
d
o o o o
o
= = =
1
4
o =
Com
1 1
0,
4 6
o
(
= e
(
, ento
2 1
1
6
o o = = . Como
1 2
o o = , inclui-se a restrio que
ficou ativa em M.
Portanto:
1 0 0 1
0 0 0
1
x x d x
0 6 1 6
o
| | | | | |
= + = + =
| | |
\ . \ . \ .
Terceira iterao:
Matriz M das restries ativas em x e de igualdade:
1 5
M
1 0
| |
=
|
\ .
Clculo de P e d:
( )
1
T T
P I M MM M
=
1
1 0 1 1 1 5 1 1 1 5
P 0
0 1 5 0 1 0 5 0 1 0
( | | | | | || | | |
= =
( | | | | |
\ . \ . \ .\ . \ .
( )
T 0
d P f x d 0 = V =
Sendo d 0 = calculamos o vetor v.
( ) ( )
1
T 1
v MM M f x
= V
1
1 5 1 1 1 5 6
v
1 0 5 0 1 0 2
( | || | | || |
=
( | | | |
\ .\ . \ .\ .
6
v
2
| |
=
|
\ .
Onde o segundo termo menor que zero.
Quarta iterao:
Montando a matriz M:
( ) M 1 5 =
Calculando P e d:
( ) ( )
1
1 0 1 1
P 1 5 1 5
0 1 5 5
( | | | | | |
=
( | | |
\ . \ . \ .
25 5
1
P
5 1 26
| |
=
|
\ .
( )
1 T 1
d P f x = V
1 1
25 5 6 5
1
d d
5 1 2 1 26
| || | | |
= =
| | |
\ .\ . \ .
Como
1
d 0 = , calculamos
1
o :
{ }
1
arg max / x d o o o = +
2 1 1
0 5 5
x x d
1 1 1
o
o o
o
| | | | | |
= + = + =
| | |
\ . \ . \ .
Calculando as restries no ponto
2
x :
( )
( )
( )
( )
2
1
2
2
2
3
2
4
g x 4 1 0 1/ 4
g x 0
g x 5 0
g x 1 1
o o
o o
o o
= s s
=
= >
= s
Portanto temos que
1
1
4
o = .
Calculando
2
o :
( )
1
2
0 x
arg min f x d
o
o o
s s
= +
`
)
( )
( )
1 1 2
f x , d f 5 ,1 62 28 4 o o o o o = =
Minimizando a funo acima:
( )
( )
2
d
f ' 5 ,1 62 28 4 124 28 0
d
o o o o o
o
= = =
2
7
31
o =
Como
2 1
o o < , ento
2
7
31
o o = = . Portanto:
2 1 1 2
35
0 5
7
31
x x d x
1 1 24 31
31
o
| |
| | | |
|
= + = + =
| |
|
\ . \ .
\ .
Quinta iterao:
Matriz M das restries ativas em x e de igualdade igual a da quarta iterao,
pois apenas
( )
2
2
g x estar ativa:
( ) M 1 5 =
Calculando P e d:
( ) ( )
1
1 0 1 1
P 1 5 1 5
0 1 5 5
( | | | | | |
=
( | | |
\ . \ . \ .
25 5
1
P
5 1 26
| |
=
|
\ .
( )
2 T
32
25 5 0
1
31
d P f x
5 1 160 0 26
31
| |
| | | |
|
= V = =
| |
|
\ . \ .
\ .
Sendo
2
d 0 = calculamos o vetor v.
( ) ( )
1
T 2
v MM M f x
= V
( ) ( )
1
32
5
31
v 1 5 1 5
1 160
31
| |
( | |
|
=
( |
|
\ .
\ .
( )
32
v 0
13
= >
Como v maior que zero, temos que x
2
ponto de timo,
2 *
35
31
x x
24
31
| |
|
= =
|
\ .
.
3.7.2) Mtodo Dual-Lagrangiano (Aula dia 29/10/13)
O mtodo Dual-Lagrangiano foi desenvolvido para resolver problemas
convexos. Sua estratgia a de associar ao problema (23) uma funo auxiliar, que
incorpora uma combinao das restries funo objetivo. A funo auxiliar
denominada funo Lagrangiana e apresentada da seguinte forma:
( ) ( ) ( ) ( )
T T
L x, , f x h x g x = + + (25)
onde vetor dos multiplicadores de Lagrange associados s restries de igualdade, e
vetor dos multiplicadores de Lagrange associados s restries de desigualdade.
Se o problema (23) convexo, existem multiplicadores
*
e
*
que, aplicados
ao problema irrestrito,
( )
* *
Minimizar L x, ,
x
(26)
fazem com que a soluo de (26) coincida com a soluo de (23). A soluo tima
encontrada quando as condies de KKT forem satisfeitas. O problema (26)
denominado problema Lagrangiano.
3.7.2.1) Interpretao geomtrica
Seja o seguinte problema perturbado, somente com uma restrio de
desigualdade, denominado problema primal:
Perturbar fazer g(x)<=eps
n
( ) Minimizar{ f ( x ) : g( x ) , x E } c c = s e .
(27)
Definimos um conjunto S, tal que:
{( , ) / ( ), ( ), }
n
S y z y g x z f x x E = = = e ,
(28)
representado em um plano Oyz. O problema primal tem por objetivo determinar
um ponto em S, que um mnimo, com y s 0. Seja, ento, (y
*
, z
*
) a soluo tima do
problema primal, a qual pode ser vista na Figura 2.
Para 0 > , temos o seguinte problema Lagrangeano:
( ) u = Minimizar L(x, )
sujeito a: x e X
(29)
onde L(x, ) = f(x)
+ g(x).
Determinar ( ) u significa minimizar z y + sobre S. Assim, temos as retas:
i
z+ y a i 1,2, = =
(30)
onde a inclinao (coeficiente angular) da reta, e a
i
a interseco desta com o
eixo z (coeficiente linear).
Para minimizarmos a funo Lagrangeana do problema (29), movemos as retas
dadas em (30) sobre S, a partir de um a
i
pertencente regio factvel, na direo
contrria ao gradiente destas, atravs de retas paralelas, at que elas tangenciem a
fronteira de S, como o visto na Figura 2. Observamos que ( ) u o valor no qual a reta
corta o eixo z, determinando o hiperplano suporte.
Para que a soluo do problema irrestrito aproxime-se da soluo do problema
(23), redefinimos o novo multiplicador, fazendo:
1 k k k
+
= +A
(31)
e determinamos novamente ( ) u . Isso corresponde a uma nova famlia de retas, onde
ser realizado o mesmo processo anterior. medida que o multiplicador de Lagrange
aproxima-se do valor timo
*
, as solues de ( ) u aproximam-se da soluo de (23),
como pode ser visto na Figura 2.
A soluo tima dual
*
, o valor objetivo timo z
*
, e a soluo tima primal
x
*
No caso de problemas no convexos em torno da soluo, o mtodo dual-
Lagrangeano pode falhar no encontro da soluo tima do problema (23) em razo da
presena do gap de dualidade (ver Figura 3).
3.7.2.2) Dificuldades computacionais
Como pde ser visto na interpretao geomtrica, representada pela Figura 3,
para problemas no convexos em torno da soluo, pode ocorrer a existncia do gap de
dualidade e, portanto, o mtodo Dual-Lagrangiano no obtm a soluo tima do
problema. Uma outra desvantagem do mtodo o aumento do nmero de variveis do
problema.
z
y
Solues factveis do
problema primal
Soluo tima do problema
dual-Lagrangiano
Soluo tima do
problema primal
( )
(y,z)
FIGURA 3 - Representao geomtrica da funo Lagrangeana para o caso no-
convexo
z
y
(y,z)
(y
*
, z
*
)
Inclinao -
Inclinao -
Soluo do problema
Lagrangeano para
E
n
( )
S
S
gap
Figura 2: Representao Geomtrica da funo Lagrange
3.7.2.3) Algoritmo
1. Estabelecer o erro de convergncia
( ) 0 > , o ponto inicial
k
n
x E e , um
vetor multiplicador de Lagrange
k
associado s restries de igualdade e um vetor
multiplicador de Lagrange
k
associado s restries de desigualdade.
2. Resolva o seguinte problema Lagrangeano utilizando um mtodo de
otimizao restrita para
k
e
k
, fixos.
( ) ( ) ( ) ( )
x x
T T
Min L x, , Min f x h x g x = + +
3. Obtendo ento
k 1
x
+
como soluo e seguindo para o prximo passo.
4. Se x
k+1
satisfaz KKT, pare, a soluo tima foi encontrada. Seno v para o
passo 5.
5. Atualize os valores dos multiplicadores de Lagrange usando uma heurstica,
determinando
k k 1 k
A + =
+
,
k k 1 k
A + =
+
, e volte para o passo 2.
Observamos que, para gerar os multiplicadores, podemos utilizar vrios
algoritmos. Uma escolha o algoritmo do gradiente, que gera uma subseqncia de
multiplicadores atualizando-os em cada passo pela expresso:
(
+
+
1 k
1 k
=
k
k
h( x )
s
(
(
+
(
(
(
, (32)
onde
max
k
j j
j
k
j j
g ( x ),se 0
s
{0, g ( x )},se 0
>
=
=
= (
=
(39)
onde p um inteiro positivo. Assim a penalidade o usualmente da forma:
( ) ( ) { } ( ) max ,
p p
m l
i i
i 1 i 1
x 0 g x h x o
= =
( = +
(40)
A funo
( ) ( ) ( ) P x f x x o = + chamada de funo auxiliar.
Exemplo: Considere o seguinte problema:
min
. .
x
s a x 2 0 + s
Encontrado a funo penalidade: ( ) ( ) { }
max ,
2
x 0 x 2 o ( = +
Funo auxiliar penalidade FAP =
( ) ( ) f x x o +
FAP =
{ } max 0, 2 x x + + (
( )
( )
2
0 2 0 2
2 2 0 2
se x x
x
x se x x
o
+ s >
=
+ + > s
Temos que : FAP = ( )
( )
2
0 se x 2
P x x
x 2 se x 2
>
= +
+ s
Aplicando as condies de otimalidade:
Minimizar FAP em relao a x
( )
( )
2
0 se x 2
P x
0 1 0
x x 2 se x 2
>
c
= + =
c + s
( )
1
1 2 x 2 0 x 2
2
+ = =
Fazendo tender a infinito, temos:
lim
1
x 2 x 2
2
= =
Exemplo: Considere o seguinte problema
Exemplo com duas variveis aplicando a penalidade (mesmo exemplo do dual
lagrangiano) o exemplo anterior era com restrio de desigualdade.
min
. .
,
2 2
1 2
1 2
2
1 2
x x
s a x x 1 0
x x R
+
+ =
e
Reformulando para um problema irrestrito:
( ) min
. . ,
2 2
1 2 1 2
2
1 2
x x x x 1
s a x x R
+ + +
e
Aplicando a condio necessria e suficiente para a otimalidade:
( )
( ) ( )
( )
( ) ( )
1 1 2 1 1 2
1
2 1 2 2 1 2
2
P x
2x 2 x x 1 0 x x x 1
x
P x
2x 2 x x 1 0 x x x 1
x
c
= + + = = +
c
c
= + + = = +
c
Temos ento que
1 2
x x
1 2
= =
+
. Fazendo tender a infinito:
lim lim lim
1 1
x x
1 2 2 1 1
2 2
= = = =
+ | | | |
+ +
| |
\ . \ .
3.7.3.1) Interpretao geomtrica
Seja o seguinte problema perturbado, somente com uma restrio de igualdade:
V( c ) =
n
Minimizar{ f ( x ) : h( x ) , x E } c = e
(41)
Definimos um conjunto S representado em um plano Oyz, tal que:
S =
n
{( y, z ) / y h( x ), z f ( x ), x E } = = e
(42)
Tomamos V( c ) como o contorno inferior deste conjunto, como pode ser visto na
Figura 3.
Para 0 > fixo, temos o seguinte problema penalizado:
2
Minimizar f(x) + h (x).
x
(43)
Determinar o mnimo da funo acima significa minimizar
2
z+ y sobre S.
Assim, temos as parbolas:
2
i
z+ y a i 1,2, = =
(44)
onde a
i
R e a interseco da parbola com o eixo z (ver Figura 4).
A vantagem em relao lagrangiana que a penalidade consegue que a
parbola tangencie a soluo mesmo que a funo seja no convexa. Para
problemas no convexos funciona melhor que a funo lagrangiana.
c
n
c
S
S
z
y =
E
(y,z)
V( )
Soluo tima para o
problema primal
Soluo tima para o problema de
penalidade com fator >
Solues factveis para o
problema primal
FIGURA 4 - Representao geomtrica da funo penalidade
No processo de minimizao de (44), comeamos com um valor a
i
pertencente ao
interior da regio factvel. A determinao da soluo tima de (43) consiste em mover
as curvas de nvel, isto , as parbolas, na direo contrria do gradiente, at o ponto
onde a curva tangencia o conjunto S, como vemos na Figura 4. Observamos que a
soluo para o problema penalizado no a mesma do problema original, pois h= 0
nesse ponto de tangncia.
Na Figura 5 pode ser visto que, para aproximar tal soluo, aumenta-se o fator
de penalidade | = , diminuindo-se a abertura da parbola, representada por (44);
assim o ponto de tangncia dessas parbolas torna-se mais prximo da soluo tima do
problema original. medida que , o ponto de tangncia aproxima-se do timo,
ou seja, da soluo do problema (23).
FIGURA 5 - Representao geomtrica da atualizao dos fatores de penalidade
No caso no-convexo em torno da Dual-Lagrangiano.
z
y =
E
(y,z)
V( )
Soluo tima para o
problema primal
Soluo tima para o problema de
penalidade com fator >
z + y
2
Solues factveis para o
problema primal
Solues factveis para o
problema primal
Soluo tima para o
problema primal
Soluo tima para o problema de
penalidade com fator
z + y
2
z
y =
(y,z)
V( )
FIGURA 6 - Representao geomtrica da funo penalidade para o caso no-convexo
3.7.3.2) Dificuldades computacionais
Escolhendo-se suficientemente grande, a soluo do problema penalizado ser
prxima soluo do problema (23); porm, para valores muito grandes do fator de
penalidade, teremos algumas problemas de mal condicionamento. Para valores grandes
de , h uma maior nfase sobre a factibilidade; e a maioria dos mtodos de
otimizao irrestrita move-se rapidamente na direo de um ponto factvel. Esse ponto
pode estar longe do timo, causando um trmino prematuro do mtodo. Um outro
problema o mal condicionamento da matriz Hessiana devido sua dependncia de .
Assim, a anlise de convergncia do mtodo pode ficar prejudicada. Ressaltamos que a
escolha inicial do fator de penalidade e do parmetro de penalidade afeta a convergncia
do mtodo.
1 k k
k
+
= , 1 k > - heurstica para atualizao do parmetro de penalidade.
3.7.3.3) Algoritmo
A ideia que ( ) min min
x x
f x FAP =
1. Estabelecer o erro de convergncia
( ) 0 > , o ponto inicial
k
x , o parmetro de
penalidade
k
0 > e o fator de incremento da penalidade 0 | > .
2. Resolver o problema utilizando um mtodo de minimizao irrestrita para
k
fixo:
( ) ( )
n
x R
Min f x x
k
o
e
+
obtendo ento
k 1
x
+
.
3. Se
( )
k 1
k
x o
+
< ,pare, a soluo tima foi encontrada. Seno v para o
passo 4
4. Fazer
k 1 k
|
+
=
5. k k 1 = + , voltar para o passo 2.
Exemplo: Implementamos o algoritmo da funo utilizando o software Matlab e
aplicamos na resoluo do problema:
( ) ( ) min
s.a.
4 2
1 1 2
2
1 2
2
x 2 x 2x
x x 0
x R
A implementao apresentada no Anexo I.
Sendo
0
2
x
1
| |
=
|
\ .
, ,
0
0 1 = , 10 | = , a tolerncia do problema principal
5
1
10
= e
a tolerncia do sub-problema (soluo por Newton)
2
2
10
= .
Utilizando o mtodo de Newton para encontrar o ponto timo do subproblema
tem-se:
Tabela 4: Convergncia do mtodo de penalidade
iterao
k
k
k 1
x x
+
=
( )
k 1
f x
+
( )
k
u
1 0,1 (1,45545;0,76135) 0,09246 0,27640
2 1 (1,16916;0,74071) 0,57401 0,96617
3 10 (0,99072;0,84248) 1,51961 1,71295
4 100 (0,95078;0,88748) 1,89117 1,91840
5 10
3
(0,94611;0,89344) 1,94051 1,94335
6 10
4
(0,94564;0,89406) 1,94674 1,94590
7 10
5
(0,94559;0,89412) 1,94611 1,94616
8 10
6
(0,94558;0,89413) 1,94621 1,94629
9 10
7
(0,94558;0,89413) 1,94621 1,94629
Podemos observar que a cada iterao o valor da funo aproxima-se do valor da
funo auxiliar, mostrando que o mtodo esta convergindo e que a funo penalidade
tende a zero.
3.7.4) Mtodo de Barreira
O mtodo se inicia com um ponto da regio factvel e impede que a soluo saia
da regio factvel.
Assim como as funes penalidade, as funes barreira tambm transformam um
problema restrito em um problema irrestrito ou em uma seqncia de problemas
irrestritos. Estas funes criam uma barreira impedindo que se saia da regio factvel.
Se a soluo tima est na fronteira as regies factvel, o processo de convergncia
move do interior para a fronteira.
Dado o problema primal:
( )
( )
min
s.a.
f x
g x 0
x X
s
e
(45)
onde ( ) ( ) ( ) ( ) , , ,
T
1 2 m
g x g x g x g x = (
. Aqui f e g so funes contnuas em
n
R e X
um conjunto no vazio em
n
R . Caso haja condies de igualdade, estas so acomodadas
no conjunto X. No caso de restries de igualdade linear, pode-se elimin-las colocando
uma varivel em funo da outra, de modo a reduzir a dimenso do problema.
Seja o seguinte problema:
( ) min
s.a. 0
u
>
(46)
onde
( ) ( ) ( ) ( ) { }
min ; , f x B x g x 0 x X u = + < e . Neste caso, B uma funo
barreira no negativa e contnua na regio
( ) { }
: x g x 0 < e aproxima-se de a medida
que se caminha do interior do conjunto para a fronteira
( ) { }
: x g x 0 s . Mais
especificamente a funo barreira definida por:
( ) ( )
m
i
i 1
B x g x |
=
= (
(47)
onde | uma funo de uma varivel que contnua em
{ } : y y 0 < e satisfaz :
( ) se y 0 y 0 | > < e ( )
0
lim
y
y |
= .
(48)
Portanto a funo barreira pode ser escrita das seguintes formas:
( )
( )
m
i 1
i
1
B x
g x
=
(49)
( ) ( ) { }
ln min ,
m
i
i 1
B x 1 g x
=
( =
(50)
Podemos notar que a segunda funo barreira descrita acima no diferencivel
devido ao termo
( ) { }
min ,
i
1 g x . Sendo a propriedade (48) essencial apenas nas
redondezas de y=0, ento a seguinte funo barreira (conhecida como funo barreira
logartmica de Frischs):
( ) ( ) ln
m
i
i 1
B x g x
=
= (
(51)
tambm admite convergncia.
Nos referimos a funo
( ) ( ) f x B x + como funo auxiliar. Idealmente a funo
barreira B assume o valor zero na regio
( ) { }
: x g x 0 < e o valor na fronteira. Isto
certamente garantiria que na busca da soluo tima no deixaramos a regio
( ) { }
: x g x 0 s , contanto que o problema se inicie em um ponto interior. Todavia, a
descontinuidade ocasiona em dificuldades nas implementaes computacionais.
Portanto, essa construo ideal de B substituda por uma mais realista, onde B seja no
negativa e contnua na regio
( ) { }
: x g x 0 < e que se aproxime de a medida que se
aproxima da fronteira pelo interior. Podemos perceber que
( ) B x se aproxima da
funo barreira ideal descrita acima a medida que se aproxima de zero. Sendo 0 > ,
resolver
( ) ( ) ( ) ( ) { }
min ; , f x B x g x 0 x X u = + < e aparenta ser mais difcil que
resolver o problema original devido a presena da restrio
( ) g x 0 < . No entanto se
comearmos um processo de otimizao no interior da regio
( ) { }
: S x g x 0 X = < e
ignorar a restrio
( ) g x 0 < , alcanaremos um ponto timo em S. Isto deve-se ao fato
de que a medida que nos aproximamos da fronteira de
( ) { }
: x g x 0 s por dentro de S, B
tende a , o que nos impede de deixar o conjunto S.
Exemplo: Resolver :
Incio do exemplo funo barreira no caderno
min
s.a.
x
x 1 0 + s
Observamos que o ponto timo dado por
*
x 1 = e
( )
*
f x 1 = . Considere ento a
funo barreira:
( )
( )
m
i 1
i
1 1
B x
g x x 1
=
= =
+
, para x 1 =
( )
1
B x
x 1
| |
=
|
+
\ .
Sendo a funo auxiliar, ( ) ( )
1
f x B x x
x 1
| |
+ = +
|
\ .
, temos o seguinte
problema de barreira:
min ,
1
x x 1 0
x 1
| |
+ + <
`
|
\ . )
Aplicando as condies de otimalidade:
( )
( )
( )
2
2
2
1 x 1 0
1 0
x 1
x 1 0
=
=
=
2
x 2x 1 0
2 2
x x 1
2
+ =
= = +
Fazendo 0 para x e para ( ) F x temos:
( ) ( )
*
*
lim
( ) lim
0
0
x 1 1 x x
1
F x 1 F x f x
x 1
= + = =
| |
= + =
|
\ .
3.7.4.1) Interpretao Geomtrica
Seja o problema de barreira visto em (46) tal que as funes barreiras so
definidas em (49).
Analisemos, primeiramente, o comportamento da funo barreira. A Figura 7
mostra B (x) para valores decrescentes de .
Note que, medida que decresce, B (x) se aproxima de uma funo que tem
valor zero para g(x) < 0 e infinito para g(x) = 0.
Ao resolvermos o problema (46) utilizando a funo (49), iniciamos o processo
de soluo com um ponto interior regio factvel. Para cada valor de , temos uma
soluo que ser o ponto inicial para o processo iterativo. medida que decresce,
aproximamo-nos da soluo do problema original, ou seja, 0 ,
*
x x e
( ) ( ) ( )
* k *
f x B x f x + , como pode ser visto na Figura 8.
3.7.4.2) Dificuldades Computacionais
O uso da funo barreira para a soluo de problemas restritos de programao
no-linear depara-se com dificuldades computacionais. A busca pelo ponto timo tem
que se iniciar com um ponto x X e de modo que
( ) g x 0 < , o que para alguns
problemas no trivial. Tambm, devido a estrutura de B, para pequenos valores de
parmetro , a maioria das buscas encontram problemas de mal condicionamento e
dificuldade com os erros de arredondamento para resolver
( ) ( ) f x B x + ,
especialmente prximo a fronteira. Da regio
( ) { }
: x g x 0 s . De fato, com a
proximidade da fronteira e visto que as tcnicas de busca utilizadas usam passos
g(x)< 0
g(x)=0
g(x)>0
FIGURA 7 - Comportamento da funo barreira
g(x)=0
g(x)<0
g(x)<0
f(x)
f(x) + B(x)
f(x) + B(x)
FIGURA 8 - Resoluo atravs da funo barreira
discretos, um passo mal conduzido para fora da regio vivel
( ) { }
: x g x 0 s poder
indicar um decrscimo no valor de
( ) ( ) f x B x + , sendo este um falso valor. Por este
motivo, o valor da restrio
( ) g x tem que ser continuamente verificado para que se
tenha a garantia de no se est deixando a regio vivel.
3.7.4.3) Algoritmo
1. Estabelecer o erro de convergncia
( ) 0 > , o ponto inicial
k
x X e com
( )
i
g x 0 < , o parmetro de penalidade
k
0 > e o fator de incremento da barreira
( ) , 0 1 | e .
2. Usando o mtodo de Newton, resolver o problema transformado para a forma
irrestrita:
( ) ( )
( )
min
s.a. 0
k
f x B x
g x
x X
+
<
e
obtendo ento
k 1
x
+
.
3. Se
( )
k 1
k
B x
+
< , pare, a soluo tima foi encontrada. Seno v para o passo
4.
4.Fazer
k 1 k
|
+
=
5. k k 1 = + , voltar para o passo 2.
Exemplo: Resolver o problema abaixo:
( ) ( ) min
s.a.
4 2
1 1 2
2
1 2
x 2 x 2x
x x 0
Sendo
0
0
x
1
| |
=
|
\ .
,
0
10 = , , 0 1 | = , a tolerncia do problema principal
5
1
10
= e a
tolerncia do sub-problema (soluo por Newton)
2
2
10
= .
Neste problema
2
X E = , e o problema resolvido utilizando a funo barreira:
( )
( )
2
1 2
1
B x
x x
.
Utilizando o mtodo de Newton para encontrar o ponto timo do subproblema
tem-se:
Tabela 4: Convergncia do mtodo de barreira
iterao
k
k
k 1
x x
+
=
( )
k 1
f x
+
( )
k
u
( )
k
B x
1 10 (0,70770;1,53119) 8,33355 18,03898 0,97054
2 1 (0,82819;1,10200) 3,77836 6,18162 2,35800
3 10
-1
(0,89886;0,96393) 2,52902 3,17012 6,41099
4 10
-2
(0,92935;0,91634) 2,12999 2,31992 18,99420
5 10
-3
(0,94027;0,90116) 2,00432 2,06296 58,67703
6 10
-4
(0,94388;0,89635) 1,96459 1,98297 184,12307
7 10
-5
(0,94504;0,89483) 1,95202 1,95780 580,79253
8 10
-6
(0,94541;0,89435) 1,94804 1,94986 1835,18554
9 10
-7
(0,94553;0,89420) 1,94677 1,94734 5801,92332
10 10
-8
(0,94557;0,89415) 1,94634 1,94655 18345,84870
11 10
-9
(0,94558;0,89413) 1,94621 1,94633 58013,22391