Professional Documents
Culture Documents
A funo de penalidade interior utilizada apenas para as restries de desigualdade.Para
as restries de igualdade o mtodo de penalidade exterior deve ser aplicado. Desta
maneira, a funo pseudo objetivo definida como:
( ) ( )
( )
( )
2
` `
1 1
1
, ,
m n
p p p p k
j k
j
x r r F x r r h x
g x
= =
u = + + (
O ajuste de rp e rp: a diferena entre rp e rp deve-se ao fato de que o primeiro
inicializado com um valor elevado que decrescido ao longo das iteraes.
3. Mtodo do Lagrangeano Aumentado
A funo pseudo-objetivo desse mtodo dada pela expresso abaixo:
( ) ( ) ( )
.
,
p p
Func penalidade
x r F x r P x u = +
Os mtodos de transformao, tais como penalidade interior, exterior e estendida, so
dependentes dos parmetros de penalizao. O mtodo do Lagrangeano Aumentado, ao
contrario dos mtodos de penalidade, converge para o ponto timo sem necessidade de
um parmetro de penalizao tendendo para o infinito.
3.1 Problemas de restrio de igualdade
Minimizar :
( ) F x (1)
Sujeito a :
( ) 0 1,
k
h x k l = = (2)
O numero de restries l deve ser menor que o numero de variveis de projeto n. Se l=n
o problema necessitar da soluo de n equaes no lineares simultaneamente definida
pela equao 2, e a funo objetivo valer para qualquer projeto que satisfaa as
restries . Se l > n, o problema no ser significativo de maneira que este apresentar
mais equaes que incgnitas.
As condies de Kuhn-Tucker necessitam da criao do Lagrangeano
( ) ( )
1
, ( )
l
k k
k
L X F X h X
=
= +
(3)
Ento as condies estacionrias de L(X,) juntamente com as exigncias viveis da eq.2
so as condies necessrias para o timo .Tambm, pode ser mostrado de
consideraes tericas que o mnimo do Lagrangiano, sujeito as condies de viabilidade
da eq.2, fornece a soluo do problema original das eqs.1 e 2.Portanto, pode-se usar a
abordagem da funo da penalidade exterior para criar a funo pseudo-objetiva a ser
minimizada como segue
( ) | |
{ }
2
1
, , ( ) ( ) ( )
l
p k k p k
k
A X r F X h X r h X
=
= + +
(4)
Enquanto a eq. 4, apresenta ser uma modificao simples do mtodo da penalidade
exterior , esta forma da funo pseudo- objetivo tem algumas caractersticas interessantes.
Primeiro, se toda k=0, a eq.4 se reduz ao mtodo clssico da penalidade exterior. Neste
caso, o problema de otimizao resolvido sequencialmente pelo aumento de rp. Por
outro lado, se especificamos os multiplicadores k em seus valores timos
*
c, o mnimo
de
( )
, ,
p
A X r fornece o mnimo real de F(X) para alguns valores positivos, mas finitos de
rp. Portanto, se =
*
conhecido no inicio, somente uma minimizao sem restrio
necessria.
Na prtica, no conhecemos
*
ento necessrio comear com um valor arbitrrio de
(normalmente zero ou um ) .O mtodo comumente recomendado iniciar com =0,
k=1,l e um valor de rp pequeno.
3.2 Problemas de restrio de desigualdade
Minimizar :
( ) F x (5)
Sujeito a :
( ) 0 1,
j
g x j m s =
(6)
O primeiro passo converte este para um problema de restrio de igualdade usando
varivel de folga z.
( ) 0 + 1,
j j
g x z j m s =
(7)
A funo pseudo objetivo fica
( ) ( ) ( )
{ }
2
2 2
`k
1
, , ( ) ( )
m
p j j p j j
j
A x r F x g x z r g x z
=
( = + + + +
(8)
Matematicamente usa-se a equao equivalente
( ) ( ) { }
2
`
1
, ,
m
p j j p j
j
A x r F x r
=
= + +
(9)
Onde
max ( ),
2
j
j j
p
g x
r
(
=
(
(
(10)
Aspectos atraentes do MMLA
- pouco sensvel ao valor de rp;
- respeita as restries;
- a atualizao do ML acelera o processo de convergncia;
- o projeto inicial pode ser vivel ou no;
- os valores de
*
diferente de zero identificam automaticamente o conjunto de restries
ativas.
4. Exerccios propostos - pag: 191 e 192
5.5 ) Considere o problema de minimizao com restries de igualdade:
Minimizar: (
Sujeito a:
a) Escreva a expresso para o Langrangiano aumentado com
.
(
) () {
()
()]
Para
:
(
) (
) (
b) Comeando com , faa trs iteraes para o mtodo ALM.
Figura 1 Para lambda=0 e rp=1.
N da iterao Valor da Funo
0 13.4222
1 5.1841
2 1.4436
3 1.3916
c) Repita o item b, comeando com .
Figura 2 para lambda = 1.
1 1.5 2 2.5 3 3.5 4
0
2
4
6
8
10
12
14
n de iteraes
e
= 0,0 / rp = 1.0
1 1.5 2 2.5 3 3.5 4
0.5
1
1.5
2
2.5
3
3.5
4
n de iteraes
e
= 1,0 / rp = 1,0
N da iterao Valor da Funo
0 1.4358
1 3.7556
2 0.6032
3 0.5164
d) Repita o item b, comeando com .
Figura 3 Para lambda=-4,0.
N da iterao Valor da Funo
0 10.8649
1 2.2826
2 1.3835
3 1.3352
5.6 ) Considere o problema de minimizao com restries de desigualdade:
Minimizar: (
Sujeito a:
a) Escreva a expresso para o Langrangiano aumentado com
.
(
) () {
()
()
1 1.5 2 2.5 3 3.5 4
1
2
3
4
5
6
7
8
9
10
11
n de iteraes
e
= -4,0 / rp = 1,0
(
) () {
Onde:
()
]
Para
]
(
) (
]
( [
])
b) Comeando com , faa trs iteraes para o mtodo ALM.
Figura 5.6.1 -Grfico para lambda=0,0 e rp=1,0.
N da iterao Valor da Funo
0 13.2993
1 1.1232
2 0.7523
3 0.7500
c) Repita o item b, comeando com .
1 1.5 2 2.5 3 3.5 4
0
2
4
6
8
10
12
14
n de iteraes
e
=0,0 / rp = 1,0
Figura 5.6.2 -Grfico para lambda=2,0 e rp=1,0.
N da iterao Valor da Funo
0 19.6771
1 1.4995
2 1.0835
3 1.0833
d) Repita o item b, comeando com .
1 1.5 2 2.5 3 3.5 4
0
2
4
6
8
10
12
14
16
18
20
n de iteraes
e
= 2,0 / rp = 1,0
1 1.5 2 2.5 3 3.5 4
0
2
4
6
8
10
12
= -1,0 / rp = 1,0
n de iteraes
e
Figura 5.6.3 -Grfico para lambda=-1,0 e rp=1,0.
N da iterao Valor da Funo
0 10.0340
1 0.5183
2 0.0848
3 0.0833
5.7 )Considere o problema de minimizao com restries de desigualdade:
Minimizar: (
Sujeito a:
a) Escreva a expresso para o Langrangiano aumentado com
.
(
) () [
()]
Onde:
()
]
Para
]
(
) (
]
( [
])
) (
)
b) Comeando com , faa trs iteraes para o mtodo ALM.
Figura 5.7.1 Grfico da funo pseudo-objetivo para lambda1=lambda2=0.
N da iterao Valor da Funo
0 17.8327
1 2.3829
2 2.0841
3 2.0833
c) Repita o item b, comeando com
.
1 1.5 2 2.5 3 3.5 4
2
4
6
8
10
12
14
16
18
1= 0,0 / 2 = 0,0
n de iteraes
e
1 1.5 2 2.5 3 3.5 4
0
2
4
6
8
10
12
14
16
18
20
1= 1,0 / 2 = 1,0
n de iteraes
e
Figura 5.7.2 Grfico da funo pseudo-objetivo para lambda1=lambda2=1
N da iterao Valor da Funo
0 18.8056
1 1.9406
2 1.5837
3 1.5833
d) Repita o item b, comeando com
.
Figura 5.7.3 Grfico da funo pseudo-objetivo para lambda1=lambda2=-1.
N da iterao Valor da Funo
0 34.4927
1 3.5357
2 2.0130
3 1.9414
5. Problemas implementados no MATLAB
%%Mtodo utilizado: Max_descida
%Mtodos de Otimizao
clearall
clc
n=2; %numero de variveis
Xo=[2; 2];
1 1.5 2 2.5 3 3.5 4
0
5
10
15
20
25
30
35
1= 1,0 / 2 = 1,0
n de iteraes
e
acabou=0;
X=Xo;
it=0;
while (acabou==0)
it=it+1;
S=-gradi(X);
alpha_ast=aurea(S,X);
X=X+alpha_ast*S;
if(it>3)
acabou=1;
end
M(it)=omega(alpha_ast,S,X);
end
omega(alpha_ast,S,X);
plot(M)
Funo Pseudo-objetivo ex. 5.5)
%% Exemplo 5.5
function f = omega(a,S,Xo)
rp=1.0;
lamb=0.0;
X=Xo+a*S;
X1=X(1);
X2=X(2);
func=(X1-1)^2+(X2-1)^2+lamb*(X1-X2-2)+rp*((X1-X2-2)^2);
f=func;
Clculo do Gradiente da funo Pseudo-Objetivo ex. 5.5)
%% Problema 5.5
rp=1.0;
lamb=0.0;
symsX1X2
func=(X1-1)^2+(X2-1)^2+lamb*(X1-X2-2)+rp*((X1-X2-2)^2);
MGRA(1,1)=diff(func,X1);
MGRA(2,1)=diff(func,X2);
X1=Xo(1);
X2=Xo(2);
gradiente=subs(MGRA);
f=gradiente;
%%Mtodo da Seco urea
function f = aurea(S,Xo)
%Busca do Mnimo
%Mtodo da Seo urea
%% Escolha do intervalo
ok=0;
it=0;
a=0;
b=10;
while (ok==0)
it=it + 1
m=(a+b)/2;
omega_a=omega(a,S,Xo);
omega_m=omega(m,S,Xo);
omega_b=omega(b,S,Xo);
if(omega_a<omega_m)
a=a-(m-a);
b=m;
elseif (omega_a>omega_m&&omega_b>omega_m)
ok=1;
elseif (omega_b<omega_m)
b=b+(b-m);
a=m;
end
end
%%
ao=a;
bo=b;
Lo=(bo-ao);
tau=0.61834;
as=ao;
bs=bo;
ns=2;
Ls=Lo;
xs=as+(1-tau)*(Ls);
ys=as+tau*(Ls);
for s=1:ns
%calculo da funo para 'xs' e 'ys'
omega_xs=omega(xs,S,Xo);
omega_ys=omega(ys,S,Xo);
if(omega_xs>omega_ys)
as=xs;
xs=ys;
%e a a o novo intervalo fica sendo [xs-bs]
Ls=(bs-as);
ys=as+tau*(Ls);
elseif(omega_xs==omega_ys)
as=xs;
bs=ys;
%neste caso raro, temos que adotar novos pontos de reduo do
%intervalo
Ls=(bs-as);
xs=as+(1-tau)*(Ls);
ys=as+tau*(Ls);
elseif (omega_xs<omega_ys)
bs=ys;
ys=xs;
Ls=abs(bs-as);
xs=as+(1-tau)*(Ls);
end
end
%Agora, aps algumas iteraes usamos uma aproximao por um
polinmio de 3grau.
%declaramos a matriz de coeficientes
C=zeros(4,4);
for i=1:4
C(1,i)=as^(i-1);
C(2,i)=xs^(i-1);
C(3,i)=ys^(i-1);
C(4,i)=bs^(i-1);
end
O=zeros(4,1);
O(1,1)=omega(as,S,Xo);
O(2,1)=omega(xs,S,Xo);
O(3,1)=omega(ys,S,Xo);
O(4,1)=omega(bs,S,Xo);
coef=zeros(4,1); % matriz dos coeficientes do polinmio
coef=C\O;
%coef=inv(C)*O;
%dizemos que o alpha barra que seria o alpha mnimo dado por:
alpha_barra=(-coef(3,1)+sqrt((coef(3,1)^2)-
(3*coef(2,1)*coef(4,1))))/(3*coef(4,1));
f=alpha_barra;
Funo Pseudo-objetivo ex. 5.6)
function f = omega(a,S,Xo)
rp=1.0;
lamb=-1.0;
X=Xo+a*S;
X1=X(1);
X2=X(2);
func=(X1-1)^2+(X2-1)^2+lamb*max((X1+X2-0.5),((-lamb)/(2*rp)))
...
+ rp*(max((X1+X2-0.5),((-lamb)/(2*rp))))^2;
Clculo do Gradiente da funo Pseudo-Objetivo ex. 5.6)
%% Problema 5.6
function f = gradi(Xo)
rp=1.0;
lamb=-1.0;
syms X1 X2
if ((Xo(1)+Xo(2)-0.5)>(-lamb)/(2*rp))
func=(X1-1)^2+(X2-1)^2+lamb*(X1+X2-0.5)+ rp*(X1+X2-0.5)^2;
else
func=(X1-1)^2+(X2-1)^2+lamb*((-lamb)/(2*rp))+rp*((-
lamb)/(2*rp))^2;
end
MGRA(1,1)=diff(func,X1);
MGRA(2,1)=diff(func,X2);
X1=Xo(1);
X2=Xo(2);
gradiente=subs(MGRA);
f=gradiente;
f=func;
Funo Pseudo-objetivo ex. 5.7)
%Exemplo 5.7
function f = omega(a,S,Xo)
rp=1.0;
lamb1=-1.0;%lambda para restrio de desigualdade
lamb2=-1.0;%lambda para restrio de igualdade
X=Xo+a*S;
X1=X(1);
X2=X(2);
func=(X1-1)^2+(X2-1)^2+lamb1*max((X1+X2-0.5),((-lamb1)/(2*rp)))
...
+ rp*(max((X1+X2-0.5),((-lamb1)/(2*rp))))^2+lamb2*(X1-X2-
2)+rp*((X1-X2-2)^2);
f=func;
Clculo do Gradiente da funo Pseudo-Objetivo ex. 5.7)
%% Problema 5.7
function f = gradi(Xo)
rp=1.0;
lamb1=-1.0;%lambda para restrio de desigualdade
lamb2=-1.0;%lambda para restrio de igualdade
syms X1 X2
if ((Xo(1)+Xo(2)-0.5)>(-lamb1)/(2*rp))
func=(X1-1)^2+(X2-1)^2+lamb1*(X1+X2-0.5)+ rp*(X1+X2-0.5)^2 ...
+ lamb2*(X1-X2-2)+rp*((X1-X2-2)^2);
else
func=(X1-1)^2+(X2-1)^2+lamb1*((-lamb1)/(2*rp))+rp*((-
lamb1)/(2*rp))^2 ...
+lamb2*(X1-X2-2)+rp*((X1-X2-2)^2);
end
MGRA(1,1)=diff(func,X1);
MGRA(2,1)=diff(func,X2);
X1=Xo(1);
X2=Xo(2);
gradiente=subs(MGRA);
f=gradiente;