Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
TÓPICOS DE OTIMIZAÇÃO EM SEP E
APLICAÇÕES
➢ Meta-heurísticas
➢Particle Swarm Optimization (PSO) ➢Octave
➢Próxima aula (Alocação de GD)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P 2
Otimização estocástica: classe geral de algoritmos e técnicas que
empregam algum grau de aleatoriedade para encontrar soluções tão ótimas quanto possível para problemas reconhecidamente difíceis .
Definição:
LUKE, S. (2009). Essentials of Metaheuristics. Disponível em http://cs.gmu.edu/~sean/book/ metaheuristics/
GLOVER, F. e KOCHENBERGER, G. A. (2003). Handbook of Metaheuristics. Kluwer Academic Publishers, Boston.
Segundo Glover e Kochenberger (2003) meta-heurísticas são métodos de solução que coordenam procedimentos de busca (heurísticas), de modo a criar um processo capaz de escapar de mínimos locais e realizar uma busca robusta no espaço de soluções de um problema.
Segundo Luke (2009) a área que estuda as meta-heurísticas é considerada um subcampo da área de otimização estocástica.
META-HEURÍSTICAS
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
Uma meta-heurística, visa produzir um resultado satisfatório para um problema, porém sem qualquer garantia de otimalidade.
Assim, as meta-heurísticas são indicadas para:
• Problemas sobre os quais há poucas informações;
• Problemas em que as técnicas convencionais que utilizam derivadas não podem ser aplicas devido ao espaço de solução ser muito grande ou apresentar alguma particularidade, com exemplo uma descontinuidades em alguma função.
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P 4 Exemplos de meta-heurísticas: ✓Tabu Search ✓Simulated Annealing
✓GRASP - Memetic Algorithms
✓Particle Swarm Optimization (PSO) ✓Firefly algorithm
✓Bat algorithm
✓Ant Colony Optimization ✓Genetic Algorithms
✓Outras
META-HEURÍSTICAS
Vamos estudar o PSO nesta aula
O PSO é uma meta-heurística populacional e
Bio-inspirada
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em Meta-heurísticas Populacionais
Segundo Sucupira (2007) as meta-heurísticas populacionais utilizam uma população que evoluem através da interação entre seus indivíduos e de processos individuais, na busca de uma solução. O processo objetiva aumentar a qualidade média das soluções individuais na tentativa de obter a ótima sem comprometer a diversidade do conjunto.
SUCUPIRA, Igor Ribeiro, Dissertação de Mestrado: Um Estudo Empírico de Hiper-Heurísticas. IME/USP, 2007.
Metaheurísticas Bio-inspiradas
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P 6
• Funcionam tanto com parâmetros contínuos como discretos ou uma combinação deles.
• Realizam buscas simultâneas em várias regiões do espaço de busca, pois trabalham com uma população e não com um único ponto.
• Utilizam informações de custo ou recompensa e não derivadas ou outro conhecimento auxiliar.
• Não é necessário conhecimento matemático aprofundado do problema considerado.
6
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
• Otimizam um número grande de variáveis.
• Otimizam parâmetros de funções objetivos com superfícies complexas e complicadas, reduzindo a incidência de mínimos locais.
• Adaptam-se bem em computação paralela.
Figura 1 - Eggholder function
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P
❖ As propriedades principais de um sistema de inteligência de enxame são (Millonas, 1994):
• Proximidade - os agentes devem ser capazes de interagir;
• Qualidade - os agentes devem ser capazes de avaliar seus comportamentos;
• Diversidade - permite ao sistema reagir a situações
inesperadas;
• Estabilidade - nem todas as variações ambientais devem afetar o comportamento de um agente;
• Adaptabilidade - capacidade de adequação a variações ambientais.
8
Millonas, M. M. (1994). Swarms, phase transitions, and collective intelligence. In C.G. Langton (Ed.), Artificial Life III, pp. 417-445. Reading, MA: Addison-Wesley
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
O algoritmo Otimização por Enxame de Partículas (PSO), foi originalmente desenvolvido pelos pesquisadores Dr. Kennedy e Dr. Eberhart em 1995 com base no comportamento social de cardumes de peixes e bandos de pássaros.
Figura 2. cardume de peixes Figura 3. bando de pássaros
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P 10
O PSO é inspirado no comportamento social e cooperativo exibido por várias espécies de forma a realizar as suas necessidades no espaço de pesquisa (“search-space”)
O PSO encontra-se, atualmente, entre as meta-heurísticas baseadas em padrões da natureza mais populares, e surge como sendo o algoritmo mais promissor para a resolução de diversos problemas de otimização, quer na área das ciências, quer das engenharias.
Desde a sua criação, já foram desenvolvidas muitas variantes para a resolução de problemas práticos relativos à otimização.
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
No entanto, o PSO não garante que uma solução ótima seja encontrada. Em termos gerais, o algoritmo guia-se por experiência pessoal (Pbest), experiência geral (Gbest) e o movimento das partículas atual para decidir as posições seguintes no espaço de pesquisa.
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
O PSO realiza poucas ou nenhumas premissas sobre o problema que está a ser otimizado e pode procurar soluções candidatas em espaços de grandes dimensões.
O PSO é baseado no mesmo princípio de que cada indivíduo pode mudar a sua opinião (ou
1. Conhecimento do entorno.
(Memória da partícula)
2. Os estados pelos quais ele passou.
(Fator cognitivo)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P
• Uma população de soluções é mantida.
• Cada indivíduo da população (partícula) é um vetor de reais que corresponde a uma possível solução.
• Cada partícula possui uma posição e uma velocidade no n .
• O processo de atualização de uma partícula possui dois componentes:
– Melhor experiência (posição visitada) pessoal; – Melhor experiência (posição visitada) do grupo.
Conceitos PSO
12
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
• 𝑥𝑖(𝑡): vetor posição atual da partícula 𝑖.
• 𝑣𝑖(𝑡): vetor velocidade atual da partícula 𝑖, pode ser visto como um ∆𝑥. Está limitada por [−𝑣𝑚𝑎𝑥 , 𝑣𝑚𝑎𝑥].
• 𝑷𝒃𝒆𝒔𝒕𝒊(𝑡) : vetor com a melhor posição visitada pela partícula 𝑖.
• 𝑮𝒃𝒆𝒔𝒕(𝑡): melhor entre as melhores posições visitadas pelo grupo.
• A avaliação das posições de cada partícula é feita pela função de desempenho (fitness) a qual se deseja otimizar.
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P - Algoritmo(minimizar)
1. inicializar população de partículas. 2. repetir até critério de parada.
• para cada partícula 𝑖 da população faça
se 𝑓(𝑥𝑖(𝑡)) < 𝑓(𝑃𝑏𝑒𝑠𝑡𝑖(𝑡)) então 𝑃𝑏𝑒𝑠𝑡𝑖(𝑡) = 𝑥𝑖(𝑡)
se 𝑓(𝑃𝑏𝑒𝑠𝑡𝑖(𝑡)) < 𝑓(𝐺𝑏𝑒𝑠𝑡(𝑡)) então 𝐺𝑏𝑒𝑠𝑡(𝑡) = 𝑃𝑏𝑒𝑠𝑡𝑖(𝑡)
• atualizar velocidade e posição de cada partícula
14
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
• Atualização do PSO (
parâmetros):
𝑣𝑖 𝑡 + 1 = 𝑤𝑣𝑖 𝑡 + 𝑐1𝑟1(𝑦𝑖 t − 𝑥𝑖 𝑡 )+ 𝑐2𝑟2(ŷ t − 𝑥𝑖 𝑡 ) 𝑥𝑖 𝑡 + 1 = 𝑥𝑖 𝑡 + 𝑣𝑖(𝑡 + 1)
– 𝑤 é o peso de inércia (momento). Seu valor geralmente decai linearmente de 0,9 a 0,4. Existem várias propostas de peso de inércia na literatura;
– 𝑟1 e 𝑟2 são ambas variáveis aleatórias contidas entre [0;1]. Representam o componente estocástico do algoritmo;
– 𝑐1e 𝑐2 são os coeficientes de aceleração pessoal e global que influenciam no tamanho máximo do passo que uma partícula pode dar em uma iteração.
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P
• Movimentação das partículas
– O vetor velocidade de cada partícula sofre a ação do ótimo individual e do ótimo global (melhor experiência do grupo).
– Geralmente as partículas ultrapassam o ponto de ótimo atual a partir de várias direções explorando regiões promissoras.
– Todas as partículas possuem a chance de descobrir um ótimo global e compartilhar com as demais.
16
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
Partículas ajustam suas posições de acordo com um “comprometimento psicossocial” entre o que um indivíduo se sente confortável, e o que a sociedade considera.
Estou aqui! Melhor posição de todas as partículas Minha melhor posição.
x
p
gp
iFigura 4 – deslocamento de uma partícula
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P
• Movimentação das partículas
– Os termos aleatórios inserem um caráter estocástico à busca.
– Os coeficientes c1 e c2 controlamo deslocamento das partículas.
0 < c1, c2 2 são os coeficientes de aceleração pessoal e global que influenciam no tamanho máximo do passo que uma partícula pode dar em uma iteração.
– O fator de inércia (w) controla o grau de exploração da busca – valor entre [0,4;0,9].
• Maior inércia = exploração em uma região maior. • Menor inércia = exploração em uma região menor.
18
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
– 𝑟 1 e 𝑟2 são valores aleatórios contidas no intervalo [0;1].
Muda em cada iteração.
– Para evitar a saturação da função é recomendado limitar a velocidade em [-4, 4]. 1 1 2 2
(
1)
( )
(
1)
ˆ
(
1)
. ( )
( ( )
( ))
( ( )
( ))
i i i i i i i ix t
x t
v t
v t
w v t
c r y t
x t
c r y t
x t
+ =
+
+
+ =
+
−
+
−
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P
• Peso de Inércia (w)
– Não era utilizado originalmente, mas se tornou padrão. – Controla o grau de convergência da busca
– Pode ser fixo, decrescente ou utilizar outra estratégia.
20 Sameh Kessentini and Dominique Barchiesi - Particle Swarm
Optimization with Adaptive Inertia Weight - International Journal of Machine Learning and Computing, Vol. 5, No. 5, October 2015.
Bansal, J.C., Singh, P.K., Saraswat, M., Verma, A., Jadon, S.S., & Abraham, A. 2011. Inertia Weight strategies in Particle Swarm Optimization. 2011 Third World Congress on Nature and Biologically Inspired Computing, 633-640.
Estudar os artigos
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
1 Constante 𝒘 = 𝟎, 𝟕 (SHI; EBERHART, 1998)
2 Randômico 𝒘 = 𝟎, 𝟓 +𝒓𝒂𝒏𝒅 𝟐 (EBERHART; SHI, 2001) 3 Decréscimo linear 𝒘 𝒕 = 𝒘𝒎𝒂𝒙 − 𝒘𝒎𝒂𝒙 − 𝒘𝒎𝒊𝒏 𝒕𝒎á𝒙 ∗ 𝒕 (SHI; EBERHART, 1999)
SHI, Y.; EBERHART, R. C. Empirical Study of Particle Swarm Optimization. Proceedings of the 1999 Congress on
Evolutionary Computation, CEC 1999, v. 3, p. 1945–1950, 1999.
EBERHART, R. C.; SHI, Y. Tracking and optimizing dynamic systems with particle swarms. Congress on Evolutionary Computation. Anais...Seoul: IEEE, 2001
SHI, Y.; EBERHART, R. C. Parameter Selection in Particle Swarm Optimization. Annual Conference on
Evolutionary Programming, v. 1447, p. 591–600, 1998. PESO DE INÉRCIA (W) 4 Acréscimo Sigmoidal 𝑤(𝑡) = 𝑤𝑠𝑡𝑎𝑟𝑡 − 𝑤𝑒𝑛𝑑 1 + 𝑒𝑢∗(𝑡−𝑛∗𝑡𝑚𝑎𝑥) + 𝑤𝑒𝑛𝑑 𝑢 = 10𝑙𝑜𝑔 𝑡𝑚𝑎𝑥 −2 (MALIK et al., 2007)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P
• PSO tradicional: As variáveis assumem valores
contínuos (nesta aula).
• PSO binário: As variáveis assumem valores zero ou
um.
• PSO seletivo: As variáveis assumem valores inteiros
pré-selecionados.
– Um algorítimo de PSO pode ser implementado para ter variáveis contínuas, binárias e discretas.
22
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o
em • EXEMPLO – Animação das partículas
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P 24
Ex. 1 - Encontrar o mínimo da função Griewank usando PSO.
Analisar o arquivo: SIGAA – exemplo-a10
http://www.sfu.ca/~ssurjano/griewank.html
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em
Ex. 2 - Encontrar o mínimo da função EGGHOLDER FUNCTION usando PSO.
http://www.sfu.ca/~ssurjano/egg.html
OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS (PSO)
Edmarcio Belati AB C /E ng. de Energia – Tópic os de Otim iza çã o em SE P
Trabalho - 10
Resolver o Ex. 2. Apresentar um estudo de convergência com base no algoritmo apresentado em sala. O estudo deve conter variações de estratégias das três propostas de peso de inércia apresentadas no slide 23; Utilizar os mesmos parâmetros de entrada em todas as simulações. Destacar a melhor estratégia de peso de inércia para cada caso. Sugestão: executar um número razoável para cada caso e apresentar os resultados utilizando um gráfico Box Plot;
26
Trabalho com até três integrantes. A entrega do trabalho deverá ser via
e-mail em arquivo pdf.
Descrição do trabalho: Apresentar uma descrição do problema tratado, a solução do problema, análises dos resultados.
O trabalho deve conter: capa, sumário, introdução, desenvolvimento,
análises, conclusão e referências.
No e-mail colocar a descrição: Trabalho 10 – TOSEPA-nome(s) ;
A data limite para entrega do trabalho: dia 06/12/2020;