Método da Função de Penalidade Exterior

download Método da Função de Penalidade Exterior

of 16

Transcript of Método da Função de Penalidade Exterior

1. Mtodo da Funo de Penalidade Exterior Nessatcnicaafunoobjetivopenalizadanaregiovivel,ouseja,somentequando alguma restrio violada. A funo penalidade definida por: ( ) ( ){ }( )221 1max 0,m nj kj kPx g x h x= = ( = +( Setodasasrestriessosatisfeitas( ) 0 Px = .Portando,nestecaso,afunopseudo-objetivoequivalefunoobjetivooriginal.Seumaoumaisrestriessovioladas,o quadrado dessas funes adicionado funo pseudo objetivo. Asrestriessoelevadasaoquadradoparaassegurarqueatangentefunode penalidadesejanulasobreafronteiradaregiovivel.Comisto,podeseassegurara continuidade da derivada da funo pseudo objetivo. Nestaformulaodafunopenalidade,aderivadasegundadafunopseudoobjetivo nocontinuasobreafronteiraquelimitaaregiovivel.Istoumapossvelcausade mal-condicionamento numrico para mtodos de minimizao de segunda ordem.Omtododapenalidadeexterioromaisfcildeserincorporadoaoprocessode otimizao. 2. Mtodo da Funo de Penalidade Interior Afunoobjetivonessemtodopenalizadanaregiovivelquandoopontoxse aproxima da fronteira que limita esta regio. As funes de restries jamais so violadas. Quando o processo interrompido, a soluo encontrada vivel. Este mtodo fornece uma sequencia de solues viveis melhores mas, em contrapartida, o problema de minimizao irrestrita mais complicado. A funo penalidade definida por: ( )( )11mjjPxg x== A funo de penalidade interior utilizada apenas para as restries de desigualdade.Para asrestriesdeigualdadeomtododepenalidadeexteriordeveseraplicado.Desta maneira, a funo pseudo objetivo definida como: ( ) ( )( )( )2` `1 11, ,m np p p p kj kjx r r Fx r r h xg x= =u = + +( Oajustederperp:adiferenaentrerperpdeve-seaofatodequeoprimeiro 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 pFunc penalidadex r F x r Px u = + Osmtodosdetransformao,taiscomopenalidadeinterior,exterioreestendida,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,kh 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 pelaequao2,eafunoobjetivovalerparaqualquerprojetoquesatisfaaas restries.Sel>n,oproblemanosersignificativodemaneiraqueesteapresentar mais equaes que incgnitas. As condies de Kuhn-Tucker necessitam da criao do Lagrangeano ( ) ( )1, ( )lk kkL X FX h X == + (3) Ento as condies estacionrias de L(X,) juntamente com as exigncias viveis da eq.2 soascondiesnecessriasparaotimo.Tambm,podesermostradode consideraes tericas que o mnimo do Lagrangiano, sujeito as condies de viabilidade daeq.2,forneceasoluodoproblemaoriginaldaseqs.1e2.Portanto,pode-seusara abordagemdafunodapenalidadeexteriorparacriarafunopseudo-objetivaaser minimizada como segue ( ) | |{ }21, , ( ) ( ) ( )lp k k p kkAX r FX h X r h X == + + (4) Enquantoaeq.4,apresentaserumamodificaosimplesdomtododapenalidade 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,oproblemadeotimizaoresolvidosequencialmentepeloaumentoderp.Por outro lado, se especificamos os multiplicadores k em seus valores timos *c, o mnimo de ( ), ,pAX r fornece o mnimo real de F(X) para alguns valores positivos, mas finitos de rp.Portanto,se=*conhecidonoinicio,somenteumaminimizaosemrestrio necessria. Na prtica, no conhecemos* ento necessrio comear com um valor arbitrrio de (normalmentezeroouum).Omtodocomumenterecomendadoiniciarcom=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,jg 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 jg x z j m s =(7) A funo pseudo objetivo fica

( ) ( ) ( ){ }22 2`k1, , ( ) ( )mp j j p j jjAx r F x g x z r g x z= ( = + + + + (8) Matematicamente usa-se a equao equivalente ( ) ( ) { }2`1, ,mp j j p jjAx r F x r== + + (9) Ondemax ( ),2jj jpg xr ( = ( ( (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. Exercciospropostos- 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 iteraoValor da Funo 013.4222 15.1841 21.4436 31.3916 c) Repita o item b, comeando com . Figura 2 para lambda = 1. 1 1.5 2 2.5 3 3.5 402468101214n de iteraese = 0,0 / rp = 1.01 1.5 2 2.5 3 3.5 40.511.522.533.54n de iteraese = 1,0 / rp = 1,0N da iteraoValor da Funo 01.4358 13.7556 20.6032 30.5164 d) Repita o item b, comeando com . Figura 3 Para lambda=-4,0. N da iteraoValor da Funo 010.8649 12.2826 21.3835 31.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 41234567891011n de iteraese = -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 iteraoValor da Funo 013.2993 11.1232 20.7523 30.7500 c) Repita o item b, comeando com . 1 1.5 2 2.5 3 3.5 402468101214n de iteraese =0,0 / rp = 1,0 Figura 5.6.2 -Grfico para lambda=2,0 e rp=1,0. N da iteraoValor da Funo 019.6771 11.4995 21.0835 31.0833 d) Repita o item b, comeando com . 1 1.5 2 2.5 3 3.5 402468101214161820n de iteraese = 2,0 / rp = 1,01 1.5 2 2.5 3 3.5 4024681012 = -1,0 / rp = 1,0n de iteraeseFigura 5.6.3 -Grfico para lambda=-1,0 e rp=1,0. N da iteraoValor da Funo 010.0340 10.5183 20.0848 30.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 iteraoValor da Funo 017.8327 12.3829 22.0841 32.0833 c) Repita o item b, comeando com

e

. 1 1.5 2 2.5 3 3.5 424681012141618 1= 0,0 / 2 = 0,0n de iteraese1 1.5 2 2.5 3 3.5 402468101214161820 1= 1,0 / 2 = 1,0n de iteraeseFigura 5.7.2 Grfico da funo pseudo-objetivo para lambda1=lambda2=1 N da iteraoValor da Funo 018.8056 11.9406 21.5837 31.5833 d) Repita o item b, comeando com

e

. Figura 5.7.3 Grfico da funo pseudo-objetivo para lambda1=lambda2=-1. N da iteraoValor da Funo 034.4927 13.5357 22.0130 31.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 405101520253035 1= 1,0 / 2 = 1,0n de iteraeseacabou=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_aomega_m&&omega_b>omega_m) ok=1; elseif (omega_bomega_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(-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;