aleatórias e funções de probabilidade. São, assim, estocásticos. Analogias entre a busca do ótimo e fenômenos observáveis da natureza são freqüentes nesses casos. Com o contínuo avanço tecnológico no processamento computacional, alguns métodos dessa classe vêm apresentando resultados satisfatórios para casos de otimização não-linear (Biegler e Grossmann, 2004; Nelles, 2001).
Em problemas de otimização onde o cálculo da função-objetivo requer expressivo esforço computacional, os métodos diretos podem se tornar lentos e pouco robustos. Outra limitação está relacionada à dificuldade de implementação nos problemas com restrições não- lineares (Grossmann e Biegler, 2004).
Com sua origem no cálculo diferencial, muitas vezes a análise de um problema de otimização está focada em critérios de convergência. Entretanto, vale destacar que a busca por um extremo global pode em muitos casos se tornar inviável. Na prática, melhorias sensíveis em um processo, com mínimos locais razoáveis, podem ser mais atrativas economicamente do que a busca pelo mínimo absoluto (Guimarães et al., 2007).
Como já mencionado, a abordagem estocástica muitas vezes utiliza estratégias de busca que procuram representar fenômenos físicos, evolutivos ou de interação social- cognitiva. O algoritmo de otimização recozimento simulado, ou no inglês, simulated
annealing (Kirkpatrick et al., 1983), e as estratégias evolucionárias (Rechenberg, 1965 apud
Neles, 2001) são exemplos importantes. Mais recentemente, o algoritmo enxame de partículas (Kennedy e Eberhart, 1995) e a evolução diferencial (Storn e Price, 1997) surgem como técnicas promissoras, por apresentarem rápida convergência e requererem uma quantidade reduzida de parâmetros de sintonia.
Ainda na abordagem direta, pode-se citar o algoritmo de busca Tabu, o qual consiste de buscas locais seguidas de explorações aleatórias em novas regiões do domínio de otimização (Glover, 1990). Os poucos parâmetros de sintonia requeridos são também um ponto favorável nesse método.
A seguir são discutidos os algoritmos de busca estocásticos estudados neste trabalho, a saber, Simulated Annealing, Enxame de Partículas e Evolução Diferencial.
Proposto inicialmente como um método estocástico para otimização combinatória derivado da mecânica probabilística, o algoritmo Simulated Annealing (SA) simula o processo de annealing ou recozimento físico, no qual um metal é submetido a uma temperatura elevada, sendo, então, esfriado suavemente, permitindo que seja atingida alguma configuração de mínima energia (Kirkpatrick et al., 1983). À medida que um metal em estado líquido é esfriado lentamente, as moléculas vão se ordenando até formar um cristal único e atingir o estado de mínima energia – alusão ao mínimo global no processo de otimização. Entretanto, se esfriado rapidamente, as moléculas não se alinham de forma ordenada e o metal se solidifica em uma forma policristalina ou amorfa, os mínimos locais.
O algoritmo SA, como listado na Figura 1, segue o procedimento de Metrópolis e
Ulam, 1949. A cada passo, a próxima configuração xk+1 é escolhida aleatoriamente a partir de
N(xk), a vizinhança de xk, aplicando uma perturbação em xk. Calcula-se então o novo valor da
função-objetivo E(xk+1
). Se
∆
E ≤ 0, a nova configuração xk+1 é aceita; se∆
E > 0, xk+1 é aceitacom probabilidade E T
r e
P = −∆ / . Um número aleatório provido de uma distribuição uniforme
no intervalo [0,1] é obtido. Se ele é menor que Pr, a mudança de configuração é aplicada, daí
o critério de Metrópolis. A condição de convergência “alcançar o equilíbrio” pode ser considerada como sendo um número prescrito de iterações que foi realizado.
Ao contrário de aplicar algum método baseado no gradiente, um método de pesquisa aleatória, como o de Metrópolis, é usado para localizar a próxima configuração. A pesquisa aleatória é controlada por uma seqüência decrescente da temperatura T. Quando T é alta, grandes incrementos de energia E podem ser aceitos. À medida que T diminui, somente
pequenos incrementos são permitidos. No limite, quanto T é quase zero, incrementos em E praticamente não são mais aceitos. A estratégia de Metrópolis pode permitir, portanto, ao algoritmo SA “escapar” de mínimos locais em direção ao mínimo global.
Inicie T e x Repita Gere xk+1 em N(xk);
∆
E
E(xk+1) – E(xk); Se∆
E < 0 Pr = 1; Se não Pr = T Ee
−∆ / ; Se aleatório [0,1) < Pr xk
xk+1; Reduza T;Até (alcançar equilíbrio); Retorne x;
Figura 1: Listagem do algoritmo Simulated Annealing.
O critério para redução da temperatura T é ponto chave no desempenho do algoritmo,
e há garantia de convergência assintótica para o mínimo global apenas se: Tk =T0/ln(k). Tal
esquema de redução de T, entretanto, é muito lento e, na prática, esquemas heurísticos de convergência mais rápidos precisam ser empregados (Locatelli, 2000).
O algoritmo enxame de partículas (PSO, Particle Swarm Optimization) proposto por Kennedy e Eberhart, 1995, faz uma metáfora do comportamento social de interação entre indivíduos (partículas) de um grupo (enxame). Definindo pelos autores como um método de otimização contínua não-linear, o PSO tem sido aplicado dentro do escopo da engenharia química na análise dinâmica não-linear de processos químicos, estimativa de parâmetros e em problemas multiobjetivo (Lee, 2008; Schwaab et al., 2008; Chen et al., 2007; Ourique et al., 2002; Parsopulos e Vrahatis, 2002).
O algoritmo se baseia na seguinte teoria sócio-cognitiva: cada indivíduo de uma população possui sua própria experiência e é capaz de avaliar a qualidade dessa experiência; como os indivíduos são sociais, eles também possuem conhecimentos sobre o comportamento e a experiência dos outros indivíduos presentes no grupo. A analogia foi desenvolvida a partir da observação por Kennedy e Eberhart do comportamento de bandos de pássaros e de
cardumes de peixes na busca por alimento. Os autores observaram que, durante a busca pelo alimento, o comportamento do grupo é influenciado pela experiência individual acumulada por cada indivíduo, bem como pelo resultado da experiência acumulada do grupo.
No algoritmo PSO, cada partícula i do enxame, dotada de uma posição xi = (xi,1, xi,2, ...,
xi,m) e de uma velocidade vi = (vi,1, vi,2, ..., vi,m), representa um ponto no espaço de busca m-
dimensional (
ℜ
m; sendo que m corresponde ao número de incógnitas no problema de otimização). Depois de inicializado o algoritmo com uma população aleatória e com distribuição uniforme, cada partícula movimenta-se no espaço m-dimensional de busca procurando melhorar seu desempenho individual, isto é, reduzir o valor da função-objetivo.
Como critério para o deslocamento, utiliza sua melhor posição obtida até a iteração k, pi =
(pi,1, pi,2, ..., pi,m), e a melhor posição do grupo, pg = (pg,1, pg,2, ..., pg,m). A velocidade e a
posição de cada partícula são então atualizadas de acordo com as equações 6 e 7:
) ( ) ( 2 2 1 1 1 k i g k i i k i k i wv cr p x c r p x v + = + ⊗ − + ⊗ − (6) k i k i k i v x x +1= + (7)
Sendo: vi – a velocidade da partícula i; xi – a posição da partícula i; pi e pg – respectivamente,
a melhor posição da partícula i e do grupo até a iteração k; w– o fator de inércia; c1 e c2 – são
constantes que representam, respectivamente, fatores de aprendizado cognitivo e social; r1 e r2
– são valores aleatórios ente 0 e 1; e ⊗ representa o produto vetorial elemento por elemento.
Como todo método de busca direto, o desempenho do algoritmo é bastante dependente
dos valores de seus parâmetros de sintonia w, c1 e c2 (Trelea, 2003).
Como destacam Schwaab et al., 2008, uma característica muito interessante do PSO é a realização de uma busca global nas iterações iniciais do procedimento de otimização, ocorrendo nesse estágio a prospecção de várias regiões do espaço de busca (Figura 2a), o que pode facilitar a localização do ótimo global. Com o decorrer das iterações, a busca passa a ser local em torno do ponto mais promissor (Figura 2b).