Adaptação automática de algoritmos de otimização metaheurística - Carvalho, João Marcelo Fernandes de (2022)
A maioria dos problemas do mundo real tem uma multiplicidade de possíveis soluções. Além disso, usualmente, são encontradas limitações de recursos e tempo na resolução de problemas reais complexos e, por isso, frequentemente, não é possível aplicar um método determinístico na resolução desses problemas. Por este motivo, as meta-heurísticas têm ganho uma relevância significativa sobre os métodos determinísticos na resolução de problemas de otimização com múltiplas combinações. Ainda que as abordagens meta-heurísticas sejam agnósticas ao problema, os resultados da otimização são fortemente influenciados pelos parâmetros que estas meta-heurísticos necessitam para a sua configuração. Por sua vez, as melhores parametrizações são fortemente influenciadas pela meta-heurística e pela função objetivo. Por este motivo, a cada novo desenvolvimento é necessária uma otimização dos parâmetros das metas heurísticas praticamente partindo do zero. Assim, e, atendendo ao aumento da complexidade das meta-heurísticas e dos problemas aos quais estassão normalmente aplicadas, tem-se vindo a observar um crescente interesse no problema da configuração ótima destes algoritmos. Neste projeto é apresentada uma nova abordagem de otimização automática dos parâmetros de algoritmos meta-heurísticos. Esta abordagem não consiste numa pré-seleção estática de um único conjunto de parâmetros que será utilizado ao longo da pesquisa, como é a abordagem comum, mas sim na criação de um processo dinâmico, em que a parametrização é alterada ao longo da otimização. Esta solução consiste na divisão do processo de otimização em três etapas, forçando, numa primeira etapa um nível alto de exploração do espaço de procura, seguida de uma exploração intermédia e, na última etapa, privilegiando a pesquisa local focada nos pontos de maior potencial. De forma a permitir uma solução eficiente e eficaz, foram desenvolvidos dois módulos um Módulo de Treino e um Módulo de Otimização. No Módulo de Treino, o processo de fine-tuning é automatizado e, consequentemente, o processo de integração de uma nova meta-heurística ou uma nova função objetivo é facilitado. No Módulo de Otimização é usado um sistema multiagente para a otimização de uma dada função seguindo a abordagem de pesquisa proposta. Com base nos resultados obtidos através da aplicação de otimização por enxame de partículas e algoritmos genéticos a várias funções benchmark e a um problema real na área dos sistemas de energia, o Módulo de Treino permitiu automatizar o processo de fine-tuning e, consequentemente, facilitar o processo de introdução no sistema de uma nova meta-heurística ou de uma nova função relativa a um novo problema a resolver. Utilizando a abordagem de otimização proposta através do Módulo de Otimização, obtém-se uma maior generalização e os resultados são melhorados sem comprometer o tempo máximo para a otimização.