1 / 17

Otimização por Enxame de Partículas (Particle Swarm Optimization - PSO)

Otimização por Enxame de Partículas (Particle Swarm Optimization - PSO). Prof. Rafael Stubs Parpinelli. Swarm Intelligence  ACO e PSO Comportamentos emergentes que surgem da coletividade de indivíduos simples que interagem entre si e com o ambiente ACO – Ant Colony Optimization:

eyal
Download Presentation

Otimização por Enxame de Partículas (Particle Swarm Optimization - PSO)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Otimização por Enxame de Partículas(Particle Swarm Optimization - PSO) Prof. Rafael Stubs Parpinelli

  2. Swarm Intelligence ACO e PSO • Comportamentos emergentes que surgem da coletividade de indivíduos simples que interagem entre si e com o ambiente • ACO – Ant Colony Optimization: • Inspirada no comportamento de busca por alimentos das formigas • Aplicações em problemas de otimização combinatorial • PSO – Particle Swarm Optimization: • Inspirada na coreografia dos pássaros e cardumes

  3. Enxame de Partículas: Originalmente criado por Kennedy (psicólogo social) e Eberhart (engenheiro elétrico) (1995) Inspirada na coreografia dos pássaros e cardumes Simular o comportamento social de seres vivos Idéia básica: A interação social é capaz de encontrar soluções ótimas para problemas difíceis PSO

  4. PSO Comportamento Social • Na natureza, quando um grupo de aves ou cardume de peixes procura alimento, pode -se considerar que cada indivíduo orienta sua busca por duas componentes: • a primeira é a sua própria experiência anterior em já conhecer locais onde costuma encontrar alimento (nostalgia) • a outra componente é a informação obtida através de outros indivíduos de seu grupo social.

  5. PSO • Características: • Baseado em população • As potenciais soluções – partículas – “sobrevoam” um espaço de busca n-dimensional • A busca se dá através da aceleração e desaceleração das partículas: informação local (componente cognitivo) e informação global (componente social)

  6. Exemplo de Visualização

  7. yi(t) se f(xi(t+1))  f(yi(t)) yi(t+1)= xi(t+1) se f(xi(t+1)) < f(yi(t)) PSO • Cada partícula é composta pelos seguintes vetores: • xi = (xi1, xi2, ... , xin) • vi = (vi1, vi2, ... , vin) • yi = (yi1, yi2, ... , yin) • Equação de atualização da melhor posição já visitada (problema de minimização): Posição atual Deslocamento Componente Cognitivo [1]

  8. PSO • Existem duas versões do alg. PSO: • Gbest e Lbest • A diferença baseia-se no grupo de partículas ao qual uma partícula irá interagir diretamente para identificar a informação da melhor partícula • Gbest: toda a população é considerada • Lbest: Somente alguns vizinhos especificados são considerados • A melhor partícula será representada pelo símbolo: ÿ(t)

  9. PSO • Possui duas seqüências aleatórias independentes: • r1j e r2j (0,1) , onde j  1..n • Possui duas constantes (coeficientes de aceleração): • 0 ≤ c1, c2  ≤ 4 , usualmente c1 = c2 = 2.05 • tamanho máximo de um passo que uma partícula pode dar em uma interação

  10. vij(t) + c1.r1j(t)[ yij(t) - xij(t)] + c2.r2j(t)[ ÿj(t) - xij(t)] se Xmin < xij < Xmax Onde j  1..n vij(t+1) = [2] 0 PSO • Equação de atualização das velocidades: • Da equação acima: • c1 regula o tamanho do passo na direção da melhor posição encontrada até o momento pela partícula (componente cognitivo) • c2 regula o tamanho do passo na direção da melhor partícula encontrada globalmente/regionalmente (componente social)

  11. xij(t) + vij(t+1) se Xmin≤ ( xij(t) + vij(t+1) ) ≤ Xmax Xmax se ( xij(t) + vij(t+1) ) > Xmax xij(t+1) = [3] Xmin se ( xij(t) + vij(t+1) ) < Xmin PSO • Equação de atualização de posições • Restrições • Limites do espaço de busca para cada dimensão: [Xmin, Xmax] ou [-Xmax, Xmax] • Vmax: utilizada para limitar as velocidades, evitando que as partícula extrapolem o espaço de busca. [Vmin, Vmax] ou [-Vmax, Vmax] • Normalmente usa-se Vmin = Xmin e Vmax = Xmax

  12. PSO Crie e inicialize um PSO n-dimensional: S Repita Para cada partícula i Se f(xi) < f(yi) // identifica melhor componente cognitivo Então yi = xi Se f(yi) < f(ÿ) // identifica melhor componente social Então ÿ = yi Fim_para Realize as atualizações no enxame S utilizando as equações (2) e (3) Até condição de parada ser verdadeira • Pseudo código: • Passo de inicialização • Inicializar aleatoriamente cada coordenada xij dentro de seu domínio • Inicializar aleatoriamente cada vij dentro de seu domínio • Atribuir yi = xi para toda partícula

  13. velocidade original vi(t) velocidade na direção ÿ(t) velocidade na direção yi(t) velocidade resultante ÿ(t) y2(t) y1(t) PSO • A cada passo de atualização, o comportamento de uma partícula é um balanço de 3 possíveis escolhas: • Seguir a trajetória original: vi(t) • Ir na direção do componente social: ÿ(t) • Ir na direção do componente cognitivo: yi(t)

  14. PSO • Melhoria: peso de inércia (w) • Controla a influência da velocidade em um instante de tempo anterior • Velocidade define a intensidade da busca: valores altos resultam em movimentos bruscos; valores baixos podem resultar na exploração insuficiente do espaço de busca • w regula o trade-off entre exploração local e global: 0 < w   < 1.5 vij(t+1) = w.vij(t) + c1.r1j(t)[ yij(t) - xij(t)] + c2.r2j(t)[ ÿj(t) - xij(t)] Onde j  1..n

  15. yi(t) x(t) ÿi(t) x(t+1) vi(t) PSO • Peso de inércia: • Os três coeficientes social/cognitivo quantificam respectivamente: • O quanto a partícula confia em si mesma (w) • O quanto ela confia na sua experiência (c1) • O quanto ela confia nos seus vizinhos (c2)

  16. PSO • Melhoria: fator de constrição (K) • Atua no componente resultante da composição dos movimentos • Onde vij(t+1) = k[vij(t) + c1.r1j(t)[ yij(t) - xij(t)] + c2.r2j(t)[ ÿj(t) - xij(t)]] Onde j  1..n

  17. Aplicações • Otimização de funções • Treinamento de redes neurais • Evolução da arquitetura de redes neurais • Controle de sistemas fuzzy • Balanceamento de ingredientes para maximizar a produção • Cálculo de carga em sistemas elétricos • Segmentação de imagens • Simulação de sinais de EEG • Verificação de voz

More Related