CRITÉRIOS DE PARADA APLICADOS AO ALGORITMO DE OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS.(1) JEFFERSON O. DOS SANTOS(2) Universidade Federal do Pampa, Alegrete, RS [email protected] João Plínio Juchem Neto(3) Universidade Federal do Pampa, Alegrete, RS [email protected] (1) Trabalho executado por iniciativa voluntária. Estudante. (3) Professor orientador. (2) RESUMO: Este trabalho apresenta dois critérios de parada aplicados ao algoritmo de otimização por enxame de partículas (PSO). Esse algoritmo utiliza princípios biológicos para otimização de funções. Os critérios de parada utilizados são analisados em experimentos para exemplificar o seu desempenho e o impacto nos resultados obtidos. O objetivo é mostrar a aplicação e a funcionalidade desses critérios de parada utilizando esse algoritmo. Os critérios de parada analisados no matlab, são aplicáveis e ambos convergem para a solução, porém eles se diferem no tempo de execução do algoritmo. A escolha do critério a ser adotado deve se dar considerando o problema a ser solucionado. Palavras-Chave: Otimização por Enxame de Partículas, Critérios de Parada, Otimização Funcional. INTRODUÇÃO No campo da engenharia é bem comum se deparar com problemas desprovidos de linearidade e que necessitam de exaustivo tratamento por métodos numéricos ou analíticos. Muitos desses problemas apresentam um alto grau de dificuldade na formulação da modelagem e sua solução via métodos tradicionais pode se mostrar bastante dispendioso ou mesmo inviável. Ultimamente a busca por soluções de problemas de otimização de processos complexos, tais como: controle de potência reativa e tensão (ABIDO, 2002), despacho econômico de carga (WANG; SINGH, 2009), tem-se baseado em metaheurísticas utilizando algoritmos computacionais inspirados em processos biológicos (SERAPIÃO, 2009). Esses algoritmos utilizam soluções factíveis para a formulação da população inicial e a mesma é melhorada baseada nas soluções individuais que devem interagir umas com as outras, levando a população a melhor solução. Esses algoritmos que utilizam populações são conhecidos como algoritmos evolutivos baseados em algoritmos de enxames de partículas ou PSO (SERAPIÃO, 2009). Os algoritmos de enxame de partículas apresentam uma abordagem simples que se baseia no comportamento coletivo e individual de uma população para perceber e modificar o meio propiciando uma organização dinâmica dos indivíduos para um fim que lhes convém (SERAPIÃO, 2009). Um método usual de parar um algoritmo evolutivo é estabelecer um número limite de iterações para os processos evolutivos. No entanto a eficiência desse critério depende diretamente do problema de otimização em questão, assim como das possíveis variações resultantes da aleatoriedade do algoritmo evolutivo empregado. Portanto, para um melhor desempenho do algoritmo, outros critérios de parada se fazem necessários (ZIELINSKI et al., 2005). O objetivo deste trabalho é utilizar o algoritmo de otimização por enxame de partículas para examinar a aplicabilidade de dois diferentes critérios de parada e caracterizá-los quanto à convergência, precisão da solução e tempo de processamento do algoritmo. METODOLOGIA Na otimização por enxame de partículas os indivíduos representam pontos no espaço de busca com dimensão igual ao número de variáveis a serem determinadas. Novos pontos são definidos no espaço de busca de acordo com o comportamento individual e coletivo das partículas, movimentando o enxame para a solução ótima. O algoritmo é executado repetidamente até que o critério de parada seja alcançado. O algoritmo de otimização foi utilizado para minimizar a função descrita pela eq.(1), função F6 de Schaffer, que é uma função clássica na condução de testes para otimização de funções. Bidimensional e apresentando vários mínimos locais, essa função alcança o mínimo global zero somente quando todas as variáveis atingem o valor zero (SERAPIÃO, 2009). sin2(√𝑥 21 + 𝑥 2 2 ) − 0,5 𝑓1 (𝑥⃗) = 0,5 + (1) 2 (1 + 0,001. (𝑥 21 + 𝑥 2 2 )) Anais do VII Salão Internacional de Ensino, Pesquisa e Extensão – Universidade Federal do Pampa Dois diferentes critérios de parada na evolução do algoritmo foram adotados. O primeiro critério utilizado foi verificar se o erro nas últimas g iterações é menor que o erro mínimo definido. O segundo critério considerado foi calcular as distâncias euclidianas entre as partículas da população e comparar com o erro mínimo estabelecido. Em ambos os critérios o algoritmo é repetido até que o critério de parada seja satisfeito, ou seja, quando o erro ou a distância euclidiana entre os pontos forem menor que o erro mínimo estabelecido à priori. RESULTADOS E DISCUSSÃO Os resultados dos experimentos computacionais implementados em MATLAB que foram conduzidos para avaliação do desempenho dos critérios aplicados ao algoritmo podem ser apreciados na tabela 1. Tabela 1 - Resultados dos Métodos Aplicados Critério 1 Soluções Tempo de N° de Ótimas Execução (s) Iterações Critério 2 Soluções Ótimas Tempo Execução (s) Média 1,1640E-06 1,08503 4300 2,337E-15 2135,59 7300618 Desvio Padrão 1,015E-06 0,320288 1268,8578 2,6803E-15 601,775871 2101767 de N° de Iterações Fonte: Elaborado pelo autor. Foi realizado 10 experimentos para cada método aplicado. A cada experimento as partículas foram iniciadas com valores aleatórios. A partir das soluções ótimas de cada experimento foi calculado a média e o desvio padrão para os resultados dos dois métodos, como apresentado na tabela 1. O critério 2 apresenta uma melhor média para o valor mínimo da função, no entanto a média do número de iterações é sensivelmente maior que o critério 1. As figuras 1 e 2 mostram os gráficos das melhores soluções obtidas entre os 10 experimentos realizados para cada critério de parada aplicado. Para o critério 1 o algoritmo converge para o mínimo da função na ordem de 103 iterações enquanto que o critério 2 converge na ordem de 106 iterações. Figura 1 – Solução Ótima aplicando o critério 1. Figura 2 – Solução Ótima aplicando o critério 2. CONCLUSÕES Os dois critérios de parada analisados são aplicáveis, pois ambos convergem para a solução. No entanto, eles diferem substancialmente no tempo de execução do algoritmo. O critério 1 permite uma convergência mais rápida com solução menos precisa ao passo que o critério 2, por realizar mais iterações, necessita de um tempo maior para convergir, porém obtém resposta mais precisa. A escolha entre um método ou outro deve se dar na necessidade de obter uma solução mais ou menos precisa, o que depende do problema a ser resolvido. REFERÊNCIAS [1] Serapião, A. B. S. Fundamentos de otimização por inteligência de enxames: uma visão geral. Controle & Automação Sociedade Brasileira de Automatica 20.3 (2009): 271-304. [2] Zielinski, K.; Dagmar, P.; Rainer, L. Stopping criteria for single-objective optimization. Proceedings of the Third International Conference on Computational Intelligence, Robotics and Autonomous Systems. 2005. [3] Wang, L.; Singh C. Reserve-constrained multiarea environmental/economic dispatch based on particle swarm optimization with local search. Engineering Applications of Artificial Intelligence 22.2 (2009): 298-307. [4] Abido, M. A. Optimal design of Power System Stabilizers Using Particle Swarm Optimization. Power Engineering Review, IEEE 22.7 (2002): 53-53. Anais do VII Salão Internacional de Ensino, Pesquisa e Extensão – Universidade Federal do Pampa