Algoritmos Evolutivos para Otimização Dinâmica Alunos: Guilherme Kricheldorf Marcos Vinícius Lenz Balatka William Pereira 1
Sumário Introdução Problemas de otimização dinâmica (POD) Definição Exemplos Algoritmos Evolutivos em problemas de otimização dinâmica Problema Estratégias Ferramentas Demonstração prática Considerações finais 2
Introdução A estocasticidade é inimiga da estaticidade Problema: o mundo é guiado por eventos estocásticos (isso é o que achamos, pelo menos) Devemos ser capazes de atacar problemas de natureza dinâmica 3
Problemas de Otimização Dinâmica (POD) 4
Definição Vários problemas do mundo real não se mantém com objetivos fixos durante seu tempo de execução. Algoritmos devem se adaptar para tais problemas. Peculiaridades podem alterar vários elementos como: Objetivos de otimização; Domínio/número das variáveis do problema; Restrições específicas do problema; e Parâmetros do ambiente. 5
Definição Foco em diminuir a convergência, técnicas são empregadas para manter a diversidade da população. Dependendo do problema, podem ocorrer duas abordagens específicas para medir a qualidade da solução: Rastreio do ponto ótimo móvel (Tracking moving optimum) Otimização robusta por tentativa (Robust optimization over time) 6
Definição A otimização dinâmica possui a dimensão do tempo, que torna os problemas muito mais complexos Mudanças no ambiente podem ocorrer continuamente ou de tempos em tempos Os algoritmos de otimização tem apenas um período de tempo restrito para fornecer uma nova aproximação ao problema e consequentemente um número limitado de avaliações de função 7
Definição Geralmente são criados problemas dinâmicos artificias para examinar as técnicas de otimização dinâmica A maneira mais simples de criar um problema dinâmico artificial é ter uma função de problema estacionário e movê-lo de acordo com o tempo É possível utilizar movimento linear, função seno, trajetória cíclica no espaço de busca, etc 8
Propriedades Velocidade da mudança: Lenta Rápida Severidade da mudança: Apenas mudanças leves no ambiente Mudanças drásticas no ambiente 9
Propriedades Periodicidade da mudança: Ambiente dinâmico cíclico: o ambiente retorna a alguns estados já observados anteriormente Mudanças completamente aleatórias 10
Exemplos Redes de transporte: tempo de viagem pode variar Logística: demanda de clientes pode mudar Finanças: bolsa de valores, forex Controle de fábrica: manter máquinas em operação e fluxo de operação 11
Exemplos Vamos classificar alguns dos exemplos! 12
Algoritmos Evolutivos em problemas de otimização dinâmica 13
Problema Algoritmos evolucionários padrão são projetados para problemas de otimização estacionária e sofre com o problema de convergência quando utilizados para resolver otimização dinâmicas. Uma vez que o AE converge para um ótimo sua população fica homogênea e o AE perde a capacidade de se adaptar a mudança no ambiente. 14
Solução Algumas técnicas ajudam a manter a diversidade alta São implementadas em conjunto as funções primárias de um algoritmo evolutivo 15
Detecção de mudanças Mudança conhecida: o ambiente muda de acordo com um esquema conhecido Detecção baseada na população: todos os membros da memória externa são reavaliados no final de cada iteração. A mudança no ambiente é detectada se pelo menos o fitness de um membro mudou Detecção baseada em sensores: calcula o fitness em pontos preestabelecidos (sensores) 16
Estratégias Baseados em memória: guardam e reutilizam informações Baseados em diversidade: agem na convergência diretamente Multi-população: subpopulações cooperam entre si Adaptativo: adaptam geradores e parâmetros Predição: preveem as mudanças e agem de acordo 17
Reinicio (restart) O mais simples de todos os métodos Quando uma mudança nos parâmetros é encontrada os valores são reinicializados como uma população inicial Não equivale a mutação Pode ser totalmente aleatório ou parcialmente 18
Reinicio (restart) Qual é o maior problema desta estratégia? 19
Reinicio (restart) Qual é o maior problema desta estratégia? Como solucionar este problema? 20
Hipermutação Estratégia simples, de fácil implementação Adaptativo Aumenta drasticamente a taxa de mutação por um determinado número de gerações para manter a diversidade alta. 21
Imigrantes aleatórios (Random Immigrants) Baseado em diversidade Porção da população é substituída a cada geração. Escolhe-se os piores indivíduos; ou Escolhe-se indivíduos aleatoriamente. 22
Imigrantes baseados em elitismo (Elitism-based Immigrants) Os imigrantes selecionados são os indivíduos de melhor fitness. Tais indivíduos variam com uma mutação normalizada 23
Compartilhamento do genotipo e fenotipo (Niching) Estratégia baseada em espalhar indivíduos entre picos da função Cada membro recebe um fitness compartilhado Quanto mais membros em um mesmo ponto, menor o fitness do grupo Exemplo: F(x) = sin(x²), D[-3,3] 24
Abordagem baseada em memória Técnica se baseia em uso de memória para conseguir melhor desempenho em várias interações do POD Interações anteriores do problema ajudam a resolver novas interações Especialmente benéfico em ambientes com mudanças periódica onde ocorrências se repetem 25
Abordagem baseada em memória Existem dois métodos principais para a esta abordagem, são eles: Memória implícita Memória explícita 26
Abordagem baseada em memória - Memória implícita Não armazena indivíduos completos que serão reinseridos na população Fornece um mecanismo onde partes de soluções anteriores ainda participam do processo evolucionário mas não sofrem a pressão seletiva As técnicas mais utilizadas são diplóides Dependendo de um mecanismo de dominância algumas informações recessivas permanecem no indivíduo ou é utilizado um interruptor para ativar algumas partes dos indivíduos 27
Abordagem baseada em memória - Memória implícita Pode desacelerar a convergência e favorecer a diversidade A abordagem diplóide é capaz de aprender duas soluções e alternar entre elas quase instantaneamente 28
Abordagem baseada em memória - Memória explícita Informações extra de indivíduos é diretamente guardada na memória em novas variáveis Várias formas de implementar esta técnica: Utilização de uma população externa a principal. Guardar indivíduos em uma FIFO e re-avaliar todos os fitness quando uma mudança no ambiente ocorrer Guardar indivíduos e informações do ambiente em que eles estavam 29
Abordagem baseada em memória - Memória explícita Deve ser levado em consideração para salvar um indivíduo: Fitness acima da média Indivíduos recentemente criados (a partir de crossover ou mutação) Indivíduos bem distribuídos no espaço de busca Estas características ajudam a manter o genótipo e melhorar o fenótipo 30
Multi-população Shifting balance A população principal explora a área promissora As colônias exploram o restante do espaço de busca 31
Multi-população Self-organizing scouts População principal explora o espaço de busca População filha é dividida em certas condições Populações filha exploram áreas promissoras limitadas 32
Considerações finais Problemas do mundo real, na sua maioria, são dinâmicos, o que dificulta a utilização de Ae s para sua otimização AE s padrão quando convergem para um solução perdem a capacidade de se adaptar a mudanças do ambiente Existem diversas técnicas que auxiliam os AE s a manterem a diversidade da população e otimizar problemas dinâmicos 33
Referências 2007 - Simões e Costa - Improving Memory-based Evolutionary Algorithms in Changing Environments 2013 - Yang e Yao - Evolutionary Computation for Dynamic Optimization Problems 2003 - Weicker - Evolutionary Algorithms and Dynamic Optimization Problems 2015 - Kubalik - Evolutionary Algorithms: Dynamic Optimization Problems 34