A família de métodos de otimização para problemas não-lineares (como a maior parte dos problemas em eletromagnetismo), como já dito no capítulo primeiro, pode ser dividida em três grandes grupos: métodos determinísticos, estocásticos e enumerativos
(Bazaraa et al. [3]). De uma maneira menos ortodoxa, Takahashi [35] classifica os métodos também em três grupos, os quais não abrangem a totalidade dos métodos, mas permitem distinguir a maior parte deles. São eles:
Métodos de ‘direção de busca’;
Métodos de ‘exclusão de semi-espaços’;
Métodos de ‘busca por populações’.
A lógica de construção destas metodologias conduz a limitações de uso, as quais tornam a eficiência de cada método dependente do tipo de problema a resolver [A1-A2].
2.6.1 Métodos de ‘direção de busca’
Estes métodos são baseados na busca sucessiva de pontos no espaço de otimização; esta procura necessita do conhecimento de um vetor na direção de decrescimento da função, o qual depende do gradiente da função a ser minimizada (no caso de problemas de
minimização). A procura pelo ponto ótimo usa o ponto corrente (xk) como ponto de
partida para a próxima iteração (k+1). Existem muitas maneiras de realizar estas iterações, uma das quais é dada por:
1
k k k k
x + =x +λ d , (2.12)
onde λk é o passo de cálculo e dké a direção de busca do ponto ótimo.
A figura 2.8 mostra a aplicação dos métodos Fletcher-Reeves, Newton e BFGS (Bazaraa et al. [3]) para a minimização de uma função de duas variáveis. Com relação às dificuldades citadas na seção 2.5, pode-se afirmar que:
Descontinuidades: A existência de descontinuidades e não-diferenciabilidade
nas funções podem causar problemas para o cálculo do gradiente ou de aproximações deste. Em muitos casos, as descontinuidades e não- diferenciabilidades podem até inviabilizar a resolução do problema;
Não-Convexidade: se a função for unimodal e não possuir descontinuidades, os
algoritmos de ‘direção de busca’ não encontram dificuldades para convergência em funções não-convexas.
Multimodalidade: sendo garantida a continuidade e a diferenciabilidade, este tipo de
local ou global. É necessário repetir inúmeras vezes o processo de otimização, sempre com pontos iniciais diferentes, de modo a confirmar a solução final.
% função = (x-2)^4 + (x-2*y)^2
e = 0.0001; % erro admissível de parada x = 3; y=2; % qualquer valor inicial k=1; i=1;
enquanto k >= e
gradF = [4*(x(i)-2)^3+2*(x(i)-2*y(i)) -4*(x(i)-2*y(i)) ]; k = norm(gradF);
Hess = [12*(x(i)-2)^2 -4; -4 8 ]; % Hessiana HessInv = Hess^-1;
i = i+1;
aux = HessInv * gradF'; x(i) = x(i-1) - aux(1) ; y(i) = y(i-1) - aux(2) ; end
(a) Pseudocódigo do método de Newton (b) Métodos Determinísticos – função quadrática Figura 2.8. Métodos de ‘direção de busca’.
2.6.2 Métodos de ‘exclusão de semi-espaços’
Métodos de ‘exclusão de semi-espaços’ são aqueles que utilizam aproximações do gradiente dos problemas para definir um plano que divide o espaço de objetivos em dois semi-espaços, sendo que o gradiente deve necessariamente decrescer em um dos semi- espaços (Herskovits & Mazorche [36], Abdel-Malek & Hassan [37]). Fazem parte deste grupo os diversos métodos de ‘planos de corte’ através de restrições, os métodos de pontos interiores, os métodos elipsoidais etc. Basicamente, estes métodos envolvem três etapas: primeiro calcula-se o ‘subgradiente’ das funções a serem otimizadas em um ponto; após, divide-se o espaço de busca neste ponto em dois, excluindo um deles; na região restante, faz-se uma nova estimação do ponto ótimo. O processo segue esta rotina até alguma condição de convergência ser atendida. Com relação às dificuldades citadas na seção 2.5, pode-se afirmar que:
Descontinuidades: A existência de descontinuidades e não-diferenciabilidades nas funções não constituem problema e, portanto, não impedem o funcionamento correto dos métodos. No processo iterativo, o próximo ponto não é estimado sobre uma trajetória, mas sim localizado a uma distância finita do ponto anterior;
Não-Convexidade: A convexidade de todas as funções do problema é o requisito
principal destes métodos. Se tal condição for violada, o processo de exclusão trabalhará ‘às cegas’, de forma que a evolução do método torna-se imprevisível;
Multimodalidade: esta característica pode ser entendida como um caso particular de não-convexidade, portanto, as conclusões são análogas.
Em se tratando de velocidade de convergência, nos problemas em que tanto os métodos de ‘exclusão de semi-espaços’ quanto os de ‘direção de busca’ possam ser aplicados, em geral há uma tendência para que estes últimos sejam mais rápidos. Portanto, os métodos de ‘exclusão de semi-espaços’ devem ser usados apenas onde houver não- diferenciabilidades que impeçam o uso dos métodos de ‘direção de busca’.
2.6.3 Métodos de ‘busca por populações’
As duas famílias de métodos apresentadas até aqui trabalham apenas com uma solução corrente. A solução subseqüente é calculada a partir da solução corrente mais a informação da região onde ela está contida (gradiente). Diferentemente disto, os métodos de ‘busca por populações’ trabalham com um conjunto de soluções correntes simultaneamente. Além disto, a população subseqüente é baseada nas informações obtidas em mais de um ponto no espaço de parâmetros. Essas informações dizem respeito aos valores das funções objetivo, as quais permitem determinar quais soluções são ‘melhores’; não é utilizada, portanto, qualquer tipo de informação do gradiente destas funções. Os métodos de ‘busca por populações’ mais conhecidos são, provavelmente, os Algoritmos Genéticos (Goldberg [8]) e o Simulated Annealing (Laarhoven & Aarts [38], dentre outros).
Com relação às dificuldades citadas na seção 2.5, pode-se afirmar que:
Descontinuidades: como estes métodos não utilizam nenhuma informação sobre os
gradientes das funções, não deve existir, portanto, qualquer dificuldade relativa à não-diferenciabilidade dos problemas;
Não-Convexidade: por trabalhar com populações, estes métodos não são
influenciados por não-convexidades;
Multimodalidade: a grande vantagem destes métodos em relação àqueles baseados
no gradiente ou em aproximações deste é a possibilidade da detecção de ótimos locais e globais. Os métodos de busca por populações são os que mais se aproximam do conceito de ‘algoritmo de otimização para problemas genéricos’ (multimodais, com restrições, convexos e não convexos, etc.).
Claro que os métodos de busca por populações têm limitações. A primeira é que resultados obtidos por esses métodos dependem da distribuição da população inicial. Dificilmente o método convergirá se o ótimo global estiver afastado da região onde se concentra a população inicial. Fica então evidente que a eficiência desses métodos depende de uma população inicial que explore bem todo o espaço de busca. O segundo aspecto negativo é a velocidade de convergência. Comparando com as outras famílias, os métodos que utilizam populações podem ser mais ‘lentos’, no sentido de que eles podem necessitar de um maior número de avaliações do problema. O esforço computacional desses métodos pode ser maior para atingir os mesmos resultados (quando os outros métodos conseguem obter um resultado).