critérios de parada aplicados ao algoritmo de

Propaganda
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
Download