Top Banner
Otimização por Enxame de Partículas (parte 1) César M. V. Benítez 2019
25

Otimização por Enxame de Partículas (parte 1)

Jun 27, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Otimização por Enxame de Partículas (parte 1)

Otimização por Enxame de Partículas (parte 1)

César M. V. Benítez2019

Page 2: Otimização por Enxame de Partículas (parte 1)

Swarm IntelligenceSwarm = Enxame

A união faz a força

Mais inteligentes do que sozinhos…

Regras simples → Inteligência

Shoaling or Schooling?

https://www.youtube.com/watch?v=15B8qN9dre4

Page 3: Otimização por Enxame de Partículas (parte 1)

Swarm IntelligenceBusca de alimento (foraging)

Evitar predadores, Reprodução

Page 4: Otimização por Enxame de Partículas (parte 1)

Swarm IntelligencePSO - Particle Swarm Intelligence

ACO - Ant Colony Optimization

ABC - Artificial Bee Colony

etc...

Page 5: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence (PSO)● Foi criado por Jim Kennedy e Russell Eberhart (1995)

Eberhart, R.C., Shi, Y., Kennedy, J. Swarm Intelligence.

San Francisco: Morgan Kaufmann, 2001

Page 6: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence (PSO)● Bioinspirado no comportamento coletivo de animais

○ Cardumes de peixes, manadas, revoadas, etc.

● Um Enxame (swarm) é: ○ Conjunto de invidíduos (população)○ Desorganizados espacialmente○ Tendem a se agrupar enquanto se movem no hiperespaço○ A direção de cada indivíduo é quase-aleatória○ Interagem localmente (sem controle central)

Page 7: Otimização por Enxame de Partículas (parte 1)

Particle Swarm IntelligenceAlgumas animações sobre PSO:

PSO

PSO - animação com Matlab

Glowworm Swarm Optimization

Page 8: Otimização por Enxame de Partículas (parte 1)

Particle Swarm IntelligenceCaracterísticas do PSO:

● Populacional. Indivíduos são chamados de Partículas● O movimento das partículas no espaço de busca contínuo é influenciado

estocasticamente por 2 componentes:○ Componente Cognitivo○ Componente Social

● Cada Indivíduo possui:○ Posição no espaço de busca (solução e fitness)○ Velocidade○ Melhor posição individual

● O enxame mantém a melhor posição Global

Relacionados

Page 9: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence● Pseudo-código simplificado do PSO:1. Gerar enxame2. Avaliar Partículas do Enxame3. Atualizar Melhor Partícula global4. Atualizar Posição e Velocidade de cada Partícula5. Repetir 2 - 4 até satisfazer uma condição de parada.

● Codificação de Partículas : vetor n-dimensional

A Codificação influencia:

● o tamanho do espaço de busca;

● a complexidade do problema;

● Epistasia (entre variáveis que formam a Partícula)

Page 10: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence● Codificação de Partículas:

○ Cada partícula é formada por mais 2 vetores (velocidade e Melhor posição visitada):■ Posição Atual: x_i■ Velocidade atual: v_i■ Melhor posição visitada: MSL_i

● i é o índice da partícula do enxame

Page 11: Otimização por Enxame de Partículas (parte 1)

Particle Swarm IntelligenceComponentes Cognitivo e Social:

● Componente Cognitivo (aprendizado individual): Cada Partícula do enxame tem a sua própria experiência.

● Componente Social (cultural): Como indivíduos sociavéis, elas também sabem sobre o comportamento dos vizinhos

● Assim, as decisões são tomadas considerando as duas componentes, levando o enxame (população) para um comportamento emergente.

Entidades simples→ Comportamento

Complexo (em grupo)

Comportamento de um sistema que depende do relacionamento das

suas partes

Page 12: Otimização por Enxame de Partículas (parte 1)

Particle Swarm IntelligenceComponentes Cognitivo e Social:

● Componente Cognitivo (aprendizado individual):

pbest (particle best)

● Componente Social (cultural):

gbest (global best) ou MSG (melhor solução global): toda a população é considerada.

lbest (local best) ou MSL (melhor solução local): apenas os vizinhos são considerados

Page 13: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligencer1 e r2 são números aleatórios(distribuição uniforme, [0:1])

0 < c1,c2 < 2

c1 regula a influencia da Componente Cognitiva (individual)

c2 regula a influencia da ComponenteSocial

Page 14: Otimização por Enxame de Partículas (parte 1)

Particle Swarm IntelligenceLimitações:

