PSO com Inercia

O que é o PSO com inércia?

O PSO com inércia é uma evolução do PSO clássico que introduz um fator de amortecimento. Esse fator, chamado de peso de inércia (w), controla a influência da velocidade anterior. Ele foi proposto por Shi e Eberhart em 1998 para melhorar o equilíbrio exploratório. Diferentemente da versão clássica, w pode ser constante ou variar ao longo do tempo. Uma estratégia comum é reduzir w linearmente de 0.9 para 0.4 durante a execução. Isso permite exploração global no início e explotação local no final. A equação de velocidade torna-se: v = w*v + c₁*r₁*(pbest – x) + c₂*r₂*(gbest – x). O PSO com inércia é atualmente a versão mais usada em aplicações práticas. Ela oferece melhor desempenho em funções multimodais e com ruído.

Características fundamentais do PSO com inércia

O PSO com inércia possui três características distintas que o definem. Primeira, o peso w pode ser fixo (ex.: 0.7) ou dinâmico (decrescente). A inércia dinâmica é frequentemente linear: w(t) = w_max – (w_max – w_min)*(t/T). Segunda, a velocidade ainda é limitada por vmax para evitar instabilidades. Terceira, os coeficientes c₁ e c₂ permanecem constantes, geralmente iguais a 1.5. A inércia atua como um “momento” que suaviza as mudanças de direção. Isso evita oscilações bruscas e melhora a convergência para o ótimo. Além disso, a inércia reduz a dependência de condições iniciais aleatórias. O PSO com inércia é mais robusto e tolerante a erros de parametrização.

Vantagens e aplicações típicas

A principal vantagem é o controle explícito entre exploração e explotação. Com w alto, as partículas percorrem grandes regiões do espaço de busca. Com w baixo, elas refinam a solução localmente com alta precisão. Isso torna o PSO com inércia eficaz para problemas com muitos mínimos locais. Ele é amplamente usado em redes neurais, controle de processos e design ótimo. Além disso, a inércia dinâmica dispensa ajustes manuais finos. Contudo, a escolha da taxa de decaimento ainda requer alguma experimentação.

O PSO com inércia foi uma resposta às limitações da versão clássica. Estudos mostraram que w > 1 pode causar divergência do enxame. Por outro lado, w < 0.5 leva a convergência prematura e estagnação. A faixa recomendada é entre 0.4 e 0.9 para a maioria dos problemas. A redução linear é a mais popular por sua simplicidade e eficácia. Ela permite que o enxame explore amplamente no início da execução. Nas últimas iterações, as partículas se concentram ao redor do gbest. Esse comportamento mimetiza o resfriamento simulado em otimização. O PSO com inércia também pode ser combinado com técnicas de reinicialização. Por exemplo, quando o enxame estagna, w é temporariamente aumentado. Isso reintroduz diversidade sem perder as melhores soluções encontradas. A inércia também facilita a adaptação a funções com escalas diferentes. Cada dimensão pode ter seu próprio w em variantes mais avançadas. Assim, o PSO com inércia é versátil e amplamente adotado na indústria.

Um exemplo clássico é minimizar a função de Griewank em 2 dimensões. Ela tem muitos mínimos locais, mas um mínimo global em (0,0). O PSO com inércia dinâmica encontra esse ótimo com alta confiabilidade. A redução de w permite escapar de vales falsos nas primeiras iterações.


Enunciado do exemplo clássico

Implemente o PSO com inércia linearmente decrescente para minimizar a função de Griewank: f(x,y) = (x²+y²)/4000 – cos(x)*cos(y/√2) + 1, com x,y ∈ [-10, 10]. Use 30 partículas, 300 iterações, w de 0.9 a 0.4, c₁=c₂=1.5, vmax=2. Armazene o melhor fitness e a posição global a cada iteração. Plote a curva de convergência e a trajetória do gbest com contornos.

Este código implementa o PSO com inércia linearmente decrescente. A curva de convergência mostra uma queda suave e consistente do erro. A trajetória do gbest revela exploração ampla no início e refinamento no final. A inércia dinâmica permite escapar de mínimos locais da função Griewank. Para iniciantes, este exemplo demonstra o poder do controle adaptativo. O PSO com inércia é, portanto, uma ferramenta madura e confiável.

Deixe um comentário