Método da Função de Penalidade Exterior

  • Upload
    mvgmad

  • View
    248

  • Download
    1

Embed Size (px)

Citation preview

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;