● Limite do espaço de busca (posição): [Xmin_j, Xmax_j] para cada posição j da partícula X_i

● V_i: utilizada para limitar as velocidades para evitar que partículas extrapolem o espaço de busca [Vmin, Vmax]

○ Se Vmin for muito pequeno, as partículas se movimentam com passos menores○ Se Vmax for muito grande, as partículas dão saltos no espaço de busca.

Page 15: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence● Componente Cognitiva (individual)

● Memória de cada partícula. ● Causa o retorno para a sua melhor região individual do espaço de busca.● Usualmente, C1 próximo de 2 ● C1 limita o tamanho do passo para a região do melhor individual

Page 16: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence● Componente Social

● Direciona cada partícula para a melhor região do espaço de busca encontrada pelo enxame.

● Causa o retorno para a sua melhor região individual do espaço de busca.● Usualmente, C2 próximo de 2 ● C2 limita o tamanho do passo para a região do melhor global

Page 17: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence● Componente Inercial (w)

● Com esta componente, uma partícula tende a se mover na mesma direção, com a mesma velocidade (do tempo anterior)

● 0,8 < W < 1,2● Valores baixos de w aceleram a convergência● Valores elevados de w promovem a exploração do espaço de busca

Page 18: Otimização por Enxame de Partículas (parte 1)

Comparação entre PSO e AG

● PSO e AG possuem uma população de indivíduos● Os indivíduos são avaliados...PSO e AG possuem cálculo de fitness● PSO e AG não garantem a solução do problema (ótimo global!)● PSO não possui operadores de Crossover e Mutação. Entretanto, as

partículas atualizam as suas posições a partir da velocidade. As partículas também possuem memória.

Page 19: Otimização por Enxame de Partículas (parte 1)

Comparação entre PSO e AG

● PSO não possui método de Seleção. Toda a população participa no processo.

● AG é para codificação discreta (adaptável). PSO é para codificação contínua (adaptável)

● PSO tende a convergir mais rápido e ter maior diversidade no Enxame (?)○ Ver Paper “Comparison between Genetic Algorithms and Particle Swarm Optimization” de Russell C. Eberhart and Yuhui

Shi (1998)

Page 20: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence● Foi concebido para problemas contínuos.● Para problemas discretos (e combinatoriais):

○ Restringir valores de x_i a {0,1}○ Velocidades V_i tratadas como um valor de probabilidade [0,1]○ Usar Função Sigmóide para manter a velocidade no intervalo [0,1].○ A equação da velocidade não se altera!

Page 21: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence● Exemplo utilizando o Inspyred- Maximização - Função Ackley

Page 22: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence● Exemplo utilizando o código elaborado por James D. McCaffrey● Exemplo utilizando o código disponível no Framework do Algoritmo ECO

(proposto por Rafael S. Parpinelli)

→ Estes exemplos estão disponível no site do Prof. César M.V. Benítez

Page 23: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence - ExercícioProblema: Task Assignment Problem (TAP)

Toy problem formulado por Tank and Hopfield

Em TAP, n Tarefas devem ser realizadas por apenas n empregados.

Cada empregado é bom em algumas tarefas e ruim em outras. Alguns deles são os melhores em determinadas tarefas.

O objetivo é minimizar o custo total para realizar todas as tarefas (ou maximizar o trabalho efetuado por cada trabalhador).

Suponha que tenhamos que arquivar n tipos de livros em uma biblioteca com n assistentes. Cada assistente é familiar com áreas de acordo com diferentes níveis e organiza as coleções de acordo.

Os dados de entrada nesta tarefa consistem nas taxas em que os livros são organizados/arquivados por minuto (ver Figura).

Objetivo:

Page 24: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence - ExercícioAssistentes: 1-6

Coleção (ou tipos) de livros: A-F

1 assistente por coleção baseado nas taxas de livros/minuto

Nesta figura, os quadrados cinzas representam a melhor distribuição

de tarefas com a maior taxa de livros/minuto possível (44).

6! = 720 possíbilidades. A melhor solução tem a maior soma das taxas para os assistentes escolhidos.

Page 25: Otimização por Enxame de Partículas (parte 1)

Particle Swarm Intelligence - Exercício● Este tipo de problema é interessante para comparar o desempenho de

algoritmos. Então, implemente e compare os algoritmos Gene Expression Programming (GEP) e Particle Swarm Intelligence (PSO) para este problema.

● Considere n = 6 e n = 10

● Sugestão: ○ ver também o Algoritmo Hungaro, Simplex e Programação linear.○ Analisar a complexidade dos algoritmos (ou verificar na literatura)