• Nenhum resultado encontrado

2.4 Métodos de Optimização

2.4.2 Métodos de Gradiente

Os métodos de gradiente são adequados para problemas de variáveis contínuas e funções diferen- ciáveis. Estes incluem diversas metodologias, mostrando-se nesta secção os grupos mais relevantes no contexto deste trabalho.

2.4.2.1 Linearização e Programação Linear Sequencial

Todos os métodos de busca começam com uma estimativa inicial do ponto óptimo, com base na qual se inicia o processo iterativo. Este processo recorre à resolução de um subproblema para melhorar a solução, obtido através da série de Taylor da função-objectivo e das restrições. Seja x(k) a estimativa k e Δx(k)a alteração desejada. Em vez de Δx(k), são comummente usados uma direcção de procura d(k)e um tamanho de passo calculado nessa direcção para determinar a nova aproximação. O subproblema linearizado obtido, no ponto x(k), pode ser escrito como

min cTd , (2.16)

sujeito às igualdades linearizadas

(∇gj)Td = ej, j = 1, . . . , p , (2.17)

e às desigualdades linearizadas

(∇gj)Td≤ ej, j > p e j∈ Ik, (2.18)

com ej = −gjx(k) e c = ∇fx(k). Note-se que se utiliza na expressão 2.18 uma estratégia de restrição potencial. No caso de não ser utilizada, pode usar-se um valor ε muito elevado na definição do subconjunto Ik (vd. Eq. 2.15).

Como as funções das equações 2.16 a 2.18 são lineares relativamente às variáveis di, é possível utilizar metodologias de programação linear na resolução em di. Estes métodos são chamados de Programação Linear Sequencial (PLS). Note-se, no entanto, que este problema pode não ter uma solução limitada. Assim, devem impor-se limites sobre as variações das variáveis. Estes são normalmente designados de limites móveis (move limits) e podem ser expressos como

−Δi ≤ di≤ Δi, i = 1, . . . , n , (2.19)

onde Δi traduz a variação máxima da variável di na iteração k. O problema continua a ser linear

em di, pelo que metodologias de programação linear continuam a poder ser utilizadas. A correcta

selecção destes limites em cada iteração, apesar de potencialmente complexa, é determinante na eficácia do algoritmo de PLS.

Métodos de Optimização

2.4.2.2 Programação Quadrática Sequencial

Os métodos de Programação Quadrática Sequencial (PQS) permitem contornar alguns inconveni- entes da PLS. Neste caso, resolve-se um subproblema de programação quadrática para encontrar a direcção de procura e usa-se uma função de direcção de descida para calcular o tamanho de passo a utilizar nessa direcção. Define-se assim este subproblema como

min  cTd +1 2(d THd)  , (2.20)

sujeito às restrições linearizadas 2.17 e 2.18. H é uma matriz n× n que aproxima a hessiana da função lagrangiana. Diferentes definições do subproblema de programação quadrática originam diferentes direcções de procura. Com base na direcção de procura determinada, procede-se à minimização de uma função de direcção de descida para a determinação do tamanho de passo. A função de direcção de descida, em problemas com restrições, é obtida adicionando à função- -objectivo factores de penalidade para violações de restrições. Uma das propriedades das funções de direcção de descida é terem o mesmo valor da função-objectivo no ponto óptimo. Adicionalmente, o seu valor deve diminuir ao longo da direcção de procura em cada iteração, o que significa que a direcção de procura deve ser uma função de direcção de descida para a função-objectivo.

2.4.2.3 Métodos de Penalidade e Lagrangiano Aumentado

Existe uma classe de métodos computacionais que transformam um problema com restrições num problema não-restringido, permitindo a sua resolução como tal. Estes métodos designam-se por técnicas de minimização sequencial não-restringida. O princípio base destas técnicas consiste em combinar a dualidade do métodos de multiplicador com funções de penalidade (exterior) [Belegundu e Chandrupatla 1999]. Este termo corresponde às funções de restrição multiplicadas por parâmetros de penalidade. As penalidades vão sendo sequencialmente aumentadas e a função minimizada, até que a variação na solução seja inferior a um determinado valor de tolerância.

Os métodos de penalidade e barreira são procedimentos que aproximam problemas de optimiza- ção restringida com problemas não-restringidos. No caso dos métodos de penalidade a aproximação é obtida adicionando à função-objectivo um termo que determine um custo elevado para a violação de restrições. No caso dos métodos de barreira, adiciona-se um termo que favorece os pontos no interior da região admissível face a pontos próximos da fronteira. Associado a estes métodos surge um parâmetro c que determina o peso da penalização ou barreira, e, consequentemente, o nível de aproximação do problema não-restringido ao problema original. Enquanto a função-objectivo pode não ser localmente convexa, o problema penalizado torna-se localmente convexo para c suficiente- mente elevado [Luenberger e Ye 2008]. Para um problema com n variáveis e m restrições, estes métodos actuam directamente no espaço de dimensão n das variáveis (ao contrário dos primais que actuam em num espaço com dimensão (n− m)) [Belegundu e Chandrupatla 1999,Luenberger e Ye 2008]. Nestes métodos, é importante determinar (e controlar) o nível de aproximação do problema não-restringido. É necessário verificar se com c→ +∞ a solução do problema não-res- tringido tende a convergir para a solução do problema original. Outra questão importante do ponto de vista prático é a forma adequada de resolver um problema não-restringido quando a sua função- objectivo contém um termo de penalidade ou de barreira. Este problema é bastante relevante, já que à medida que c aumenta, com o intuito de fornecer uma boa aproximação, o problema tende a tornar-se também menos favorável a uma correcta resolução numérica, originando problemas de instabilidade e diminuindo as taxas de convergência em diversos algoritmos.

