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

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

  • Upload
    eyal

  • View
    76

  • Download
    1

Embed Size (px)

DESCRIPTION

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: - PowerPoint PPT Presentation

Citation preview

Page 1: 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

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

• 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

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

• 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

Page 4: Otimização por Enxame de Partículas (Particle Swarm Optimization - 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.

PSO

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

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)

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

Exemplo de Visualização

Page 7: Otimização por Enxame de Partículas (Particle Swarm Optimization - 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):

PSO

yi(t+1)=

yi(t) se f(xi(t+1)) f(yi(t))

xi(t+1) se f(xi(t+1)) < f(yi(t))

Posição atual

Deslocamento

Componente Cognitivo

[1]

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

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)

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

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

Page 10: Otimização por Enxame de Partículas (Particle Swarm Optimization - 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)

PSO

vij(t+1) = [2]

vij(t) + c1.r1j(t)[ yij(t) - xij(t)] + c2.r2j(t)[ ÿj(t) - xij(t)]se Xmin < xij < Xmax

0

Onde j 1..n

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

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

xij(t) + vij(t+1) se Xmin ≤ ( xij(t) + vij(t+1) ) ≤ Xmax

[3]xij(t+1) = Xmax se ( xij(t) + vij(t+1) ) > Xmax

Xmin se ( xij(t) + vij(t+1) ) < Xmin

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

PSO• 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

Crie e inicialize um PSO n-dimensional: SRepita 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

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

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)

ÿ(t)

y2(t)

y1(t)

velocidade original vi(t)velocidade na direção ÿ(t)velocidade na direção yi(t)velocidade resultante

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

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

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

x(t) ÿi(t)

vi(t)

x(t+1)

yi(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)

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

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

|42|

22

k

4,21 cc

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

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