5 Programação Maemáca Prncípos Báscos 5. Consderações Geras Ese capíulo em por objevo apresenar os conceos báscos de Programação Maemáca (PM), necessáros à compreensão do processo de omzação de dmensões, bem como descrever os algormos de omzação ulzados. Em problemas ípcos de engenhara, é possível denfcar uma nfndade de soluções capazes de aender à odas as especfcações de projeo. Em um problema de omzação deseja-se ober um projeo ómo, maxmzando ou mnmzando uma função, adoada como medda quanava do desempenho do ssema analsado, a qual denomna-se função objevo. A maora dos problemas de omzação são formulados em ermos de parâmeros e resrções. Os parâmeros escolhdos para descrever o projeo de uma esruura são conhecdos como varáves de projeo enquano que as resrções, mposas para que projeo seja admssível, são conhecdas como condções de resrção. A Programação Maemáca é a dscplna que esuda a mnmzação ou maxmzação de funções em problemas com ou sem resrções. Maemacamene, um problema de omzação, no caso mnmzação, podem ser enuncados como: Mnmzar f ( x ) n x R sujeo a c ( x )= =... l c ( x) = l+... m l x x u x =... n (5.) onde x é o veor de varáves, sobre o qual são mposos os lmes mínmos e máxmos (resrções laeras), f ( x ) é a função a ser mnmzada e as funções c ( x) represenam as resrções de gualdade e desgualdade mposas ao ssema. Assume-se que ano a função objevo quano as resrções são funções conínuas
Programação Maemáca Prncípos Báscos 79 no n R. Em geral, f ( x ) e varáves c ( x) ( x ) que defnem o problema. são funções não-lneares e mplícas das Espaço de Busca É o conjuno, espaço ou regão que compreende as possíves ou váves soluções do problema a ser omzado, sendo caracerzado pelas funções de resrção. Um pono que sasfaça odas as resrções é denomnado um pono vável e o espaço ou regão que conem odos os ponos que sasfaçam odas as resrções é conhecdo como regão vável. Uma resrção de desgualdade defne uma fronera que dvde o n R em uma regão vável e oura nvável. Quando um pono esá sobre esa fronera, a resrção é da ava; quando um pono esá no neror da regão vável, a resrção esá nava e, quando um pono esá fora desa regão, à resrção esá volada. 5. Condções de Ómo Para que a solução x seja um mínmo local do problema de omzação enuncado em (5.) é necessáro que esa aenda as condções de a ambém chamadas de condções de Kuhn-Tucer, enuncadas por: Lx x (, λ ) = c ( x ) = =... l ( ) c x = l+... m λ = l+... m λ c ( x ) = ordem, (5.) onde Lx (, λ ) é a função Lagrangana dada pela expressão a segur: (, ) = ( l ) + λ ( ) = Lx λ f x c x (5.3) onde solução. λ são os mulplcadores de Lagrange assocados às resrções no pono x
Programação Maemáca Prncípos Báscos 8 Para deermnadas classes de problemas de programação maemáca as condções de Kuhn-Tucer são sufcenes para a deermnação de uma solução óma local. Inclu-se nessas classes os problemas de programação convexa, as como os de programação lnear e quadráca. O problema de programação convexa é caracerzado por função objevo e resrções convexas. Porém, nos casos mas comuns, onde os problemas não são de programação convexa, as condções de prmera ordem não são sufcenes para a deermnação da solução óma local. Assm, além das condções expressas em (5.), deve ser verfcada a condção de segunda ordem expressa na equação (5.4) a segur: dwd, d da = (5.4) al que onde a = c ( x ) para odas as resrções avas e W = Lx ( ) é a Hessana da função Lagrangana. O que sgnfca que ómo para qualquer dreção esaconára d. W em x é posva defnda no pono 5.3 Forma Geral dos Algormos de Omzação Os problemas de programação maemáca são defndos de acordo com as caraceríscas da função-objevo e das resrções. Desa forma, os problemas de omzação podem se dvdr em dferenes formas, como mosra a Tabela.. TABELA 5. Dvsão dos problemas de Programação Maemáca Tpos de Omzação f (x) c (x) Programação Lnear lnear lnear Programação Quadráca quadráca lnear Programação Não-Lnear não-lnear não-lnear lnear não-lnear lnear não-lnear Algormos de omzação para problema de programação lnear e programação quadráca êm solução em um número fno de passos. Já os algormos de programação não-lnear podem não er solução em um número fno de passos, mas espera-se que a seqüênca gerada convrja para um mínmo local. Porano, um problema adconal no processo de omzação ocorre quando a função objevo e as resrções são funções não-lneares do veor de varáves de n projeo, x R.
Programação Maemáca Prncípos Báscos 8 Os algormos de programação não-lnear, resra e rresra, são procedmenos eravos. Neses, a parr de uma solução ncal x, denomnada solução básca, e com base no cálculo de dervadas para ndcar a dreção na qual se deve camnhar, novas soluções são geradas aravés da expressão (5.5). x = x + d (5.5) Assm, os algormos podem ser dvddos em duas eapas prncpas: a prmera eapa é a deermnação da dreção de busca d e a segunda é a avalação do parâmero escalar, que represena o amanho do passo a ser dado ao longo da dreção de busca. A parr da expressão (5.5) dversos algormos podem ser consruídos ulzando dferenes écncas para a deermnação da dreção de busca e do amanho do passo. Por rabalharem com o cálculo de dervadas, os algormos de PM são denomnados de algormos de ordem n, onde n é a maor dervada ulzada. Um algormo é do de prmera ordem se ulzar apenas os gradenes da função objevo e das resrções para calcular a dreção de busca. Por ouro lado, se o algormo ulza nformações sobre as Hessanas desas funções, ele é do de segunda ordem. 5.4 Méodo de Newon para Problemas de Omzação sem Resrção O prncípo do méodo de Newon é mnmzar a função f ( x ) aravés de uma aproxmação local por uma função quadráca. Para esse propóso a função f ( x ) é expandda por sére de Taylor aé o ermo de segunda ordem, ou seja: se e f ( x) = f( x ) + f( x )( x- x ) + ( x- x ) f( x )( x- x ) (5.6) d= x = ( x- x ) x= d + x (5.7) g = f ( x ) e H = f ( x ) (5.8) Subsundo-se (5.7) e (5.8) em (5.6) em-se ( d+ ) = ( ) + d g + dhd (5.9) f x f x
Programação Maemáca Prncípos Báscos 8 onde d é o ncremeno de x, g é veor gradene de f e H, uma marz smérca posva defnda, é a hessana da função f no pono x. A equação (5.9) é uma equação quadráca cuja varável é d. Porano, o algormo de omzação procura deermnar uma dreção de busca d al que f ( d + x) < f( x ) em cada passo, ou seja, uma dreção de decréscmo em f. Assm: f d+ = d g + d d (5.) mn ( x ) mn( H ) Escrevendo a condção de omaldade de (5.) ( d f( d + x) = ), obém-se d: - d= H g (5.) Assm, (5.) fornece um mínmo global únco para a função aproxmadora de f. Além dsso, se f é um função quadráca o méodo de Newon deermna o pono de mínmo em um únco passo. Ese méodo, enreano, em como desvanagem o elevado esforço compuaconal envolvdo nos cálculos para a monagem da marz H, sobreudo em problemas com grande número de varáves. Os méodos Quase-Newon surgram para resolver esse problema sem perder as boas propredades de convergênca do méodo de Newon. Nesses méodos, uma aproxmação da Hessana (ou de sua nversa) é consruída a parr dos valores dos gradenes ao longo das erações. Esses méodos, dos quas o BFGS (Broyden - Flecher - Goldfarb - Shanno) é o mas popular, possuem convergênca superlnear e são amplamene ulzados em problemas de omzação. 5.5 Busca Lnear Após a deermnação da dreção de busca d é necessáro calcular o amanho do passo a ser dado nessa dreção, a fm de se ober o novo veor das varáves de projeo em (5.5). O amanho do passo é calculado fazendo-se uma mnmzação da função undmensonal p defnda aravés da expressão: p() = f(x + d ) (5.)
Programação Maemáca Prncípos Báscos 83 A parr desa defnção, pode-se verfcar que: e p() = f(x ) (5.3) dx p (5.4) f ( x) '() = x d = onde p ndca a dervada em relação à. A busca lnear pode ser exaa ou aproxmada, dependendo do méodo ulzado para a mnmzação. A busca aproxmada é uma forma mas moderna, na qual o objevo é deermnar de forma que f apresene um cero nível de decréscmo, segundo um créro preesabelecdo, como: p () = f( x)+ γ d g, γ (,) (5.5) De acordo com esa equação, o parâmero γ conrola o amanho do passo. Assm, um γ pequeno perme a ulzação de passos maores e a ulzação de um γ grande força a ulzação de passos pequenos. Uma forma basane popular de busca lnear é fazer uma aproxmação quadráca de p e calcular como o mínmo desa aproxmação, verfcando se a equação (5.5) é sasfea. Uma forma anda mas smples é o méodo de Armjo (Hersovs, 995), no qual é gual ao prmero número da seqüênca {,α, α, α 3,...}, α (; ), para o qual p() sasfaz a condção (5.5). 5.6 Programação Quadráca solução A Programação Quadráca (PQ) em como objevo deermnar o veor x do problema colocado na segune forma:: mnmzar q x + x Q x sujeo a a x = b =... l a x b = l+... m (5.6)
Programação Maemáca Prncípos Báscos 84 onde a é uma marz que conem os coefcenes dos gradenes das resrções, b é o veor dos ermos ndependenes das resrções. Sendo Q uma marz posva defnda, o problema quadráco é convexo e pode-se garanr a exsênca de um únco mínmo local. A solução dese problema pode ser obda em rês eapas bem defndas (Ebol, 989 e Parene, ):. As l resrções de gualdade são elmnadas do problema dmnundo-se o número das varáves ndependenes para n - l, obendo-se um problema de programação quadráca (reduzda), chamado problema padrão de PQ, só com as resrções de desgualdade.. O problema quadráco reduzdo é ransformado em um Problema Lnear Complemenar (PLC), que pode ser resolvdo aravés de méodos de pvoeameno como o de Leme. 3. Recupera-se a solução para o espaço orgnal com o cálculo das varáves elmnadas na prmera eapa, obendo-se os valores de x e λ. 5.7 Algormo de Han-Powell - Programação Quadráca Seqüencal O algormo de omzação de Han-Powell proposo por Han em 976 e 977 e por Powell em 978 (Ebol, 989), fo mplemenado e aplcado a problemas de Engenhara Esruural no DEC/PUC-Ro por Ebol (989), Parene () e Farfán (). Ese algormo ulza a écnca de Programação Quadráca Seqüencal (PQS) aravés da resolução de um subproblema quadráco (PQ). O méodo de PQS pode ser consderado como o resulado da aplcação do méodo de Newon à mnmzação da função Lagrangana do problema. Ese méodo fornece a cada eração os veores d (correção de x) e λ (correção dos mulplcadores de Lagrange λ ). Ese fao pode ser demonsrado consderando o segune problema: mnmzar f ( x ) sujeo a c ( x )= (5.7)
Programação Maemáca Prncípos Báscos 85 cuja função Lagrangana é dada por: Lx (, λ ) = f( x) + λ c( x) (5.8) D esenvolvendo Lx (, λ ) em séres de Taylor em orno de ( x, λ ) aé a prmera ordem em-se: + + + d Lx ( + d, λ + λ ) = Lx (, λ ) + Lx (, λ ) + λ (5.9) Consderando + + d = x x e = + + λ λ λ e aplcando a condção de + esaconaredade a (5.9) no pono ( x + d, λ + λ + ) resula em: + d Lx (, λ ) = Lx (, ) + λ λ (5.) ou expresso na forma marcal como: + W A d g +A λ = + A λ c (5.) F nalmene, subsundo λ = λ + λ + + em-se: + W A d g = + A λ c (5.) onde, A é a marz dos gradenes das resrções, W é a Hessana da Lagrangana, e g é o gradene de f(x) sendo odos avalados no pono x. A solução de (5.) equvale à solução do subproblema de PQ (Ebol,989): mnmzar g d+ d W sujeo a c + A d = d (5.3)
Programação Maemáca Prncípos Báscos 86 Ou seja, cada eração da soluç ão do problema orgnal é dênca à solução do PQ obdo pela lnearzação das resrções e pela expansão quadráca de f em orno de x. busca e Em problemas em que odas as resrções são de gualdade, a dreção de os mulplcadores de Lagrange podem ser obdos pela solução do ssema de equações lneares gerado pelo méodo de Newon, como mosrado em (5.). Para consderar o caso de resrções de desgualdade, Wlson propôs resolver o problema geral de PM: mnmzar f ( x ) sujeo a c ( x )= =... l c ( x) = l+... m (5.4) defnndo uma dreção de busca d e uma nova esmava dos mulplcadores de Lagrange λ aravés da solução do PQ: mnmzar g d+ d W d sujeo a c + a d = =... l c + a d = l+... m (5.5) cujo méodo de solução fo vso na seção aneror. 5.7. Eapas do Algormo Não-Lnear Han-Powell (PQS) As eapas que formam o algormo Han-Powell são (Parene, ):. Dado um pono ncal x e uma aproxmação da Hessana da função Lagrangana B fazer =. B é dada pela segune função: B = b I (5.6) o onde bo é um parâmero defndo pelo usuáro do algormo. O número de renícos da marz B é conrolado pelo parâmero n r defndo pelo
Programação Maemáca Prncípos Báscos 87. usuáro. Segundo Parene () o reníco de B serve para descarar a nfluenca de ponos muo dsanes do pono correne. Para =+, monar e resolver o problema de programação quadráca defndo pela equação (5.5) deermnando os veores d e λ : Mnmzar sujeo a n g d+ d B d d R c + a d = =... l c + a d = l+... m (5.7) onde c é o veor com as resrções, a é uma marz com o gradene das resrções e B é uma aproxmação da Hessana no pono x. 3. Verfcar os créros de parada do algormo: g d ol max( c ) ol (5.8) 4. onde o prmero créro represena a varação da função objevo na dreção d e o segundo créro verfca explcamene o valor da resrção mas volada. Faz-se enão uma busca lnear undmensonal para deermnar o amanho do passo, na dreção d de forma que o novo esmador da solução x = x + d seja um pono que conrbua para o decréscmo da função objevo. A busca é fea sobre a função de penaldade (p), consruída no nuo de mpor um alo cuso à volação das resrções. Esa função é defnda pela expressão: l = = l+ [ ] p( ) = px ( + d ) = f( x) + rc( x) + r max c ( x ), m (5.9) onde os r são os faores de penaldades. A busca é aproxmada, so é a solução não é o mínmo de p(), mas aende a um cero decréscmo
Programação Maemáca Prncípos Báscos 88 5. pré-espulado em p() consderado sasfaóro. O coefcene de decréscmo da função é pelo parâmero γ defndo pelo usuáro. Aualzação da marz B do subproblema quadráco aravés do méodo BFGS. 6. Reorno à eapa. 5.8 Méodo dos Ponos Inerores O algormo ulzado nese rabalho basea-se na aplcação do méodo de Newon para a solução do ssema de equações não-lneares obdas a parr da aplcação das condções de Kuhn-Tucer do problema de omzação (Hersovz, 995). Apenas o algormo para resrções de desgualdade é dscudo, uma vez que os problemas de projeo ómo a serem resolvdos não possuem resrções de gualdade. No enano, as mesmas déas aqu apresenadas ambém são váldas para os problemas que possuem smulaneamene resrções de gualdade e de desgualdade e podem ser vsas com mas dealhes em (Hersovz, 995; Hersovz & Sanos, 997). O algormo de Ponos Inerores fo mplemenado e aplcado a problemas de Engenhara Esruural no DEC/PUC-Ro por Parene (). O méodo de Ponos Inerores em como caracerísca gerar uma seqüênca de ponos no neror da regão vável que converge para a solução do problema. Oura propredade mporane deses algormos é que cada um dos ponos nermedáros possu valores decrescenes da função objevo. Consdere o problema de omzação: mnmzar f ( x ) sujeo a c ( x) =... m (5.3) cujas condções de Kuhn-Tucer sã o: m λ = g+ a = λ c ( x ) = ( ) c x λ (5.3)
Programação Maemáca Prncípos Báscos 89 Sendo A a marz dos gradenes das resrções e C uma marz dagonal conendo o s valores das resrções, as duas prmeras equações podem ser escras como: g+ A λ = Cλ = (5.3) Aplcando o méodo de Newon para resolver o problema acma, obém-se o ssema: d W A = ΛA C λ g (5.33) Na equação acma, Λ é uma marz dagonal para a qual Λ = λ, d é a dreção de busca e λ é a esmava dos mulplcadores de Lagrange. Pode-se demonsrar que d é uma dreção de decréscmo de f e que d = se x for um pono esaconáro (Parene, ). O problema é que a dreção de busca fornecda por (5.33) nem sempre é uma dreção vável. Expandndo-se uma equação da pare nferor do ssema (5.33), chega-se a: λad + c λ = (5.34) Esa equação mplca que ad = para odo al que c =. Geomercamene, so sgnfca que d é angene às resrções avas, ndcando que a dreção apona para fora da regão vável. Uma solução para evar ese efeo é adconar uma consane negava do lado dreo da equação acma: λ + λ = ρλ ad (5.35) c onde λ é a nova esmava de λ. Ese procedmeno faz com que a dreção orgnal seja defleda, de um valor proporconal a ρ, para o neror da regão vável. Como a deflexão é proporconal
Programação Maemáca Prncípos Báscos 9 a ρ e d é uma dreção de decréscmo de f, é possível enconrar lmes em ρ para que d ambém seja uma dreção de decréscmo. Ese objevo pode ser angdo mpondo-se que: g d a g d (5.36) para a (; ). Em geral, a axa de decréscmo de f ao longo de d é menor que ao d longo de. Consderando o ssema auxlar: d g = ΛA C λ λ W A (5.37) é fácl mosrar que: e d=d + ρd (5.38) λ = λ + ρλ (5.39) Subsundo (5.38) em (5.36) chega-se a: g d ρ ( a -) g d (5.4) Defnda a dreção de busca, é necessáro realzar uma busca lnear resra ao longo dessa dreção, de forma a garanr que o pono gerado eseja no neror da regão vável. Além dsso, é necessáro aualzar os valores dos mulplcadores de Lagrange de manera a assegurar a convergênca para a solução correa. 5.8. Eapas do Algormo de Ponos Inerores O algormo de Ponos Inerores para problemas de resrções de desgualdade necessa de um pono ncal vável x, uma esmava para os mulplcadores de Lagrange de forma que λ > e uma marz B smérca e
Programação Maemáca Prncípos Báscos 9 posva defnda, que é uma aproxmação de W. O algormo pode ser dvddo nos segunes passos (Hersovs & Sanos, 997):. Ober a dreção de busca d: a) Deermnar os veores ( d, λ ) aravés da solução do ssema lnear defndo em (5.33). b) Verfcar o créro de convergênca: d ol (5.4) c) Deermnar os veores ( d, λ ) aravés da solução do ssema lnear defndo em (5.37). d) Calcular o valor de ρ: se, enao ρ = mn,( a ) / g d > % f d g d g d se gd, enao % ρ = f d (5.4) sendo f >. e) Calcular a dreção de busca d: e d=d + ρd (5.43) λ = λ + ρλ (5.44). Fazer busca lnear sobre d, deermnando o amanho do passo que sasfaça um créro sobre o decréscmo da função objevo e para o qual: c( x+ d), se λ c( x+ d) c( x), se λ < (5.45) e o novo pono x:
Programação Maemáca Prncípos Báscos 9 x = x + d (5.46) 3. Aualzar a marz B, que é uma aproxmação da Hessana da função Lagrangana, aravés do méodo BFGS. 4. Defnr uma nova esmava para os mulplcadores de Lagrange: λ = max λ, e d (5.47) sendo >. e 5. Fazer x gual a x e reornar ao passo. A aproxmação ncal e o reníco da Hessana da função Lagrangana são conrolados pelos mesmos parâmeros ulzados pelo algormo de Programação Quadráca Seqüencal.