Você está na página 1de 22

OTIMIZAÇÃO

HEURÍSTICA

Prof. Dr. Fábio R. Durand


fabiodurand@utfpr.edu.br – frdurand27@gmail.com
UTFPR – Campus Cornélio Procópio
PPGEE – Programa de Pós-Graduação em Engenharia Elétrica
Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


 A vida em bando implica em maiores chances de sobrevivência dos
pássaros, insetos e peixes;
 Cada indivíduo se favorece das informações compartilhadas pelo
bando
 A coreografia estética de um bando de pássaros em vôo chamou a
atenção de zoologistas e cientistas da computação.
 Eficiente em problemas de otimização aplicado em diversos ramos
da física, química, economia e engenharia.
Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


1995: J. Kennedy and R. Eberhart
 J. Kennedy and R. Eberhart, Particle swarm optimization, in
Procedures of the IEEE International Conference on Neural Networks,
Piscataway, NJ, pp. 1942–1948, 1995

 Alam, Mahamad Nabab. "Particle Swarm Optimization: Algorithm


and its Codes in MATLAB". DOI:10.13140/RG.2.1.4985.3206.

 Valle, Y. del; Ganesh K.. "Particle Swarm Optimization: Basic


Concepts, Variants and Applications in Power Systems.". IEEE
Transactions on Evolutionary Computation 12. ISSN 1089-778X.
Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


 Espaço delimitado de busca ou pesquisa
 Busca-se uma solução candidata a partir de uma população de
soluções candidatas, denominadas “partículas”, fazendo-se uso de
parâmetros matemáticos que determinam a posição e a velocidade
dessas partículas.
 O movimento de cada partícula é influenciado pela sua melhor
posição individualmente já encontrada, bem como a posição global do
restante da população de partículas.
 O objetivo é fazer a nuvem de partículas convergir rapidamente para
as melhores soluções possíveis.
 A técnica de otimização PSO é uma meta-heurística, já que assume
poucas ou nenhuma hipótese acerca do problema a ser otimizado e
pode ser aplicada em grandes espaços de soluções candidatas.
Porém, como toda meta-heurística, não garante uma solução ótima em
todos os casos.
Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


 O movimento do grupo de partículas distribuídas aleatoriamente no
espaço, cada uma com uma posição e velocidade própria. A
velocidade proporciona o deslocamento da partícula em busca de um
melhor desempenho.

sendo pid[t] é a posição no instante t e vid [t-1] é a velocidade da


partícula no instante de tempo t – 1.
 O conhecimento da melhor posição encontrada por qualquer
partícula no conjunto é adicionada à velocidade de todas as partículas,
criando um componente que irá na direção da posição desta partícula.

rand() – [0,1]
2 – Constante de intensidade de deslocamento (melhor posição
global – aceleração global – constante social)
Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


 Inserção no cálculo da velocidade do conhecimento da melhor
posição encontrada pela partícula individualmente. A velocidade é
dada por

1 – Constante de intensidade de deslocamento (melhor posição


partícula – aceleração local – constante cognitivo)
Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


 Expressão final :

 Os coeficientes w (inércia), 1 e 2 podem ser obtidos por meio


empírico, ou pelo conhecimento de detalhes do problema.

 w: Inércia;
1 : o quanto a partícula confia em sua experiência;
2 : o quanto a partícula confia em seus vizinhos.
Particle Swarm Optimization (PSO)
Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


 Cálculo da velocidade de uma partícula:
Particle Swarm Optimization (PSO)

 Particle Swarm Optimization (PSO)


Particle Swarm Optimization (PSO)

 Exercício 1 – Utilize o algoritmo B3_pso


1. Qual a função que está sendo otimizada?

2. Ilustre por meio de simulações qual o parâmetro entre 1 e 2 que


apresenta maior impacto na convergência do algoritmo.

3. Qual o momento de inércia que está sendo empregado nas


simulações ?

4. Escolha outra função e realize a otimização dos parâmetros


(momento de inércia, 1 e 2) para que o algoritmo apresente maior
velocidade de convergência. Apresente os resultados relacionados
com a otimização dos parâmetros e a otimização da função escolhida.
FireFly Algorithm (FA)

 Algoritmo do Vagalume (Fire Fly)


 Baseia-se na característica de bioluminescência dos vagalumes.
 Proposto em Yang, X.-S. Firefly Algorithm. Nature-Inspired