Os métodos de penalidade e de barreira têm grande utilidade. Do ponto de vista prático fornecem formas simples de resolver problemas restringidos, que podem ser implementadas sem programação demasiado sofisticada e possuem o mesmo nível de generalidade que os métodos primais. Do ponto de vista teórico, têm a vantagem de poder condensar diversos tópicos da teoria de optimização, incluindo multiplicadores de Lagrange, condições necessárias e diversos tipos de algoritmo. Uma vantagem destes métodos é a possibilidade de utilizar algoritmos e ferramentas de optimização não-restringida em problemas com restrições. Uma das desvantagens,

Métodos de Optimização

no entanto, é que os parâmetros de penalidade podem tender para infinito para se obter um óptimo, criando instabilidades numéricas. De modo a contornar esta limitação surge um outro tipo de método que necessita apenas de penalidades finitas suficientemente elevadas, com os métodos de lagrangiano aumentado, designados alternativamente como métodos de multiplicador. Estes constituem uma das classes mais eficientes de métodos de programação não-linear correspondendo a uma combinação de funções de penalidade com métodos de dualidade local. Para um problema com restrições de igualdade, o lagrangiano aumentado pode ser definido como

L = f(x) + p  i=1 λigi(x) +1 2c p  i=1 g2i(x) . (2.21)

Do ponto de vista do método de penalidade, o lagrangiano aumentado, para um dadoλ, é essenci- almente a aplicação de uma função de penalidade quadrática ao problema definido no lagrangiano5

da equação 2.6. Note-se ainda que, do ponto de vista complementar da teoria de dualidade, o lagrangiano aumentado é o lagrangiano da função objectivo f (x) (vd. Eq. 2.1, com j ≤ p) pena- lizada. Como referido anteriormente, note-se que a adição da função de penalização não altera o ponto óptimo ou os multiplicadores de Lagrange, mas tende a tornar a função convexa perto da solução, teoricamente melhorando a convergência do método dual. Esta convexidade local permite a resolução do problema através de um método iterativo emλ. O esquema iterativo [Luenberger e Ye 2008] inicia-se com um valor λk, para o qual xk é calculado como o ponto de mínimo da

equação 2.21. De seguida,λ é actualizado de acordo com

λk+1=λk+ c g(x(λk)) . (2.22)

Uma das vantagens do lagrangiano aumentado é o facto de condições de desigualdade serem fa- cilmente incorporadas [Luenberger e Ye 2008]. Assim, o lagrangiano aumentado, considerando também condições de desigualdade, pode ser escrito como

L = f(x) + ⎧ ⎨ ⎩ p  i=1 λigi(x) +1 2c p  i=1 g2i(x) ⎫ ⎬ ⎭+ ⎡ ⎣ 1 2c m  i=p+1  (max{0, λi+ cgi(x)})2− λ2 ⎤ ⎦ , (2.23) com a adição do último termo [Belegundu e Chandrupatla 1999]. Note-se que λi com i = 1 a

p são os multiplicadores de Lagrange para as restrições de igualdade, enquanto que para i > p são multiplicadores de Lagrange para as restrições de desigualdade. Como referido anteriormente, este método pressupõe, sequencialmente e a partir de valores iniciais para os parâmetros c e λi,

a minimização da função 2.23 e a actualização dos parâmetros. O processo é repetido até que os critérios de óptimo sejam satisfeitos.

Note-se que os métodos duais são baseados na perspectiva de que são os multiplicadores de Lagrange as variáveis fundamentais associadas ao problema restringido, sendo estes que controlam o processo de convergência. Assim, os métodos duais não actuam directamente sobre os problemas restringidos originais, mas sim um problema alternativo, o problema dual, cujas variáveis são os multiplicadores de Lagrange do problema original. Num problema com n variáveis e p restrições de igualdade, os métodos duais actuam no espaço p-dimensional dos multiplicadores. Como os multiplicadores de Lagrange medem sensibilidades e têm frequentemente outras interpretações significativas (como os custos associados a recursos de restrições), a determinação dos seus valores pode ser de grande utilidade para o controlo da convergência ou a análise do comportamento do objectivo [Belegundu e Chandrupatla 1999, Luenberger e Ye 2008].