Metaheuristic Algorithms. Luniver Press: Cambridge, 2008.
 A biologia não conhece ainda completamente a utilidade das
emissões luminosas dos vagalumes. Três funções já foram
identificadas:
- Ferramenta de comunicação e atração para acasalamento
- Isca para atração de eventuais presas para o vagalume
- Mecanismo de alerta para potenciais predadores, visto que os
vagalumes possuem um “gosto amargo”.
FireFly Algorithm (FA)

 Algoritmo do Vagalume (Fire Fly)


 As características de intensidade e intermitência da
bioluminescência emitida pelos vagalumes para a atração de parceiros
no rito de acasalamento, assim como o fenômeno de sincronização
para a emissão dos flashes luminosos em um grupo de vagalumes,
foram utilizadas para delinear o algoritmo computacional baseado no
comportamento destes insetos.

Três regras básicas foram idealizadas:


- Vagalumes não possuem sexo, de modo que qualquer vagalume
poderá atrair ou ser atraído;
- A atratividade é proporcional ao brilho emitido e decai conforme
aumenta a distância entre os vagalumes. Para dois vagalumes
quaisquer, o de menor brilho deve-se mover em direção ao de maior
brilho;
- O brilho emitido por um vagalume é determinado pela sua avaliação
conforme a função objetivo (i.e., quanto melhor avaliado, mais
brilhante).
FireFly Algorithm (FA)

 Algoritmo do Vagalume (Fire Fly)


 Intensidade e intermitência da bioluminescência emitida pelos
vagalumes:
- Atração de parceiros no rito de acasalamento
- Fenômeno de sincronização para a emissão dos flashes
luminosos em um grupo de vagalumes.
FireFly Algorithm (FA)

 Algoritmo do Vagalume (Fire Fly)


 A intensidade de emissão de luz de um vagalume é proporcional à
função objetivo.
 A percepção da intensidade luminosa por um vagalume decai em
função da distância entre os vagalumes, devido à absorção da luz pelo
meio.
 A intensidade percebida por um vagalume é dada por:

I0 - intensidade da luz emitida


r - distância Euclidiana entre os vagalumes i e j
i - vagalume mais brilhante
j - vagalume menos brilhante
 - parâmetro de absorção da luz pelo meio
FireFly Algorithm (FA)

 Algoritmo do Vagalume (Fire Fly)


 A distância entre dois vagalumes i e j nas posições xi e xj,
respectivamente, é dada por:

sendo xi,k o k-ésimo componente da coordenada espacial xi do i-ésimo


vagalume e d é o número de dimensões.

 A função de atratividade de um vagalume é expressa como:

r - distância entre dois vagalumes


β0 - atratividade inicial em r = 0
 - coeficiente de absorção que controla o decaimento da intensidade
de luz.
FireFly Algorithm (FA)

 Algoritmo do Vagalume (Fire Fly)


 A movimentação de um vagalume i em direção a outro vagalume j
mais atrativo (mais brilhante) é definida por:

- posição atual de um vagalume (solução candidata)

- representa a atratividade de um vagalume da


intensidade de luz vista por vagalumes adjacentes

- movimento aleatório de um vagalume no caso de


não existir nenhum outro vagalume mais brilhante

 - fator de aleatoriedade

rand() - número gerado aleatoriamente entre 0 e 1.


FireFly Algorithm (FA)

 Algoritmo do Vagalume (Fire Fly)


FireFly Algorithm (FA)

 Exercício 2 – Utilize o script B5_firefly


1. Quais os principais parâmetros empregados no
algoritmo Firefly

2. Ilustre um gráfico relacionando o valor da função custo


versus o número de iterações.

3. Ilustre um gráfico relacionando o valor da função custo


versus o número de iterações considerando diferentes
valores do coeficiente de absorção e comente o impacto
observado ?

4. Refaça o item 3 considerando diferentes valores do fator


de aleatoriedade e comente o impacto observado ?

Você também pode gostar