allan fonseca da silva - objdig.ufrj.brobjdig.ufrj.br/60/teses/coppe_m/allanfonsecadasilva.pdf ·...
Post on 31-Aug-2018
221 Views
Preview:
TRANSCRIPT
ANÁLISE DE UMA TÉCNICA DE PENALIZAÇÃO ADAPTATIVA
APLICADA AO ALGORITMO DE OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS
Allan Fonseca da Silva
Dissertação de Mestrado apresentada ao
Programa de Pós‐Graduação em Engenharia
Civil, COPPE, da Universidade Federal do Rio de
Janeiro, como parte dos requisitos necessários à
obtenção do título de Mestre em Ciências em
Engenharia Civil.
Orientadores: Beatriz de Souza Leite Pires de
Lima
Afonso Celso de Castro Lemonge
Rio de Janeiro
Agosto de 2010
ANÁLISE DE UMA TÉCNICA DE PENALIZAÇÃO ADAPTATIVA
APLICADA AO ALGORITMO DE OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS
Allan Fonseca da Silva
DISSERTAÇÃO SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ
COIMBRA DE PÓS‐GRADUAÇÃO E PESQUISA DE ENGENHARIA (COPPE) DA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS
NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS EM
ENGENHARIA CIVIL.
Examinada por:
__________________________________________________________________Profª. Beatriz de Souza Leite Pires de LimaD.Sc.
__________________________________________________________________Prof. Afonso Celso de Castro Lemonge, D.Sc.
__________________________________________________________________Prof. Breno Pinheiro Jacob, D.Sc.
__________________________________________________________________Prof. Carl Horst Albrecht, D.Sc.
RIO DE JANEIRO, RJ, BRASIL
AGOSTO DE 2010
iii
Silva, Allan Fonseca da
Análise de uma técnica de penalização adaptativa
aplicada ao algoritmo de otimização por enxame de
partículas/Allan Fonseca da Silva. ‐ Rio de Janeiro:
UFRJ/COPPE, 2010.
XII, 82 p.: il.; 29,7 cm.
Orientadores: Beatriz de Souza Leite Pires de Lima e
Afonso Celso de Castro Lemonge
Dissertação (mestrado) ‐ UFRJ/COPPE/ Programa de
Engenharia de Civil, 2010.
Referências Bibliográficas: p. 73‐82.
1. Otimização. 2. Algoritmos Evolutivos. 3. Enxame de
Partículas. 4. Métodos de Penalização. I Lima , Beatriz de
Souza Leite Pires etal. II. Universidade Federal do Rio de
Janeiro, COPPE, Programa de Engenharia Civil. III. Título.
iv
Agradecimentos
A Deus.
À minha mãe Alacyr e minha avó Helena (in memorian) pela vida e criação
exemplar.
À meu pai Newton (in memorian) pelos momentos que passamos juntos.
Ao meu irmão Paulo Henrique pelo constante apoio.
A minha esposa Thaís e minha filha Lara, razões do meu viver.
A professora Beatriz e ao professor Afonso pela orientação, apoio,
ensinamentos e amizade.
Aos amigos Vinicius (Sossô) e Thiago (Motoboy) que por várias vezes me
acompanharam em minhas viagens ao Rio.
Aos amigos do curso Ian, Cristian e Marcelo que foram modelos a serem
seguidos
A todos os colegas do curso, companheiros fiéis de todas as horas.
Ao corpo docente e aos funcionários do Programa de Engenharia Civil, pelo
convívio.
v
Resumo da Dissertação apresentada à COPPE/UFRJ como parte dos requisitos necessários para
a obtenção do grau de Mestre em Ciências (M.Sc.)
ANÁLISE DE UMA TÉCNICA DE PENALIZAÇÃO ADAPTATIVA APLICADA AO
ALGORITMO DE OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS
Allan Fonseca da Silva
Agosto/2010
Orientadores: Beatriz de Souza Leite Pires de Lima
Afonso Celso de Castro Lemonge
Programa: Engenharia Civil
O uso de algoritmos evolutivos vem se expandindo ao longo dos anos, em especial a
utilização da técnica de Enxame de Partículas conhecida como PSO (Particle Swarm
Optimization), para a solução de problemas de otimização. O PSO, além de ser de fácil
implementação computacional, pode ser considerado um algoritmo robusto, eficiente e
competitivo perante os demais algoritmos populacionais inspirados na natureza. O PSO não
necessita de funções objetivo que sejam deriváveis nem mesmo a introdução de
conhecimentos específicos sobre os problemas em que se deseja otimizar. Neste trabalho, são
analisados alguns problemas de otimização com restrições onde um PSO clássico os trata como
sendo sem restrições através da introdução de um esquema de penalização adaptativa – APM
(Adaptive Penalty Method). O APM trata restrições de igualdade e desigualdades; não
demanda o conhecimento explícito das restrições como funções das variáveis do problema; é
livre de parâmetros a serem definidos pelo usuário e; é de fácil implementação computacional.
vi
Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Master of Science (M.Sc.)
ANALYSIS OF AN ADAPTIVE PENALTY METHOD
APPLIED TO THE PARTICLE SWARM OPTIMIZATION ALGORITHM
Allan Fonseca da Silva
Agosto/2010
Advisors: Beatriz de Souza Leite Pires de Lima
Afonso Celso de Castro Lemonge
Department: Civil Engineering
The use of evolutionary algorithms has been expanding over the years, especially the
use of the technique known as PSO (Particle Swarm Optimization) to solve optimization
problems. The PSO is easy to implement and can be considered a robust, efficient and
competitive with respect to other nature inspired algorithms. The PSO does not require
objective functions that are derivable nor the introduction of specific knowledge about the
problems to be optimized. In this work we analyze some problems of optimization with
constraints where a classic PSO treats them as being without limitation by introducing an
adaptive penalty scheme - APM (Adaptive Penalty Method). The APM can handle equality and
inequality constraints, does not demand the explicit knowledge of the constraints as functions
of the variables of the problem, it is free of parameters to be defined by the user and is of
aneasy computational implementation.
vii
Sumário
1 INTRODUÇÃO......................................................................................................................1
2 OTIMIZAÇÃO.......................................................................................................................5
2.1 Introdução.................................................................................................................5
2.2 OtimizaçãoporAlgoritmosDeterminísticos.................................................7
2.2.1 Programação Linear ...................................................................................... 8
2.2.2 Programação Inteira ...................................................................................... 9
2.3 OtimizaçãoporAlgoritmosProbabilísticos................................................10
2.3.1 Busca Tabu .................................................................................................. 10
2.3.2 Recozimento Simulado ................................................................................ 11
2.3.3 Algoritmos Evolutivos.................................................................................. 12
3 OTIMIZAÇÃOATRAVÉSDEENXAMEDEPARTÍCULAS.......................................18
3.1 Introdução..............................................................................................................18
3.2 AlgoritmoPSOBásico.........................................................................................19
3.3 DescriçãodoAlgoritmo.....................................................................................20
3.4 AtualizaçãodosParâmetros............................................................................21
3.5 AplicaçõesdoPSO................................................................................................22
4 ESTRATÉGIASDEPENALIZAÇÃO...............................................................................23
4.1 Introdução..............................................................................................................23
4.2 PenalidadesEstáticas.........................................................................................24
4.3 PenalidadesDinâmicas......................................................................................25
4.4 PenalidadesAdaptativas...................................................................................26
4.5 TécnicasdePenalizaçãoAplicadasaoPSO.................................................27
viii
4.6 AbordagensRecentesparaoTratamentodeRestrições.......................29
4.7 ATécnicadePenalizaçãoAdaptativaAPM..................................................30
5 EXPERIMENTOSNUMÉRICOS.....................................................................................34
5.1 Introdução..............................................................................................................34
5.2 FunçõessemRestrições.....................................................................................35
5.3 FunçõescomRestrições.....................................................................................36
5.3.1 Definição e Ajuste dos Parâmetros do PSO .................................................. 37
5.3.2 Resultados Obtidos ..................................................................................... 37
5.3.3 Estudo Comparativo dos Resultados ............................................................ 49
5.4 ProblemasClássicosdaMecânicaEstrutural.............................................59
5.4.1 Vaso de Pressão .......................................................................................... 59
5.4.2 Viga Soldada ............................................................................................... 61
5.4.3 Redutor de Velocidade ................................................................................ 62
5.4.4 Treliça de 10 Barras ..................................................................................... 64
5.5 OutrosProblemas................................................................................................66
5.5.1 Resultados Obtidos ..................................................................................... 68
6 CONCLUSÃO......................................................................................................................70
REFERÊNCIAS........................................................................................................................73
ix
ListadeFiguras
Figura 2.1. Técnicas de busca. .......................................................................................... 7
Figura 2.2. Estrutura do sistema imunológico. ............................................................... 15
Figura 2.3. Processo de busca através da técnica de colônia de formigas: (a) busca
aleatória, (b) localização inicial e formação da trilha de feromônio e (c) trilha
de feromônio já formada. ............................................................................. 16
Figura 3.1. Variação de w em relação ao coeficiente n. ................................................. 22
Figura 4.1. Determinação da função f . ....................................................................... 32
Figura 5.1. Evolução da Aptidão para as funções: (a) G01 e (b) G02 ............................. 52
Figura 5.2. Evolução da Aptidão para as funções: (a) G03 e (b) G04 ............................. 53
Figura 5.3. Evolução da Aptidão para as funções: (a) G05 e (b) G06 ............................. 53
Figura 5.4. Evolução da Aptidão para as funções: (a) G07 e (b) G08 ............................. 54
Figura 5.5. Evolução da Aptidão para as funções: (a) G09 e (b) G11 ............................. 54
Figura 5.6. Evolução da Aptidão para as funções: (a) G12 e (b) G13 ............................. 55
Figura 5.7. Evolução da Aptidão para a função G15 ...................................................... 55
Figura 5.8. Geração onde houve a convergência para as funções: (a) G01 e (b) G02 ... 57
Figura 5.9. Geração onde houve a convergência para as funções: (a) G03 e (b) G04 ... 57
Figura 5.10. Geração onde houve a convergência para as funções: (a) G05 e (b) G06 . 57
Figura 5.11. Geração onde houve a convergência para as funções: (a) G07 e (b) G08 . 58
Figura 5.12. Geração onde houve a convergência para as funções: (a) G09 e (b) G11 . 58
x
Figura 5.13. Geração onde houve a convergência para as funções G01 a G11 ............. 58
Figura 5.14. Vaso de pressão .......................................................................................... 60
Figura 5.15. Viga soldada ................................................................................................ 61
Figura 5.16. Redutor de Velocidade ............................................................................... 62
Figura 5.17. Treliça de 10 Barras .................................................................................... 64
xi
ListadeTabelas
Tabela 5.1. Limites das variáveis e ótimo global conhecido das funções sem restrição 35
Tabela 5.2. Resultados das execuções com 5x103 avaliações ........................................ 36
Tabela 5.3. Resultados das execuções 5x104 avaliações ................................................ 36
Tabela 5.4. Resultados das execuções 5x105 avaliações ................................................ 36
Tabela 5.5. Limites das variáveis e ótimo global conhecido das funções G ................... 37
Tabela 5.6. Resultados das execuções utilizando o APMcom 5x103 avaliações ............ 41
Tabela 5.7. Resultados das execuções utilizando o APM com 5x104 avaliações ........... 42
Tabela 5.8. Resultados das execuções utilizando o APM com 5x105 avaliações ........... 42
Tabela 5.9. Resultados das execuções utilizando o APM-Mcom 5x103 avaliações ....... 43
Tabela 5.10. Resultados das execuções utilizando o APM-Mcom 5x104 avaliações ..... 43
Tabela 5.11. Resultados das execuções utilizando o APM-Mcom 5x105 avaliações ..... 44
Tabela 5.12. Resultados das execuções utilizando o APM-Ecom 5x103 avaliações ....... 44
Tabela 5.13. Resultados das execuções utilizando o APM-Ecom 5x104 avaliações ....... 45
Tabela 5.14. Resultados das execuções utilizando o APM-Ecom 5x105 avaliações ....... 45
Tabela 5.15. Resultados das execuções utilizando o APM-A com 5x103 avaliações ...... 46
Tabela 5.16. Resultados das execuções utilizando o APM-A com 5x104 avaliações ...... 46
Tabela 5.17. Resultados das execuções utilizando o APM-A com 5x105 avaliações ...... 47
Tabela 5.18. Resultados das execuções utilizando o APM-V com 5x103 avaliações ...... 47
Tabela 5.19. Resultados das execuções utilizando o APM-V com 5x104 avaliações ...... 48
xii
Tabela 5.20. Resultados das execuções utilizando o APM-V com 5x105 avaliações ...... 48
Tabela 5.21. Comparativo dos resultados das execuções do APM e suas variantes com
5x105 avaliações da função objetivo ............................................................. 49
Tabela 5.22. Comparativo dos resultados obtidos com a utilização do APM ................ 50
Tabela 5.23. Comparativo dos resultados obtidos com a utilização do APM Original .. 56
Tabela5.24. Resultado das execuções para o problema do Vaso de Pressão utilizando-
se o PSO ......................................................................................................... 60
Tabela 5.25. Resultado das execuções para o problema do Vaso de Pressão em
(Barbosa e Lemonge, 2008) ........................................................................... 60
Tabela 5.26. Resultado das execuções para o problema do Viga soldada ..................... 62
Tabela 5.27. Resultado das execuções para o Redutor de Velocidade .......................... 63
Tabela 5.28. Resultados das execuções para o problema da Treliça de 10 Barras
contínuo ......................................................................................................... 65
Tabela 5.29. Comparativo dos Resultados das execuções para o problema da Treliça de
10 Barras contínuo ........................................................................................ 65
Tabela 5.30. Comparativo dos Resultados das execuções para o problema da Treliça de
10 Barras discreto .......................................................................................... 66
Tabela5.31. Limites das variáveis e ótimos global conhecidos das funções .................. 67
Tabela 5.32. Resultados das execuções para o problema P01....................................... 68
Tabela 5.33. Resultados das execuções para o problema P02....................................... 68
Tabela 5.34. Resultados das execuções para o problema P03....................................... 68
Tabela 5.35. Resultados das execuções para o problema P04....................................... 69
Tabela 5.36. Comparativo dos resultados obtidos com a utilização do APM ................ 69
1
Capítulo1
1 Introdução
Em diversas áreas da atividade humana onde existe uma escassez de certo
produto ou matéria prima por sua dificuldade de produção e/ou obtenção tem-se um
problema para se empregar estes recursos escassos de forma eficiente e eficaz. Busca-
se, portanto, maximizar ou minimizar uma quantidade (lucro, custo, receita, número
de produtos, entre outros), chamada de objetivo, que depende de um ou mais
recursos escassos.
A solução deste tipo de problema, ou seja, a localização de um valor mínimo ou
máximo para o mesmo, tem sido uma meta desejada há vários anos. Este processo de
localização da solução é conhecido como otimização. Otimizar um problema significa
achar as grandezas, quantidades, variáveis, etc. que melhor representam o objetivo a
ser alcançado.
Quando se fala em otimização de problemas que envolvem a utilização de
recursos, cálculo de lucro ou custos e etc. é possível associar a estes problemas uma
função matemática que os represente de forma satisfatória e o processo de se localizar
uma solução ótima se torna um problema de otimização. Este problema é baseado na
localização de um ponto, no espaço de busca que esta função apresenta, que melhor
satisfaça as necessidades representadas por ela, por exemplo, a menor utilização de
recursos ou o maior lucro com o menor custo.
Esta função que representa o problema a ser otimizado é chamada de função
objetivo, o número de variáveis que a definem indicam as dimensões do espaço de
2
busca e uma solução qualquer deste problema é um conjunto de valores atribuídos
para cada uma destas variáveis. Este conjunto de valores operados na função objetivo
resultam no valor desta função e é este que se deseja otimizar.
Ainda nestes problemas de otimização pode ocorrer a necessidade de se tratar
limitações envolvendo as variáveis utilizadas como, por exemplo, em um problema de
maximizar a produção de determinado item, a quantidade de material mínimo para a
produção deste item pode ser uma limitação bem como o número de horas que uma
máquina necessita para a produção deste mesmo item. Estas limitações são
conhecidas como restrições.
O processo de otimização desta função objetivo é o de localização de um valor
ótimo para esta função e existem diversas técnicas disponíveis na literatura para este
fim. Dentre estas técnicas podem-se citar os métodos tradicionais de otimização de
natureza determinística onde se destacam os de programação matemática (Bazarra et
al., 2006). Uma alternativa aos métodos clássicos de otimização são os algoritmos
probabilísticos com soluções inspiradas na natureza. Estes, também chamados de
algoritmos evolutivos, têm sido amplamente usados em problemas de otimização
podendo ser considerados robustos, eficientes e de fácil implementação
computacional.
Uma parcela representativa dos problemas de otimização das mais diversas
origens apresentam restrições nas suas formulações. Estas, em geral, adicionam
complexidade tanto na formulação quanto na obtenção das soluções desejadas. O
tratamento de restrições não é uma tarefa trivial. Na literatura são encontradas
inúmeras estratégias para o tratamento de restrições nos problemas de otimização.
Algumas técnicas para o tratamento de restrições neste problemas, por
exemplo, dizem respeito à transformação do problema com restrições em um
problema. sem restrições através da consideração de funções de penalização. Ente
outras, pode-se adotar também (Coello, 2001): (i) representação especial dos
operadores; (ii) algoritmos de reparação da função objetivo; (iii) separação da função
objetivo das restrições e, (iv) utilização de métodos híbridos.
O processo de otimização em geral é bastante custoso e demorado, os
algoritmos, por mais eficientes que sejam ainda estão longe de serem ótimos,
3
principalmente se aplicados a problemas de alta complexidade. Desta forma, a
melhora no desempenho no processo de otimização é uma meta constantemente
perseguida e novas tentativas para atingir esta meta estão sempre sendo propostas.
Esta dissertação tem por objetivo resolver problemas de otimização com
restrições, transformados em problemas sem restrições através da consideração de
funções de penalização. A técnica de penalização adotada é introduzida em um
algoritmo populacional inspirado em enxame de partículas denominado na língua
inglesa como PSO – Particle Swarm Optimization, inicialmente introduzido por
(Kennedy e Eberhart, 1995).
A técnica de penalização adaptativa proposta por (Lemonge e Barbosa, 2004)
bem como suas variantes disponibilizadas na literatura por (Barbosa e Lemonge, 2008)
são incorporadas ao PSO para a busca das soluções dos problemas de otimização
discutidos neste texto.
Propõe-se neste trabalho efetuar implementações para incorporar o APM a um
PSO esperando um desempenho satisfatório, através da obtenção de resultados
competitivos, nos problemas com restrições a serem abordados. Tais problemas são
exaustivamente testados na literatura e referem-se a otimização de funções com
origem na matemática aplicada ou, por exemplo, como os destacados neste texto, da
engenharia mecânica/estrutural.
Esta dissertação está organizada da seguinte forma. No Capítulo 2 são
abordadas algumas das técnicas de otimização disponíveis na literatura. As técnicas
citadas pertencem a dois grandes grupos: Programação Matemática e Algoritmos
Evolutivos e para cada um destes grupos é apresentada uma visão geral das principais
técnicas disponíveis. O Capítulo 3 detalha a técnica de otimização por enxame de
partículas PSO. São apresentados seu histórico e embasamento natural, o algoritmo
básico e suas formulações. Também são citados os parâmetros do algoritmo e suas
variantes. O Capítulo 4 apresenta as técnicas de penalização a serem aplicadas aos
algoritmos para a resolução de problemas de otimização com restrição. É feita uma
divisão destas técnicas em seis grupos e, para cada um deles, é feita uma análise dos
métodos e funções aplicados. Já no Capítulo 5 são apresentados os experimentos
numéricos realizados para validação e avaliação do desempenho do algoritmo
4
evolutivo PSO associado à técnica de penalização adaptativa APM. São definidos os
parâmetros do algoritmo PSO utilizados nos experimentos e as funções com sua
formulação, limites e ótimo conhecido. São feitas ainda comparações dos resultados
obtidos com outros disponíveis na literatura. Por fim, no Capítulo 6 o trabalho é
concluído e são apresentadas sugestões para futuros trabalhos e continuidade da
pesquisa realizada.
5
Capítulo2
2 Otimização
2.1 Introdução
Um problema de otimização é aquele em que se deseja localizar a melhor
solução dentro de um grupo de soluções possíveis ou factíveis e para cada problema
existe um processo decisório a ser tomado que define se uma solução é factível ou não
através de uma ou mais medidas relacionadas ao que se deseja otimizar.
Nos problemas de otimização existe um objetivo a ser maximizado ou
minimizado que é descrito através de uma função chamada função objetivo que
contém as variáveis de decisão ou variáveis de projeto. Quando o problema apresenta
restrições estas podem ser descritas através de equações ou inequações.
Para formular corretamente um problema de otimização é preciso definir
corretamente os objetivos que se pretende alcançar com a resolução do problema e
identificar as restrições existentes, definidas pelas relações de interdependências entre
as variáveis que integram o sistema.
Um problema de otimização pode ser escrito conforme a equação (2.1) a seguir
(Lemonge, 1999) onde x representa o vetor de variáveis do problema, )(xf é a
função objetivo e )(xgi e )(xhi são, respectivamente, as restrições de igualdade e
desigualdade relacionadas ao problema e que podem ser funções lineares ou não
lineares do vetor de variáveis do problema. A otimização com restrições é mais
6
complexa e pode requerer estratégias específicas na formulação do problema para que
essas sejam satisfeitas.
{ }nixxxxXx
liparaxhmiparaxgasujeito
xfminimize
Uii
Li
n
ni
i
,...,2,1,:
,...,10)(,...,10)(
)(
=≤≤ℜ∈=
ℜ∈
===≤
(2.1)
O conjunto X é um paralelepípedo em nℜ definido pelos limites inferior e
superior pré-estabelecidos para as variáveis do problema. Um vetor Xx∈ que satisfaz
a todas essas restrições é chamado de uma solução factível do problema. O conjunto
de todas as soluções factíveis é chamado de região factível. A solução do problema de
minimização é dita solução ótima e existindo mais de uma solução ótima estas são
ditas soluções ótimas alternativas.
O conjunto de variáveis do problema que proporciona o menor valor da função
objetivo, no caso de minimização, entre todas as combinações possíveis entre os
valores das variáveis, é chamado de mínimo global. Em geral, é difícil afirmar que tal
valor é global devido à possibilidade de existência de vários mínimos locais e, assim,
somente um deles será o global. O que se pode afirmar é que o valor encontrado é
mínimo numa vizinhança do espaço de busca.
A modelagem do problema deve refletir sua essência, representando as
relações de interdependência existentes entre todas as componentes da situação em
estudo. Um modelo de otimização pode ser definido por:
Um número n de decisões a serem tomadas, denominadas variáveis de
decisão;
Uma função matemática que representa a medida da vantagem
(desvantagem) da tomada de decisão denomina função objetivo;
Um conjunto de restrições associadas às variáveis de decisão
denominadas restrições do modelo e;
Um conjunto de constantes (coeficientes) da função objeto e das
restrições denominadas parâmetros do modelo.
7
Após a definição correta do problema a ser otimizado é necessário efetuar a
localização das soluções factíveis e, dentre estas, aquela que será considerada a
solução ótima. Este processo de localização pode ser feito de diversas maneiras como
pode ser visto na Figura 2.1, extraída de (Sivanandam e Deepa, 2008).
Figura 2.1. Técnicas de busca.
Quando o problema de otimização analisado é de baixa complexidade, uma
busca exaustiva pode ser viável. Esta busca se baseia em enumerar todas as soluções
possíveis para o problema definindo valores para cada uma das variáveis e operando a
função objetivo para se obter o valor desta solução. Este tipo de abordagem se torna
inviável quando o número de soluções possíveis cresce. Neste caso, existem diversas
técnicas disponíveis para otimização e será dado destaque às determinísticas onde as
mais conhecidas são a programação linear e programação inteira e as probabilísticas
onde se destacam os algoritmos evolutivos com soluções inspiradas na natureza como
algoritmos genéticos, algoritmos meméticos, sistemas imunológico artificiais, colônia
de formigas, enxame de partículas, dentre outras.
2.2 OtimizaçãoporAlgoritmosDeterminísticos
Uma das áreas da otimização muito utilizada para otimização é a Programação
Matemática. Por ser esta área muito extensa, ela é subdividida em subáreas que
agrupam os problemas a partir do tipo da função objetivo, das restrições e das
8
características das variáveis envolvidas. Entre outras se podem citar: (i) Programação
Linear e (ii) Programação Inteira.
2.2.1 ProgramaçãoLinear
O método mais conhecido para otimização utilizando-se a programação linear é
o método Simplex (Siddall, 1982).
O método simplex permite resolver um problema de programação linear
determinando a solução ótima de um problema, ou permite concluir que o problema é
inviável ou ilimitado. O modelo de programação linear sempre apresenta um conjunto
de equações ou inequações que corresponde às restrições do problema e uma função
que se deseja maximizar ou minimizar. As restrições, em geral, podem ser
transformadas em um sistema indeterminado de equações onde suas soluções
correspondem a um conjunto convexo. A solução de interesse, a que otimiza a função
objeto, sempre será um ponto extremo deste conjunto convexo de soluções factíveis e
estes pontos extremos correspondem às soluções básicas do sistema de equações. O
número destes pontos extremos, ou seja, das soluções básicas pode ser muito grande
e cresce exponencialmente com o número de variáveis. O método simplex deve vencer
duas dificuldades claramente apresentadas (Maros, 2003):
Obter soluções factíveis básicas do sistema de equações.
Evitar o teste de todas as soluções básicas para garantir a otimização de
problema.
Para que um problema de programação linear possa ser resolvido pelo método
simplex, este problema precisa estar na forma padrão conforme demonstrado na
equação (2.2) e existem diversas técnicas para converter a formulação de um
problema para forma padrão como a conversão de desigualdades em igualdades
através da adição/subtração de uma constante, a remoção de variáveis sem restrição
de sinal, a conversão de variáveis negativas em positivas através da multiplicação por
um valor negativo unitário, etc.
9
Na equação (2.2) Tc representa a matriz de coeficientes da função objetivo,
A representa a matriz de coeficientes das restrições e b a matriz coluna do lado
direito das restrições.
≥=
+=
0
)(
xbA
asujeito
dxcZMaxMin
x
T
(2.2)
2.2.2 ProgramaçãoInteira
Qualquer problema de decisão no qual variáveis devam assumir valores
discretos é um problema de Otimização Inteira.
Até o início dos anos 50 os problemas inteiros eram tratados como problemas
de matemática pura. A importância da Programação Inteira na solução de problemas
práticos resultou de avanços importantes da Programação Linear nesta década.
A formulação geral de um problema de programação inteira pode ser escrita
como na equação (2.3) onde 0g é a função a ser minimizada ou maximizada e que
representa o problema estudado, nxxx ,,, 21 K representam as variáveis do problema,
ig representa as funções de restrição do problema, ib é o valor associado à restrição,
i representa o índice de uma restrição, T é o conjunto dos índices das restrições e t
é o total de restrições, j é índice de uma variável, N é o conjunto dos índices das
variáveis e n é o total de variáveis e, por fim I é um subconjunto de N .
Na programação inteira existem vários métodos para a localização do ótimo,
dentre eles pode-se citar: arredondamento da solução ótima contínua, branch-and-
bound, branch-and-cut, branch-and-price e branch-and-cut-and-price.
10
[ ] { }
MistaInteiraogramaçãoNIsePuraInteiraogramaçãoNIse
NIjeirox
nNjxtTibxxxg
asujeito
xxxgZMaxMin
j
j
ini
n
Pr,Pr,
,int},2,1{,0
,,2,1,,,),,,(
),,,()(
21
210
⊂≡
⊆∈
≡∈≥≡∈≥=≤
=
K
KK
K
(2.3)
2.3 OtimizaçãoporAlgoritmosProbabilísticos
As técnicas probabilísticas são baseadas na enumeração de soluções mas com a
utilização de informações adicionais para dirigir a busca. Dentre as técnicas disponíveis
na literatura pode-se citar: (i) Busca Tabu; (II) Recozimento Simulado e, (iii) Algoritmos
Evolutivos.
2.3.1 BuscaTabu
De acordo com (Adamset al., 1988) a busca tabu se originou em uma
alternativa para solução de problemas de programação inteira sendo que
posteriormente seu método foi modificado para uso geral em problemas de
otimização combinatória. A busca tabu, foi projetada para localizar aproximações
razoavelmente boas para a solução ótima global de qualquer problema de otimização.
Esta técnica define três princípios fundamentais (Glover e Laguna, 1997):
1. Armazenar o histórico da evolução do processo de busca através de um
estrutura de dados do tipo lista;
2. Utilização de uma forma de controle para balancear a aceitação ou não
de uma nova configuração a partir das informações armazenadas na
estrutura de dados referentes às restrições desejadas e;
3. Utilização de procedimentos para alternar as estratégias de
diversificação e intensificação.
A busca tabu é baseado em busca local onde a cada iteração do algoritmo é
feita uma procura de uma nova solução vizinha preferencialmente de menor custo. O
11
algoritmo sempre aceita uma nova solução que possuir menor custo e armazena a
melhor solução encontrada durante sua execução (Glover e Laguna, 1997). A busca
tabu se utiliza da memória para evitar que sejam visitadas soluções que já foram
encontradas, para explorar regiões não visitadas dentro do espaço de busca e
melhorar o processo de tomada de decisão.
2.3.2 RecozimentoSimulado
Recozimento é o nome dado ao processo utilizado para fundir um metal, onde
este é aquecido a altas temperaturas e, em seguida, resfriado lentamente de tal forma
que o resultado final seja uma massa homogênea.
O recozimento simulado como técnica de otimização foi introduzido por
(Kirkpatricket al., 1983) e é um método baseado em busca local que aceita
movimentos onde se obtém resultados piores como forma de escapar de ótimos
locais.
O processo de recozimento simulado é feito de forma análoga ao processo de
fundição de um metal, o algoritmo substitui uma solução atual por outra próxima
pertencente a sua vizinhança no espaço de soluções. Esta solução próxima é
selecionada com base na função objetivo do problema em questão em conjunto com
um parâmetro T que representa a temperatura. Quanto maior for o valor desta
temperatura, maior será o componente aleatório inserido na próxima solução
escolhida. Na evolução do processo, o valor da temperatura é reduzido fazendo com
que o algoritmo seja direcionado para uma solução ótima, necessariamente local.
De acordo com (Dowsland, 1993) o algoritmo de recozimento simulado pode
ser dividido em duas grandes buscas sobrepostas:
1. A interna onde se encontra o processo de otimização onde para uma
temperatura determinada faz-se a exploração da vizinhança aceitando
ou não os movimentos apresentados.
2. A externa onde é feito o controle do término do processo baseado no
resfriamento dos estados, ou seja, quando não houver mais chances de
se achar uma solução melhor ao se continuar a exploração.
12
Uma das principais vantagens deste algoritmo é permitir testar soluções mais
distantes da solução atual e dar mais independência do ponto inicial da pesquisa.
2.3.3 AlgoritmosEvolutivos
Algoritmos evolutivos são uma classe de algoritmos baseados na observação da
evolução biológica. Estes algoritmos surgiram da observação de fenômenos naturais
que são capazes de resolver problemas de alta complexidade como a sobrevivência de
um grupo de indivíduos com escassez de alimento ou a localização do alimento em um
espaço de busca.
Os algoritmos evolutivos trabalham com o conceito de grupos de indivíduos
trabalhando individualmente e, em algumas técnicas, em conjunto com o coletivo para
a procura da solução do problema. Estes indivíduos vão evoluindo ao longo do
processo de busca sendo que os descendentes herdam o conhecimento de seus
predecessores e aproveitam este conhecimento para melhorar a localização do
objetivo.
Dentre os algoritmos evolutivos bio-inspirados pode-se citar com destaque os
seguintes: (i) Algoritmos Genéticos; (ii) Algoritmos Meméticos; (iii) Sistemas
Imunológicos Artificiais; (iv) Colônia de formigas e (v) Enxame de partículas.
2.3.3.1 AlgoritmosGenéticos
Os algoritmos genéticos, mais conhecidos pela sigla AG, são um método de
otimização e busca baseado nas teorias de Darwin sobre a seleção natural, reprodução
genética e evolução das espécies (Goldberg, 1989).
Os algoritmos genéticos estão baseados em princípios simples. O princípio da
seleção natural diz que os indivíduos pertencentes à população que são mais aptos a
sobreviver tem maior chance de reprodução e, com esta reprodução, repassar as
gerações posteriores todo seu material genético.
Em um AG um indivíduo é uma solução candidata a otimizar o problema
estudado ou ainda, um ponto no espaço de busca, e sua aptidão é calculada pela
função objetivo do problema avaliado. Este indivíduo possui um cromossomo que é
13
um estrutura de dados codificada com as variáveis do problema em forma de números
reais ou binária.
Durante o processo de evolução, os indivíduos da população sofrem o processo
de reprodução através da combinação do material genético em pares gerando novos
indivíduos. Os descendentes trazem consigo informações de seus genitores. Ainda no
processo de reprodução, os novos indivíduos podem sofrer uma mutação com o
intuito de gerar diversidade a população levando os indivíduos para uma nova região
no espaço de busca. Esta nova região pode ser mais próxima ou não do ótimo a ser
alcançado.
Quando é criada uma nova população por cruzamento e mutação existe uma
grande chance de que haja a perda dos melhores indivíduos da população anterior,
para minimizar este problema é possível se utilizar o elitismo. O elitismo é um método
que primeiro copia os melhores indivíduos para a nova população. O resto da
população é construída da forma descrita anteriormente. O elitismo pode aumentar o
desempenho do algoritmo pois porque previne a perda da melhor solução já
encontrada.
O processo de evolução do AG pode ser descrito como definir uma população
inicial, avaliar cada indivíduo desta população através da função de aptidão que
representa o problema estudado e repetir o processo seguinte até que uma condição
de parada seja encontrada: selecionar os melhores indivíduos para reprodução,
reproduzir os indivíduos através de recombinação e mutação, avaliar novamente a
população gerada e selecionar os melhores indivíduos.
Os algoritmos genéticos podem ser aplicados a diversos problemas, uma dessas
aplicações pode ser vista em (Lemonge, 1999) onde estes são utilizados para resolver
problemas de otimização estrutural, outra aplicação encontra-se em (Vieira, 1999)
onde os algoritmos genéticos são utilizados para a otimização de risers rígidos que são
estruturas que conectam as cabeças dos poços de petróleo às unidades flutuantes de
produção e/ou armazenamento. Em (Bernardino, 2008) também se pode verificar a
utilização de algoritmos genéticos, neste caso, para a solução de problemas de
otimização de engenharia com restrições
14
2.3.3.2 AlgoritmosMeméticos
Algoritmos meméticos são uma classe dos algoritmos evolutivos que possuem a
busca local como sendo parte decisiva do processo evolutivo (Moscato, 1989).
A base dos algoritmos meméticos está na combinação de conceitos e técnicas
de outros algoritmos evolutivos e com a busca local agregando as vantagens de cada
uma delas para maior eficiência. A ideia principal é explorar a vizinhança de uma
solução obtida pelo AG tradicional em busca de um ótimo local antes de efetuar o
retorno ao processamento do AG.
A designação memético foi definida por (Radcliffe e Surry, 1994) como sendo
uma unidade de informação que se reproduz durante um processo argumentativo e de
transmissão de conhecimento. Sendo assim, comparativamente, pode-se dizer que os
algoritmos genéticos estão baseados na evolução biológica enquanto os algoritmos
meméticos, na evolução cultural.
Um algoritmo memético possui as mesmas etapas do algoritmo genético bem
como todos os seus operadores, seleção, recombinação e mutação. A diferença se dá
na inclusão de operadores de busca local para cada indivíduo da população.
No processo de transmissão de informação para os descendentes está a grande
diferença entre os algoritmos genéticos e os meméticos. Quando o meme é
transmitido para as gerações futuras ele é adaptado pelo indivíduo que o recebe
baseando no conhecimento já adquirido por este para melhor atender as
necessidades. Nos algoritmos genéticos, as características transmitidas para o
descendente fazem com que o mesmo possua as habilidades de seus genitores.
No processo de evolução dos algoritmos meméticos, chamado de evolução
cultural, as alterações nas gerações aparecem através da criação e reorganização de
representações mentais.
2.3.3.3 SistemasImunológicosArtificiais
Os sistemas imunológicos artificiais (Castro, 2001) surgiram a partir da
modelagem e aplicação dos princípios imunológicos no desenvolvimento de novas
ferramentas computacionais.
15
O sistema imunológico real é dividido em duas grandes partes, o sistema imune
inato que é a primeira linha de defesa do organismo, e o sistema imune adaptativo
onde se encontram os linfócitos, portadores de receptores específicos para identificar
e combater determinada infecção. A Figura 2.2, reproduzida de (Castro, 2001), ilustra a
estrutura do sistema imunológico.
Figura 2.2. Estrutura do sistema imunológico.
Existem várias propostas de implementação de sistemas imunológicos
artificiais, dentre elas, pode-se citar:
Algoritmos de Seleção Clonalg: proposto por (Castro e Von Zuben,
2002) representa de forma simplificada o princípio da seleção clonal
durante a resposta imune adaptativa. Na execução do algoritmo, todos
os anticorpos são utilizados para se gerar uma população de clones. No
processo de clonagem, os clones sofrem mutação genética e o processo
de seleção é realizado. Clones com baixa afinidade são removidos e
substituídos por outros gerados de forma aleatória
opt-aiNet: proposto por (Castro e Timmis, 2002) é baseado na mutação
e população com tamanho variável e dinâmico. Cada célula da
população cria certa quantidade de clones que deverão sofrer um
processo de mutação inversamente proporcional à aptidão do
anticorpo-pai. Quando o algoritmo chega a um ponto em que a média
não melhora significativamente após uma geração, uma medida de
16
afinidade é avaliada entre as células sendo que as de menor afinidade
são eliminadas e novas células aleatórias são inseridas.
Uma aplicação de sistemas imunológicos artificiais para a solução de problemas
de otimização de engenharia com restrições pode ser vista em (Bernardino, 2008) bem
como em (Vieira, 2009), neste último, para a otimização de risers rígidos.
2.3.3.4 ColôniadeFormigas
A otimização através da técnica de Colônia de Formigas, mais conhecida pela
sigla ACOAnt Colony Optimization, se baseia também no processo de análise do
comportamento social de indivíduos, no caso, formigas, a procura de uma fonte de
alimento (Dorigo e Stützle, 2004). A maioria das formigas tem pouca ou nenhuma
capacidade visual, a comunicação entre elas é feita através de uma substância química
chamada de feromônio. Este feromônio pode ser utilizado para se marcar um caminho
a ser seguido. Ao caminhar em busca de alimento as formigas deixam por onde passam
uma determinada quantidade de feromônio. As companheiras que veem em seguida
escolhem dentre os caminhos disponíveis aquele que tenha a maior quantidade de
feromônio sendo este o de maior probabilidade de ser aquele em que o alimento se
encontra. A Figura 2.3 ilustra o processo.
(a) busca aleatória
(b) localização inicial e formação da trilha de
feromônio
(c) trilha de feromônio já
formada
Figura 2.3. Processo de busca através da técnica de colônia de formigas: (a) busca aleatória, (b)
localização inicial e formação da trilha de feromônio e (c) trilha de feromônio já formada.
O algoritmo ACO tem como base o comportamento descrito anteriormente. As
formigas são geradas aleatoriamente na geração inicial e o processo de busca é
iniciado de forma aleatória. A cada passo dado por uma formiga, a direção por esta
tomada é baseada em um fator de aleatoriedade e também na taxa de feromônio
17
depositada na vizinhança direta desta formiga, quanto maior for esta taxa em uma
determinada direção, maior será a probabilidade de esta formiga seguir por esta
direção. A cada iteração a taxa de feromônio em cada ponto do espaço de busca é
atualizada e decrescida.
Em (Capriles et al., 2006) apresenta-se uma aplicação da técnica ACO para
minimização do peso de treliças com variáveis discretas. Já em (Sim e Sun, 2003), a
ACO é utilizada para balanceamento de rotas em redes de telecomunicações e
internet, de forma parecida, (Bell e McMullen, 2004) utilizam ACO para otimização de
rotas de veículos.
2.3.3.5 EnxamedePartículas
A otimização através de enxame de partículas foi introduzida inicialmente por
(Kennedy e Eberhart, 1995) e se baseia no estudo do comportamento de grupos de
indivíduos, como, por exemplo, um conjunto de pássaros. Esta técnica é o objeto de
estudo deste trabalho e, sendo assim, será analisada com maior detalhamento no
Capítulo 3.
18
Capítulo3
3 OtimizaçãoatravésdeEnxamedePartículas
3.1 Introdução
A técnica de otimização utilizando enxame de partículas, mais conhecida pela
sigla PSO Particle Swarm Optimization, é uma técnica de busca originalmente
desenvolvida por (Kennedy e Eberhart, 1995). O processo de busca foi inspirado no
comportamento social de grupos de indivíduos, no caso inicial, de pássaros. Quando
estes iniciam sua revoada a procura de alimento o fazem de forma inicialmente
aleatória e desordenada. Ao longo do tempo, percebe-se uma organização no voo e
um padrão de busca sendo demonstrado. Caso o alimento seja encontrado espera-se
que todo o bando se dirija para este.
A partir das observações feitas neste processo de busca dos pássaros, (Kennedy
e Eberhart, 1995) desenvolveram uma técnica onde os pássaros são considerados
partículas em um espaço de busca multidimensional e o objetivo a ser alcançado é um
ponto neste espaço, no caso de otimização de funções, o ponto ótimo.
O PSO é um algoritmo populacional tanto quanto os algoritmos genéticos
(Davis, 1991), bem como a técnica ACO (Colorniet al., 1998). Estes algoritmos têm, em
comum, a inicialização da população feita de forma aleatória, dentre outros fatores.
O PSO pode ser considerado um algoritmo evolutivo em que, ao longo do
tempo, o posicionamento dos indivíduos ou partículas é atualizado baseado em regras
pré-estabelecidas. As partículas colaboram entre si para a atualização do seu
19
posicionamento utilizando-se a função objetivo a ser alcançada como métrica para a
avaliação das posições e definição das melhores partículas.
A utilização desta técnica de otimização tem se mostrado bastante interessante
em diversas aplicações de engenharia como projeto de circuitos lógicos (Coello e Luna,
2003), projetos de controle (Zheng et al., 2003), sistemas de potência (Abido, 2002)
dentre outras.
3.2 AlgoritmoPSOBásico
O algoritmo PSO é relativamente simples se comparado a outros algoritmos bio-
inspirados. Seu núcleo se baseia na atualização das velocidades das partículas ao longo
do tempo e esta atualização impacta na modificação do posicionamento.
Considerando que a posição de uma partícula i em um tempo k pode ser
representada por ikx e a velocidade da mesma como sendo i
kv . Os vetores de posição e
velocidade desta partícula i são armazenados durante o processamento do algoritmo
em uma geração k e utilizados para a atualização da população na geração 1+k .
Para a atualização da população, além dos vetores velocidade e posição de
todas as partículas em uma geração k , são necessárias duas informações, a saber: (i) a
melhor posição da partícula ao longo de todo o processo até o momento definida por ikp e (ii) a posição da melhor partícula de todo o enxame ao longo do processo até o
momento definida por gkp .
A atualização da velocidade de cada partícula é dada pela equação (3.1) onde ikv 1+ representa o vetor velocidade da partícula i tempo 1+k , w é o fator de inércia,
1rnd e 2rnd são duas variáveis aleatórias e independentes de distribuição uniforme
entre 0 e 1, 1c e 2c são parâmetros de confiança em relação ao posicionamento da
própria partícula e em relação ao posicionamento da melhor partícula do enxame até
o momento em todo o processo, respectivamente. A variável t∆ é o espaço de tempo
e neste trabalho será utilizado como tendo valor unitário.
txprndc
txprndcwvv
ik
gk
ik
iki
kik ∆
−+
∆−
+=+)()(
22111
(3.1)
20
A atualização do posicionamento de cada partícula, a partir da velocidade
atualizada, é dada pela equação (3.2).
tvxx ik
ik
ik ∆+= ++ 11
(3.2)
3.3 DescriçãodoAlgoritmo
O algoritmo PSO básico, utilizado para problemas sem restrições, pode ser
definido conforme a descrição textual a seguir:
1. Inicializar um conjunto de partículas em um tempo 0=k com velocidades
e posições aleatoriamente distribuídas dentro do espaço de busca;
2. Avaliar a função objetivo de cada uma das partículas da população;
3. Atualizar a melhor posição de cada partícula individualmente e a melhor
posição do bando;
4. Atualizar a posição de cada partícula no tempo 1+k baseado na posição e
velocidade no tempo k ;
5. Repetir os processos de 2 a 4 até que uma condição de parada seja
satisfeita.
O conjunto inicial de partículas é gerado de forma aleatória e independente
espalhado pelo espaço de busca conforme as equações (3.3) e (3.4) a seguir:
)( minmax3min0 xxrndxxi −+= (3.3)
)( minmax4min0 xxrndxvi −+= (3.4)
Onde ix0 e iv0 são, respectivamente, os vetores posição e velocidade inicial da
partícula i , 3rnd e 4rnd são variáveis aleatórias independentes de distribuição
uniforme entre 0 e 1, minx e maxx são os vetores que contém os limites inferior e
superior da para x , respectivamente.
21
3.4 AtualizaçãodosParâmetros
Para a atualização do valor da inércia w existem várias técnicas diferenciadas,
para (Eberhart e Shi, 1998) deve-se usar um valor fixo para w . Um valor fixo pode
encontrar resultados interessantes nas primeiras iterações do algoritmo aumentando a
capacidade de exploração do enxame. No entanto, quando se aproxima do ótimo, este
valor fixo pode fazer com que o número de iterações necessárias para atingi-lo cresça.
Assim, (Eberhart e Shi, 2000) propõe uma variação linear de w ao longo das
iterações do algoritmo. Como o vetor de velocidades é inicializado aleatoriamente,
começar o algoritmo com valores maiores para w gera uma busca mais abrangente no
espaço. Ao longo das iterações, o valor de w vai sendo reduzido gradativamente
fazendo com que as partículas se fixem no ótimo de forma mais rápida. A sugestão de
(Eberhart e Shi, 2000) foi utilizar a variação da inércia com valor inicial de 0,9 e final de
0,4. O cálculo da variação linear dew pode ser visto como descrito na equação (3.5).
fimfiminik wNkNwww +
−−=
)()(
(3.5)
Onde kw é o valor da inércia na iteração k , iniw e fimw são os valores inicial e
final respectivamente e N é o número total de iterações.
Outra proposta para a variação da inércia foi apresentada por (Chatterjee e
Siarry, 2004). Um pouco diferente daquela proposta por (Eberhart e Shi, 2000), tende a
aumentar a convergência do enxame nas últimas iterações. Chamada de variação não
linear da inércia pode ser descrita pela equação (3.6).
( ) fimfiminin
n
k wwwNkNw +−
−=
)(
(3.6)
Na equação (3.6), kw é o valor da inércia na iteração k , iniw e fimw são os
valores inicial e final, respectivamente, N é o número total de iterações e n é o
expoente de não linearidade. É possível perceber que a equação (3.6) se torna a
equação (3.5) quando se tem o coeficiente de não linearidade.
Com a utilização da inércia não linear o comportamento das partículas em
busca da solução ótima passa a depender fortemente do coeficiente n . A Figura 3.1,
22
reproduzida de (Chatterjee e Siarry, 2004), ilustra o comportamento de w em função
de n .
Figura 3.1. Variação de w em relação ao coeficiente n.
3.5 AplicaçõesdoPSO
O PSO pode ser aplicado a uma grande quantidade de problemas. Em (Fourie e
Groenwold, 2002) o PSO é utilizado para a otimização de forma e tamanho na área de
projeto estrutural, também em (Venter e Sobieszczanski-Sobiesk, 2002) para
otimização multidisciplinar aerodinâmica, nesta abordagem o PSO utilizado sofre
modificações para atender as especifidades do problema. Já em (He et al., 2004) o PSO
é utilizado para a otimização de problemas de projeto mecânico. Em (Albrecht, 2005) o
PSO é utilizado para a otimização de sistemas de ancoragem em plataformas de
petróleo. Em (AlRashidi e El-Hawary, 2009) o PSO é utilizado para auxiliar o processo
de otimização de sistemas de potência no controle reativo do fluxo de potência bem
como na redução da perda de energia. O PSO também é utilizado na área de
modelagem de antenas incluindo o controle ótimo e modelagem de conjuntos de
antedas, otimização de reflexão, correção de erros dentre outras disponíveis em
(Donelli et al., 2006; Benedetti et al., 2006; Elkamchouchi e Wagih, 2007). Nas áreas
biológia, médica e farmaceutica o PSO é utilizado, dentre outras aplicações, para o
diagnóstico do mal de Parkinson (Ciesielski et al., 2007) e classificação de cancer (Xu et
al., 2007; Selvan et al., 2009). O PSO também é utilizado na área do entretenimento
em aplicações como dilema do prisioneiro (Franken e Engelbrecht, 2004), nós folha em
árvores de jogos e áudio em geral (Blackwell a Bentley,2002)
23
Capítulo4
4 EstratégiasdePenalização
4.1 Introdução
Um problema de otimização, reescrito aqui, através da equação (4.1), pode ser
transformado em um problema sem restrições através da introdução de funções de
penalização gerando-se assim uma única função )(xF a ser otimizada chamada de
função Fitness ou função aptidão nos algoritmos evolutivos. Assim, a função aptidão
)(xF pode ser reescrita através da equação (4.2). Na equação (4.1) x representa o
vetor de variáveis do problema, )(xf é a função objetivo e )(xgi e )(xhi são,
respectivamente, as restrições de igualdade e desigualdade relacionadas ao problema
e que podem ser funções lineares ou não lineares do vetor de variáveis do problema
{ }nixxxxXx
liparaxhmiparaxgasujeito
xfminimize
Uii
Li
n
ni
i
,...,2,1,:
,...,10)(,...,10)(
)(
=≤≤ℜ∈=
ℜ∈
===≤
(4.1)
β+= )()( xfxF (4.2)
24
Na equação (4.2) )(xf é o valor obtido através da avaliação da função
objetivo, β é a função de penalização a ser adicionada e )(xF o valor da função de
aptidão a ser considerado no algoritmo.
As técnicas de penalização ainda podem ser separadas em técnicas de
penalização “interior” e “exterior” (Barbosa e Lemonge, 2008). No primeiro caso é
utilizada uma função dita “de barreira”, representada na equação (4.3) por )(xB que
tem seu valor aumentado rapidamente à medida que os valores das variáveis da
função se aproximam do limite da região factível. No segundo caso, representado pela
equação (4.4), uma função de penalização é adicionada à função objetivo onde
0)( =xP se a solução é factível e 0)( >xP caso contrário. Nos dois caso, ∞→K .
)(1)()( xBk
xfxFk += (4.3)
)()()( xkPxfxFk += (4.4)
Dentre várias técnicas de penalização destacam-se as seguintes (Coello, 2002):
(i) Estáticas; (ii) Dinâmicas e (iii) Adaptativas.
4.2 PenalidadesEstáticas
As penalidades estáticas, como a própria descrição já indica, dependem
somente da definição de um fator externo ao algoritmo para definição do valor a ser
somado ou multiplicado a função objetivo. Este valor é fixado durante toda a execução
do algoritmo não sendo relacionado a qualquer fator da evolução do algoritmo como,
por exemplo, o número de gerações.
A grande desvantagem das penalidades estáticas é penalizar uma determinada
solução candidata com violações pequenas da mesma forma que se penaliza uma
outra com violação considerável das restrições. Isto pode levar uma partícula próxima
ao ótimo a se afastar do mesmo dificultando a busca da solução desejada.
Uma sugestão interessante foi feita por (Homaifar et al., 1994) onde mais de
um fator de penalidade é definido sobre um determinado nível de violação de forma
25
que este seja maior ou menor dependendo deste nível de violação. A idéia então é
penalizar a solução candidata de forma diferente de acordo com a violação de cada
restrição. Na equação (4.5) define-se como é calculada a função de aptidão onde ikR , são os coeficientes de penalização utilizados, m é o número de restrições e, )(xf é a
função objetivo não penalizada e k é um valor inteiro variando de 1 até m violações.
[ ]∑=
+=m
iiik xgRxfxF
1
2, ))(,0max()()(
(4.5)
Na sugestão de (Homaifar et al., 1994) a maior dificuldade encontrada é a
quantidade de parâmetros que tem que ser definidos para o problema.
4.3 PenalidadesDinâmicas
As penalidades dinâmicas tem seus valores intimamente relacionados ao
número da geração em que se encontra o processo evolutivo do algoritmo. Tanto em
(Joines e Houck, 1994) quanto em (Kazarlis e Petridis, 1998) a valor do fator de
penalidade cresce de acordo com o número de gerações. Embora as abordagens sejam
um pouco diferentes, ambas se baseiam na definição de parâmetros para o
crescimento do fator de penalidade e ainda, de um fator inicial.
O método de cálculo da função de aptidão sugerido por (Joines e Houck, 1994)
está representado na equação (4.6) onde C ,α e β são constantes definidas pelo
usuário, m e p representam o número de restrições do problema avaliado.
( )
( )
pjcontráriocasoxh
xhxD
micontráriocasoxgxg
xD
xDxDxSVC
sendoxSVCCtxfxF
j
j
j
i
ii
n
i
p
jji
≤≤
≤∈∈≤−
=
≤≤ ≤
=
+=
+=
∑ ∑= =
1)(
)(,0)(
1)(
0)(,0)(
)()(,
,)()()(
1 1
β
α
β
β
(4.6)
26
De antemão já se poderia sugerir que uma penalização dinâmica tende a ser
mais eficiente que uma estática visto que o fator de penalização se altera à durante a
evolução do algoritmo, no entanto, a sensibilidade para a definição dos parâmetros
envolvidos no crescimento do valor do fator de penalização pode ser complexa
provocando uma convergência prematura para um ótimo local ou ainda em uma não
convergência devido à utilização de um valor muito alto eliminando soluções que
poderiam levar a este ótimo.
4.4 PenalidadesAdaptativas
As técnicas adaptativas se baseiam na alteração dos valores dos fatores de
penalização ao longo do processo de evolução. Estes podem ser alterados de acordo
com as gerações ou com o grau de violação das restrições do problema.
Em (Bean e Alouane,1992) um método interessante de penalidade adaptativa é
proposto onde o fator de penalidade é alterado a cada geração. A equação (4.7)
ilustra como é calculada a função de aptidão e na equação (4.8) demonstra-se como é
feita a atualização do fator de penalização )(tλ a cada geração. Na equação (4.8), ib é
o melhor elemento da geração i, F é a região factível e 21 ββ ≠ ambos são maiores que
zero.
++= ∑ ∑
= =
n
i
p
jji xhxgtxfxF
1 1
2 )()()()()( λ (4.7)
=+contráriocasot
factívelfoinuncabset
factívelsemprefoibset
t i
i
),(),(
),()/1(
)1( 2
1
λλβ
λβ
λ
(4.8)
Outra abordagem é ter a magnitude da penalidade definida de acordo com o
valor da função de aptidão da melhor solução candidata conhecida até então (Smith e
Tate, 1993). Esta abordagem define o valor da função de aptidão de uma solução
candidata como descrito na equação (4.9).
27
∑=
−+=
n
i
ki
geralfactível tNFTxgBBxfxF
1 )()()()()(
(4.9)
Na equação (4.6), factívelB é o melhor valor da função objeto na geração t , geralB
é melhor valor da geral não penalizado função objetivo, )(xgi é o valor da violação da
restrição i , k é uma constante que define o quão severa será a penalidade e NFT é a
sigla de Limiar de Viabilidade mais Próximo (Near Feasibility Threshold) (Gen e Cheng,
1996) que se define como o limiar da distância da região factível considerada razoável
e a região factível em si.
Já (Schoenauer e Xanthakis, 1993) apresentam uma estratégia para o
tratamento de problemas com restrições em estágios: primeiramente uma população
aleatória se desenvolve levando-se em consideração somente a primeira restrição até
que um percentual desta população se torne factível, a população resultante deste
processo é utilizada para dar continuidade ao processo de otimização agora se levando
em conta a segunda restrição sendo que, nesta segunda etapa, aqueles indivíduos que
passam a violar a primeira restrição são removidos. O processo então se repete até
que tenham sido processadas todas as restrições. A grande desvantagem neste caso é
o excesso de processamento quando o problema avaliado possui uma grande
quantidade de restrições.
Em (Hamida e Shoenauer, 2000) a proposta é de se utilizar uma parcela dos
indivíduos factíveis da população em conjunto com uma estratégia de seleção para o
acasalamento de indivíduos factíveis e infactíveis e, sem seguida, um esquema de
seleção para dar a certo número de indivíduos maior vantagem sobre os outros.
Mais adiante nesta seção será abordada, com detalhes, a técnica de
penalização adaptativa APM proposta por (Lemonge e Barbosa, 2004)
4.5 TécnicasdePenalizaçãoAplicadasaoPSO
Uma das estratégias para tratamento das restrições em um PSO é apresentada
em (Hu et al., 2003) onde são propostas modificações no algoritmo original em que a
população inicial deve possuir todas as partículas factíveis e durante a atualização das
memórias, também, são mantidas somente as soluções factíveis.
28
Em (Parsopoulos e Vrahatis, 2002) a alteração no PSO é feita adotando-se uma
função de penalização multi-estágio e não-estacionária. Já em (Ray e Liew, 2001)
sugere-se a utilização de um ordenamento utilizando-se um conjunto de Pareto
tratando as restrições como uma matriz para se localizar uma BPL (Best Performance
List). Outra abordagem também pode ser encontrada em (Zavala et al., 2005).
Vale ainda citar duas abordagens aplicadas especificamente com o algoritmo
evolutivo PSO. A primeira, sugerida por (Cagnina et al., 2008), introduz uma variante
do PSO denominada Sic-PSO onde uma estratégia de penalização bastante simples é
utilizada. Primeiro, as partículas são avaliadas em pares para definição dos valores de ikp e g
kp , da seguinte maneira:
1. se duas partículas forem factíveis, a que tem a melhor aptidão é a
escolhida;
2. se duas partículas são infactíveis, a que tem menos grau de
infactibilidade, calculado pela soma das violações das restrições, é a
escolhida e;
3. se uma partícula é factível e outra infactível a partícula factível é
escolhida.
Em seguida, se uma partícula é infactível a quantidade de violação desta é
calculada pela soma das violações das restrições normalizada com base na maior
violação encontrada até o momento. Isto indica que cada partícula armazena também
a quantidade de violação que ela obteve durante a evolução do algoritmo até o
momento. A nova posição da partícula em questão é determinada pela equação (4.10)
que é uma alteração da sugestão original de atualização da posição do PSO definida na
equação (3.2).
++=+ 31
gk
il
iki
kppxNx
(4.10)
Na equação ilp é a melhor posição de todas as partículas na vizinhança da
partícula i e esta vizinhança é localizada através de uma topologia de anel sugerida por
(Kenney, 1999).
29
Já em (Aguirre et al., 2007) uma outra variante do PSO é sugerida designada
COPSO com uma estratégia de penalização semelhante á utilizada por (Cagnina et al.,
2008), no entanto, duas novas características são inseridas:
1. Tolerância para restrições de igualdade onde, nestes casos, as restrições
de igualdade são convertidas em restrições de desigualdade conforme
exposto na equação (4.11). Nesta equação, jh representa a restrição j
e ε é definido como o fator de tolerância e este é decrescido de forma
linear iniciando-se com 1 e chegando até um valor pré-determinado.
Este decréscimo é feito em 90% do processamento do algoritmo e nos
últimos 10% o valor de ε se mantém constante.
2. Armazenamento das partículas tolerantes, onde uma partícula dita
tolerante é aquela que se mantém factível após duas ou mais reduções
do fator de tolerância ε .Estas partículas são armazenadas em uma área
separada e utilizadas na avaliação do algoritmo na próxima geração.
ε≤jh (4.11)
4.6 Abordagens Recentes para o Tratamento de
Restrições
Recentemente na literatura foram disponibilizas diversas abordagens
inovadoras para o tratamento de restrições em problemas de otimização utilizando-se
os algoritmos evolutivos. (Zavala et al., 2009) sugerem uma modificação ao PSO da
inserção de três modificações: uma estrutura de vizinhança em rede para diminuir a
convergência, dois operadores de perturbação aplicados a cada partícula com o
objetivo de melhorar a diversidade do enxame e um processo de tolerância dinâmica
para tratar restrições de igualdade. Já (Yen, 2009) trata de problemas de otimização
multi-objetivo através da introdução uma função de penalidade sem a necessidade de
parâmetros externos que opera em conjunto com uma medida de distância. Nesta
abordagem o processo de busca se utiliza de uma função de aptidão modificada
através da função de penalidade e o comportamento do processo de busca é
determinado pelo número de soluções factíveis.
30
Outra abordagem interessante é apresentada por (Oyama, 2009). Esta é
sugerida para problemas de projeto aerodinâmico e multidisciplinar mas pode ser
utilizada para o tratamento de problemas onde a avaliação da função objetivo tem alto
custo computacional. (Oyama, 2009) se utiliza de um mecanismo de nicho associado a
dominância no espaço das restrições para auxiliar a localização da região factível com
um reduzido número de avaliações da função objetivo.
Já em (Bernardino et al., 2009) é sugerida a combinação do uso de um
algoritmo genético hibridizado com um sistema imunológico artificial para auxiliar a
movimentação da população para a região factível. Um procedimento de limpeza
baseado no mecanismo de nichos, também utilizado por (Oyama, 2009), é utilizado
para aumentar a diversidade da população e, com isso, auxiliar a busca.
4.7 ATécnicadePenalizaçãoAdaptativaAPM
A técnica APM (do inglês, Adaptative Penalty Method) sugerida por (Lemonge e
Barbosa, 2004), foi originalmente desenvolvida para a aplicação de problemas com
restrições analisados via algoritmos genéticos. Tal estratégia tem demonstrado ser
robusta e eficiente. Ele trata restrições de igualdade e desigualdades; não demanda o
conhecimento explícito das restrições como funções das variáveis do problema; é livre
de parâmetros a serem definidos pelo usuário e; é de fácil implementação
computacional.
A aptidão ( )xF de cada solução candidata, com a utilização do APM, é obtida
através da equação (4.12).
+=
∑=
m
jjj contráriocasoxvkxf
factívelforxsexfxF
1)()(
)()(
>
=contráriocasoxf
xfxfsexfxf
)(
)()()()(
(4.12)
31
Sendo )(xf a média da função objetivo para a população na iteração atual,
jv a violação da restrição j sobre a população atual e jk o fator de penalização
calculado de forma adaptativa conforme a equação (4.13).
[ ]∑=
= m
ll
jj
xv
xvxfk
1
2)(
)()(
(4.13)
Denominando-se pop como sendo o tamanho da população, pode-se escrever
a equação (4.14).
∑∑ ∑
∑=
= =
=
=
pop
i
ij
m
l
pop
i
il
pop
i
i
j xv
xv
xfk
1
1
2
1
1 )(
)(
)(
(4.14)
A idéia principal é fazer com que o valor dos coeficientes de penalização sejam
distribuídos de tal forma que as restrições mais difíceis de serem atendidas sejam
penalizadas mais fortemente.
A Figura 4.1 (Lemonge e Barbosa, 2004) demonstra a determinação da
função f . O gráfico indica que se uma solução candidata é infactível (pontos 1, 2, 3, 4,
5 e 6), em um problema de minimização, a sua função objetivo terá o seu valor
alterado para o valor médio da função objetivo em toda população, se esta partícula
tiver a função objetivo original com valor menor que este valor médio. Dessa forma, no
exemplo ilustrativo da Figura 4.1, reproduzida de (Lemonge e Barbosa, 2004), os
pontos infactíveis, 3, 4, 5 e 6, que tem a função objetivo com valor menor que a média,
sofrerão alteração do valor desta função objetivo para )(xf .
32
Figura 4.1. Determinação da função f .
A utilização da técnica de penalização adaptativa APM se baseia no seguinte
processo: computar o valor das violações das restrições jv para a população atual e
atualiza o coeficiente de violação jk a cada geração.
Logo em seguida (Barbosa e Lemonge, 2008) sugeriram 4 variantes do APM
com diferenças em relação ao original a saber:
1. APM Esporádico
calcular a violação das restrições jv para a população atual;
atualizar os coeficientes de penalidade jk , mas;
manter os coeficientes de penalidade jk fixos por f gerações.
2. APM Esporádico com acumulo das violações das restrições
acumular a violação das restrições jv por f gerações;
atualizar os coeficientes de penalidade jk ;
manter os coeficientes de penalidade jk fixos por f gerações.
3. APM Monotônico
nenhum coeficiente de penalidade jk pode ter seu valor
reduzido ao longo das gerações.
4. APM com Amortecimento
33
calcular o valor de jk da geração atual e ponderar este com o
jk da geração anterior conforme descrito na equação (4.15).
( ) [ ]1,01 )()()( ∈−+= θθθ ondehhh atualj
novoj
novoj (4.15)
O APM e suas variantes serão usados nos experimentos numéricos e, para
facilitar sua denominação, será feita a seguinte correlação, o APM original será
rotulado somente como APM, a variante APM Esporádico como APM-E, a variante
APM Esporádico com acumulo das violações das restrições como APM-V, a variante
APM Monotônico como APM-M e por fim, a variante APM com Amortecimento será
rotulada como APM-A.
34
Capítulo5
5 ExperimentosNuméricos
5.1 Introdução
A utilização do PSO como técnica de otimização de funções já se mostrou
bastante eficiente. Da mesma forma, o APM e suas variantes como solução para o
tratamento de problemas com restrições tem se mostrado robusto. Para validar a
utilização destas duas técnicas foram efetuados diversos experimentos com funções já
conhecidas e disponíveis na literatura (Michalewicz , 1996; Koziel e Michalewicz, 1999;
Coello Coello, 2000; Himmelblau 1972; Floudas 1999) que são inclusive, utilizadas para
comparação entre os algoritmos de otimização.
Nas tabelas que demonstram os resultados dos experimentos numéricos foram
utilizadas as siglas citadas no item 4.7 para a designação do APM e suas variantes,
)(med para a média aritmética, )(melhor e )( pior para o melhor e o pior valor obtido
respectivamente,nesf para o número de soluções factíveis e )(ótimo para o valor
ótimo conhecido. Os dados obtidos em (Lemonge e Barbosa, 2004) são denominados
por AG-APM e quando utilizados os dados de (Lemonge e Barbosa, 2008), estes são
denominados por AG-APM-N. Ressalta-se que os valores apresentados são os obtidos
na melhor execução do algoritmo dentre todas as realizadas.
35
Parte dos resultados dos experimentos numéricos que serão apresentados
neste capítulo foram previamente publicados em (Silva et al., 2009) e (Silva et al.,
2010).
5.2 FunçõessemRestrições
Para validação do PSO original optou-se por efetuar a execução do algoritmo
para funções sem restrição disponíveis na literatura (Michalewicz, 1996). Para estas
funções foram realizadas 20 execuções independentes e utilizado como critério de
parada o número de avaliações da função objetivo fixados em 3105x , 4105x e 5105x e
para os parâmetros de confiança foram utilizados os valores 21 =c e 12 =c .
As equações (5.1) a (5.5) definem cinco problemas de minimização onde os
limites de suas variáveis estão descritos na Tabela 5.1. Já nas Tabelas 5.2 a 5.4 são
expostos os resultados das avaliações das funções utilizando-se o algoritmo PSO.
Tabela 5.1. Limites das variáveis e ótimo global conhecido das funções sem restrição
)(xf Limites (ótimo)
F1 8,51,41,123 21 ≤≤≤≤− Xx 38,8275 F2 51 1 ≤≤− x 0000,0 F3 310 1 ≤≤ x 0000,961− F4 22 1 ≤≤− x 0.8794- F5 21 1 ≤≤− x 8500,2
)20()4(5,21)(min1 2211 xsenxxsenxxfF ππ ++=→ (5.1)
44)(min2 121 +−=→ xxxfF (5.2)
21)(min3 xxfF −=→ (5.3)
44)(min4 121
31 +−−=→ xxxxfF (5.4)
1)10()(min5 11 +=→ xsenxxfF π (5.5)
36
Tabela 5.2. Resultados das execuções com 5x103 avaliações
)(xf (melhor) )( pior )(med
F1 38,8275 40,0904 39,0049
F2 0,0000 0,0031 0,0004
F3 -961,0000 -961,0000 0
F4 -0,8794 -0,8749 -0,8790
F5 2,8500 3,9700 3,0945
Tabela 5.3. Resultados das execuções 5x104 avaliações
)(xf (melhor) )( pior )(med
F1 38,8275 41,9940 398860
F2 0,0000 0,0011 0,0002
F3 -961,0000 -961,0000 0
F4 -0,8794 -0,8766 -0,8789
F5 2,8500 3,0978 2,9905
Tabela 5.4. Resultados das execuções 5x105 avaliações
)(xf (melhor) )( pior )(med
F1 38,8275 41,0095 40,0032
F2 0,0000 0,0003 0,0000
F3 -961,0000 -961,0000 0
F4 -0,8794 -0,8745 -0,8788
F5 2,8500 3,0094 2,9940
As Tabelas 5.2 a 5.4 indicam que o PSO foi eficiente em localizar o ótimo das
funções avaliadas mesmo com um pequeno número de avaliações da função objetivo.
5.3 FunçõescomRestrições
O grupo de funções G, do inglês G-Suite (Koziel e Michalewicz., 1999), tem sido
utilizado de forma a validar e comparar o desempenho de algoritmos de otimização.
Adotou-se este grupo para possibilitar a comparação com outros métodos de
otimização de problemas com restrições exaustivamente testados na literatura.
37
5.3.1 DefiniçãoeAjustedosParâmetrosdoPSO
Como visto no Capítulo 3 o PSO, mesmo utilizando uma penalidade adaptativa,
faz-se necessário o ajuste de alguns parâmetros. Os valores de 1c e 2c são parâmetros
de confiança em relação ao posicionamento da própria partícula e em relação ao
posicionamento da melhor partícula do enxame até o momento em todo o processo,
respectivamente. Foram feitos testes com 01 =c e 32 =c e 31 =c e 02 =c . Em
ambos os casos o algoritmo converge rapidamente para um ótimo local sem conseguir
evoluir ao longo do processo. Outros valores foram testados e os que obtiveram
melhores resultados fora 21 =c e 12 =c .
5.3.2 ResultadosObtidos
O grupo de funções G é composto por 24 funções. Neste trabalho optou-se por
utilizar 14 destas para validação do algoritmo. Elas são definidas nas equações de (5.6)
a (5.19) onde os limites de suas variáveis e o ótimo global conhecido estão
apresentados na Erro! Autoreferência de indicador não válida..
Tabela 5.5. Limites das variáveis e ótimo global conhecido das funções G
)(xf Limites (ótimo)
G1 )12,11,10(1000)13,9,...,1(10 =≤≤=≤≤ ixix ii -15,0000 G2 )20,...,1(100 =≤≤ ixi -0,8036 G3 )10,...,1(10 =≤≤ ixi -1,0005 G4 )5,4,3(4527453310278 21 =≤≤≤≤≤≤ ixxx i -30665,5386 G5 )4,3(55,055,0)2,1(12000 =≤≤−=≤≤ ixix ii 5126,4967 G6 100010013 21 ≤≤≤≤ xx -6961,8138 G7 )10,...,1(1010 =≤≤− ixi 24,3062 G8 )2,1(100 =≤≤ ixi -0,0958 G9 )7,...,1(1010 =≤≤− ixi 680,6300
G10 )8,...,4(100010
)3,2(10000100010000100 21
=≤≤=≤≤≤≤
ixixx
i
7049,2480
G11 )2,1(11 =≤≤− ixi 0,7499 G12 9,...,2,1,,)3,2,1(100 ==≤≤ rqpixi -1,0000 G13 )5,4,3(2,32,3)2,1(3,23,2 =≤≤−=≤≤− ixix ii 0,0539 G15 )3,2,1(100 =≤≤ ixi 961,7150
38
02:02:02:
08:08:08:
01022:01022:01022:
55)(min1
12989
11768
10547
1236
1125
1014
1211323
1210312
1110211
13
5
4
1
24
1
≤+−−≤+−−≤+−−
≤+−≤+−≤+−
≤−+++≤−+++≤−+++
−−=→ ∑∑∑===
xxxrxxxrxxxr
xxrxxrxxr
xxxxrxxxxrxxxxr
asujeito
xxxxfGi
iii
i i
(5.7)
020*5.7:
075.0:
)(cos2)(cos)(min2
20
12
20
11
20
1
2
20
1
220
1
4
≤−
≤−
−−=→
∑
∏
∑
∏∑
=
=
=
==
ii
ii
ii
iii
i
xr
xr
asujeito
ix
xxxfG
(5.8)
01:
)10()(min3
10
1
21
10
1
10
=−
−=→
∑
∏
=
=
ii
ii
xr
asujeito
xxfG
(5.6)
39
0200019085,00012547,00047026,0300961,9:
0250019085,00012547,00047026,0300961,9:
0900,0021813x
0,00299550,007131780,51249:01100,0021813x
0,00299550,007131780,51249:00,0022053
0,00062620,0056858 85,334407:092 0,0022053
0,00062620,005685885,334407:
141,40792293239,378356891,03578547,5)(min4
43
31536
43
31535
32
21524
32
21523
53
41522
53
41521
15123
≤+−−−−
≤−+++
≤+−
−−−≤−+
++≤−
−−−≤−−
++
−++=→
xxxxxxr
xxxxxxr
xxxxr
xxxxrxx
xxxxrxx
xxxxrasujeito
xxxxxfG
(5.11)
( )
08,1294)25,0(1000)25,0(1000:08,894)25,0(1000)25,0(1000:
08,894)25,0(1000)25,0(1000:055,0:055,0:
3/000002,02000001,03)(min5
3445
24334
1433
432
341
322
311
≤+−−+−≤−+−−+−
≤−+−−+−−≤−+−≤−+−
+++=→
xxsenxsenrxxxsenxsenrxxsenxsenr
xxrxxr
asujeitoxxxxxfG
(5.10)
( ) ( )( ) ( ) 081.8256::
010055:
)20()10()(min6
22
2122
22
211
32
31
≤−−+−
≤+−−−−
−+−=→
xxrr
xxr
asujeitoxxxfG
(5.9)
( ) ( )( ) ( ) 081.8256:
010055:
)20()10()(min7
22
212
22
211
32
31
≤−−+−
≤+−−−−
−+−=→
xxr
xxr
asujeitoxxxfG
(5.12)
40
0)4(1:
01:
)()2()2()(min8
2212
2211
2131
213
≤−+−
≤+−
+−=→
xxr
xxrasujeito
xxxxsenxsenxfG ππ
(5.13)
0115234:
08623196:
01037282:
05432127:
8104710
)11(3)12(5)10()(min9
762321
22
214
726
2213
5423212
5243
42
211
767674
26
65
24
43
22
21
≤−++−+
≤−+++−
≤−++++−
≤+++++−
−−−+++
−++−+−=→
xxxxxxxr
xxxxr
xxxxxr
xxxxxrasujeito
xxxxxxx
xxxxxfG
(5.14)
025001250000:012501250:
0333,8333310033252,833:0)(01,01:
0)(0025,01:0)(0025,01:
)(min10
553836
4425725
14614
583
4752
641
321
≤−++−≤−++−
≤−++−≤−+−
≤−++−≤++−
++=→
xxxxxrxxxxxxr
xxxxrxxr
xxxrxxr
asujeitoxxxxfG
(5.15)
0:
)1()(min11
2121
22
21
=−
−+=→
xxrasujeito
xxxfG
(5.16)
( ) ( ) ( )( )
( ) ( ) ( ) 00625,0:
100/555100)(min12
23
22
211
23
22
21
≤−−+−+−
−−−−−−−=→
rxqxpxr
asujeitoxxxxfG
(5.17)
41
01:
05:010:
)(min13
32
313
54322
25
24
23
22
211
54321
=++
=−=−++++
=→
xxr
xxxxrxxxxxr
asujeitoexfG xxxxx
(5.18)
0567148:025:
21000)(min15
3212
23
22
211
312123
22
21
=−++=−++
−−−−−=→
xxxrxxxr
asujeitoxxxxxxxxfG
(5.19)
Foram feitas 30 execuções independentes para cada função e para cada
variação do APMe ainda, utilizando-se como condição de parada o número de
avaliações da função objetivo. Para este último critério utilizou-se três diferentes
valores, 3105x , 4105x e 5105x . Ressalta-se que estes valores para o número máximo
de avaliações, utilizados como critério de parada, são aqueles usualmente sugeridos na
literatura. Os resultados do melhore do pior valor, da média, do desvio padrão e do
número de soluções factíveis nestas execuçõesestão expostos nas Tabelas 5.6 a 5.20.
Tabela 5.6. Resultados das execuções utilizando o APMcom 5x103 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -14,9907 -14,9724 -14,9798 5 G2 -0,3394 -0,2316 -0,2765 30 G3 -0,9440 -0,9440 - 1 G4 -30663,0129 -30605,2688 -30653,5342 30 G5 - - - - G6 -6292,0334 -2626,0346 -5033,4458 15 G7 29,9579 1039,27975 151,0485 14 G8 -0,08895 -0,08895 - 1 G9 680,6898 681,5515 680,9678 30
G10 - - - - G11 0,7499 0,9352 0,8058 23 G12 -1,0000 -0,8780 -0,9669 30 G13 0,4368 1,4389 0,9192 6 G15 961,7958 966,0375 963,8994 5
42
Tabela 5.7. Resultados das execuções utilizando o APM com 5x104 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,3604 -0,2379 -0,2941 30 G3 -1,0001 -0,9976 -0,9990 8 G4 -30665,5386 -30665,3889 -30665,5290 30 G5 - - - - G6 -6955,6552 -6829,9688 -6921,8408 30 G7 24,4090 38,2542 26,7286 19 G8 -0,0953 0,0192 -0,0310 5 G9 680,6333 680,9144 680,6938 30
G10 - - - - G11 0,7499 0,8197 0,7684 29 G12 -1,0000 -0,8874 -0,9767 30 G13 0,4303 0,9980 0,8190 19 G15 961,7171 967,3415 963,3316 13
Tabela 5.8. Resultados das execuções utilizando o APM com 5x105 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,8036 -0,7601 -0,7994 30 G3 -1,0005 -0,9894 -0,9986 14 G4 -30665,5386 -30665,5386 -30665,5386 30 G5 5140,7590 5140,7590 - 1 G6 -6961,8138 -6961,8138 -6961,8138 3 G7 24,3315 25,6699 24,8695 30 G8 -0,0958 -0,0958 -0,0958 30 G9 680,6317 680,6533 680,6397 30
G10 - - - - G11 0,7499 0,7530 0,7501 30 G12 -1,0000 -0,9693 -0,9974 30 G13 0,0723 3,2191 0,9680 23 G15 961,7322 965,8108 963,2113 11
43
Tabela 5.9. Resultados das execuções utilizando o APM-Mcom 5x103 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -14,2255 -7,7975 -11,1378 30 G2 -0,3653 -0,2200 -0,2789 30 G3 -0,6936 -0,4373 -0,5655 2 G4 -30663,6184 -30613,3020 -30652,8757 30 G5 - - - - G6 -6398,9262 -1322,6534 -4437,5937 13 G7 40,2250 95,0665 71,0090 3 G8 -0,0958 -0,0915 -0,0956 30 G9 680,6776 682,1085 681,0229 30
G10 - - - - G11 0,7500 0,9902 0,8526 28 G12 -1,0000 -0,7838 -0,9434 30 G13 - - - - G15 962,1037 966,9269 964,8989 6
Tabela 5.10. Resultados das execuções utilizando o APM-Mcom 5x104 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,3948 -0,2477 -0,2998 30 G3 -0,8990 -0,5921 -0,7801 4 G4 -30665,5386 -30665,4591 -30665,5304 30 G5 6112,9032 6112,9036 6112,9034 16 G6 -6956,0268 -6201,7469 -6833,3357 30 G7 24,5482 28,5966 25,8978 5 G8 -0,0958 -0,0958 -0,0958 30 G9 680,6401 680,9652 680,7170 30
G10 - - - - G11 0,7499 0,9537 0,8463 30 G12 -1,0000 -0,5540 -0,8932 30 G13 - - - - G15 962,3320 966,4861 964,1577 5
44
Tabela 5.11. Resultados das execuções utilizando o APM-Mcom 5x105 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,8036 -0,7857 -0,8017 30 G3 -0,9770 -0,2160 -0,6550 28 G4 -30665,5386 -30665,5386 -30665,5386 30 G5 5155,7969 5856,8046 5433,7649 5 G6 -6961,8138 -6961,8138 -6961,8138 30 G7 24,3112 25,0359 24,6735 28 G8 -0,0958 -0,0958 -0,0958 30 G9 680,6317 680,6558 680,6411 30
G10 - - - - G11 0,7499 0,7695 0,7542 30 G12 -1,0000 -0,8593 -0,9917 30 G13 - - - - G15 962,6714 966,5342 965,2035 7
Tabela 5.12. Resultados das execuções utilizando o APM-Ecom 5x103 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -14,9933 -14,7930 -14,9166 3 G2 -0,2597 -0,1519 -0,2020 30 G3 - - - - G4 -30662,3749 -30593,7695 -30651,5935 30 G5 - - - - G6 -6863,2635 -3069,8472 -4941,1832 21 G7 25,7964 394,0402 109,2752 10 G8 -0,0927 0,0098 -0,0276 3 G9 680,6878 683,0476 681,1796 30
G10 - - - - G11 0,7499 0,9893 0,8495 28 G12 -1,0000 -0,8593 -0,9628 30 G13 - - - - G15 961,7182 969,6740 965,8186 5
45
Tabela 5.13. Resultados das execuções utilizando o APM-Ecom 5x104 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,4330 -0,2956 -0,3787 30 G3 - - - - G4 -30665,5386 -30665,5185 -30665,5373 30 G5 - - - - G6 -6959,3208 -6843,3235 -6930,9295 30 G7 24,9947 27,9471 26,3302 11 G8 -0,0015 -0,0015 - 1 G9 680,6445 680,8897 680,7115 30
G10 - - - - G11 0,7499 0,9254 0,8097 30 G12 -1,0000 -0,8780 -0,9647 30 G13 - - - - G15 961,7158 970,6221 964,3854 24
Tabela 5.14. Resultados das execuções utilizando o APM-Ecom 5x105 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,8036 -0,7786 -0,8015 30 G3 -0,9987 -0,7760 -0,8916 8 G4 -30665,5386 -30665,5386 -30665,5386 30 G5 - - - - G6 -6961,8138 -6931,7019 -6960,7370 28 G7 24,3141 28,3965 24,8714 26 G8 -0,0958 -0,0536 -0,0938 24 G9 680,6315 680,6566 680,6422 30
G10 - - - - G11 0,7499 0,7866 0,7563 30 G12 -1,0000 -0,9943 -0,9990 30 G13 0,9139 1,0761 0,9951 14 G15 961,7151 966,1513 963,8670 25
46
Tabela 5.15. Resultados das execuções utilizando o APM-A com 5x103 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -14,3990 -8,0580 -10,6461 30 G2 -0,2684 -0,1574 -0,2059 30 G3 - - - - G4 -30664,3088 -30613,5796 -30651,5893 30 G5 - - - - G6 -6326,2718 -1881,8352 -4934,1974 18 G7 26,3752 425,3598 94,3665 13 G8 -0,0958 -0,0958 -0,0958 30 G9 680,6775 682,1262 681,0098 30
G10 - - - - G11 0,7499 0,9847 0,8272 30 G12 -0,9943 -0,8217 -0,9376 30 G13 - - - - G15 961,8337 965,7401 963,2631 8
Tabela 5.16. Resultados das execuções utilizando o APM-A com 5x104 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,4408 -0,2875 -0,3688 30 G3 -0,9967 -0,9771 -0,9848 3 G4 -30665,5386 -30665,5070 -30665,5354 30 G5 5294,5218 5294,5218 - 1 G6 -6960,3282 -6202,7979 -6915,5791 30 G7 24,4380 38,0465 26,5262 17 G8 -0,0958 -0,0958 -0,0958 30 G9 680,6395 680,8988 680,7071 30
G10 - - - - G11 0,7499 0,9379 0,8083 30 G12 -1,0000 -0,8780 -0,9809 27 G13 - - - - G15 961,7153 967,3364 964,4341 18
47
Tabela 5.17. Resultados das execuções utilizando o APM-A com 5x105 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,8036 -0,7926 -0,8017 30 G3 -0,9997 -0,8725 -0,9737 8 G4 -30665,5386 -30665,5386 -30665,5386 30 G5 5128,2129 5206,5685 5167,3907 2 G6 -6961,8138 -6961,8138 -6961,8138 9 G7 24,3410 26,6442 24,8620 29 G8 -0,0958 -0,0958 -0,0958 30 G9 680,6329 680,6624 680,6443 30
G10 - - - - G11 0,7499 1,0000 0,8935 30 G12 -1,0000 -0,7076 -0,9696 30 G13 - - - - G15 961,8157 970,7312 965,1418 27
Tabela 5.18. Resultados das execuções utilizando o APM-V com 5x103 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -14,9433 -14,7937 -14,9246 2 G2 -0,2679 -0,1689 -0,4560 20 G3 - - - - G4 -30663,4569 -30987,5467 -30650,5609 22 G5 - - - - G6 -6890,2390 -3194,8300 -4814,2845 15 G7 26,089 156,4356 93,5254 5 G8 -0,0872 0,0189 -0,0276 5 G9 680,7803 684,4126 681,9601 28
G10 - - - - G11 0,7499 0,9731 0,83095 25 G12 -1,0000 -0,8923 -0,3678 29 G13 - - - - G15 961,7280 969,7741 965,9023 4
48
Tabela 5.19. Resultados das execuções utilizando o APM-V com 5x104 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,4520 -0,2596 -0,7868 29 G3 - - - - G4 -30665,5386 -30665,5205 -30665,5346 30 G5 - - - - G6 -6958,0206 -6732,3231 -6931,0250 29 G7 24,9831 27,0023 25,3959 10 G8 - - - - G9 680,6402 680,9701 680,6409 29
G10 - - - - G11 0,7499 0,8605 0,8129 30 G12 -1,0000 -0,728 -0,0437 29 G13 - - - - G15 961,7167 971,3223 962,0342 22
Tabela 5.20. Resultados das execuções utilizando o APM-V com 5x105 avaliações
)(xf (melhor) )( pior )(med nesf
G1 -15,0000 -15,0000 -15,0000 30 G2 -0,8036 -0,7902 -0,8002 30 G3 -0,9982 -0,78230 -0,8294 9 G4 -30665,5386 -30665,5386 -30665,5386 30 G5 - - - - G6 -6961,8138 -6946,0322 -6960,3349 27 G7 24,3123 27,4323 24,0245 22 G8 -0,0958 -0,0332 -0,0704 20 G9 680,6318 680,6603 680,6207 28
G10 - - - - G11 0,7499 0,7812 0,7434 29 G12 -1,0000 -0,9967 -0,9993 30 G13 0,6979 1,2361 0,9087 10 G15 961,7152 967,4670 964,0093 20
49
5.3.3 EstudoComparativodosResultados
Na Tabela 5.21 comparam-se os resultados obtidos nas execuções do APM
original com suas variantes nos casos onde o número de avaliações da função objetivo
foi fixado em com 5x105, estas dados foram transcritos das Tabelas 5.8, 5.11, 5.14,
5.17 e 5.20. Destam-se, em negrito, os melhores valores encontrados.
Tabela 5.21. Comparativo dos resultados das execuções do APM e suas variantes com 5x105 avaliações da função objetivo
)(xf Ótimo APM APM-M APM-E APM-A APM-V G1 -15,0000 -15,0000 -15,0000 -15,0000 -15,0000 -15,0000
G2 -0,8036 -0,8036 -0,8036 -0,8036 -0,8036 -0,8036
G3 -1,0005 -1,0005 -0,9770 -0,9987 -0,9997 -0,9982
G4 -30665,5386 -30665,5386 -30665,5386 -30665,5386 -30665,5386 -30665,5386
G5 5126,4967 5140,7590 5155,7969 - 5128,2129 -
G6 -6961,8138 -6961,8138 -6961,8138 -6961,8138 -6961,8138 -6961,8138
G7 24,3062 24,3315 24,3112 24,3141 24,3410 24,3123
G8 -0,0958 -0,0958 -0,0958 -0,0958 -0,0958 -0,0958
G9 680,6300 680,6317 680,6317 680,6315 680,6329 680,6318
G10 7049,2480 - - - - -
G11 0,7499 0,7499 0,7499 0,7499 0,7499 0,7499
G12 -1,0000 -1,0000 -1,0000 -1,0000 -1,0000 -1,0000
G13 0,0539 0,0723 - 0,9139 - 0,6979
G15 961,7150 961,7322 962,6714 961,7151 961,8157 961,7152
Pode-se perceber através da Tabela 5.21 que todas as variantes do APM
obtiveram resultados competitivos e, na maioria dos casos, localizaram o ótimo
conhecido. No caso das funções G1, G2, G4, G6, G11 e G12 em todos os casos houve
convergência para o ótimo, na função G3 somente o APM original localizou o ótimo
embora suas variantes tenham ficado muito próximas deste. Adotando-se como
critério a localização do ótimo, pode-se afirmar que das cinco variantes avaliadas, o
APM original foi o mais bem sucedido localizando o ótimo em oito das onze funções
avaliadas.
Para a função G10, em nenhuma variante houve convergência para o ótimo.
Para esta função efetuou-se outras 30 execuções independentes onde o critério de
parada foi definido como sendo a geração onde ocorreu a convergência para o ótimo
de pelo menos uma partícula e está ocorreu quando foram feitas 6,34x105 avaliações
50
da função objetivo. Como escolheu-se o valor de 5x105para efeitos de avaliação do
método com outros disponíveis na literatura esta função não constará dos
comparativos a seguir.
Na Tabela 5.22 comparam-se os resultados das execuções do APM e suas
variantes nos casos onde o critério de parada foi o número de avaliações da função
objetivo fixado em 5x105,rotulados na tabela como PSO-APM, com aqueles obtidos em
(Barbosa e Lemonge, 2008) identificados como AG-APM-N.
Tabela 5.22. Comparativo dos resultados obtidos com a utilização do APM
)(xf (ótimo) Variante PSO-APM AG-APM-N
G1 -15,0000
APM -15,0000 -14,9996 APM-E -15,0000 -14,9997 APM-V -15,0000 -14,9997 APM-A -15,0000 -14,9997 APM-M -15,0000 -14,9996
G2 -0,8036
APM -0,8036 -0,7789 APM-E -0,8036 -0,7873 APM-V -0,8036 -0,7925 APM-A -0,8036 -0,7846 APM-M -0,8036 -0,7838
G3 -1,0005
APM -1,0005 -0,9972 APM-E -0,9987 -0,9361 APM-V -0,9982 -0,9803 APM-A -0,9997 -0,9682 APM-M -0,9770 -0,7666
G4 -30665,5386
APM -30665,5386 -30665,3165 APM-E -30665,5386 -30664,6156 APM-V -30665,5386 -30663,9053 APM-A -30665,5386 -30664,4464 APM-M -30665,5386 -30662,5018
G5 5126,4967
APM 5140,7590 5127,3606 APM-E - 5127,0852 APM-V - 5126,7785 APM-A 5128,2129 5127,0852 APM-M 5155,7969 5128,8444
51
G6 -6961,8138
APM -6961,8138 -6957,5403 APM-E -6961,8138 -6951,1888 APM-V -6961,8138 -6958,1031 APM-A -6961,8138 -6954,9453 APM-M -6961,8138 -6961,4475
G7 24,3062
APM 24,3315 24,7768 APM-E 24,3141 24,8049 APM-V 24,3123 25,0308 APM-A 24,3410 24,5450 APM-M 24,3112 24,7255
G8 -0,0958
APM -0,0958 -0,0958 APM-E -0,0958 -0,0958 APM-V -0,0958 -0,0958 APM-A -0,0958 -0,0958 APM-M -0,0958 -0,0958
G9 680,6300
APM 680,6317 680,7376 APM-E 680,6315 680,7722 APM-V 680,6318 680,7343 APM-A 680,6329 680,8243 APM-M 680,6317 680,6814
G10 7049,2480
APM - 7070,5636 APM-E - 7237,0250 APM-V - 7191,9045 APM-A - 7217,4084 APM-M - 7117,7173
G11 0,7499
APM 0,7499 0,7523 APM-E 0,7499 0,7521 APM-V 0,7499 0,7521 APM-A 0,7499 0,7521 APM-M 0,7499 0,7501
Observando-se os resultados comparativos expostos na Tabela 5.22 pode-se
verificar que o PSOcom o APMnas funções G1, G2, G4, G6, G8 e G11 convergiu para o
ótimo conhecidoonde o AG-APM não conseguiu, exceto na função G8. Ainda que em
nove das onze funções analisadas neste comparativo, o PSO-APMteve um
desempenho superior ao AG-APM e na função G3, utilizando-se o APM original,
52
chegou-se ao ótimo conhecido. Em contrapartida não houve convergência do PSOna
função G10 em nenhuma de suas variantes.
Para efeitos de comparação da utilização do APM e suas variantes, descrevem-
se a seguir, nas Figuras 5.1 a 5.7, a evolução da função de aptidão ao longo das
gerações para os 13 problemas abordados.
Evolução da Aptidão
-16
-14
-12
-10
-8
-6
-4
-2
01 1001 2001 3001 4001
Gerações
Aptid
ão
APM APM-E APM-V APM-A APM-M
(a) Função G01
Evolução da Aptidão
-0,9
-0,8
-0,7
-0,6
-0,5
-0,4
-0,3
-0,2
-0,1
01 1001 2001 3001 4001
Gerações
Apt
idão
APM APM-E APM-V APM-A APM-M
(b) Função G02 Figura 5.1. Evolução da Aptidão para as funções: (a) G01 e (b) G02
53
Evolução da Aptidão
-4
-3
-2
-1
0
1
2
3
4
5
6
1 1001 2001 3001 4001
Gerações
Apt
idão
APM APM-E APM-V APM-A APM-M
(a) Função G03
Evolução da Aptidão
-31000
-30000
-29000
-28000
-27000
-26000
-25000
-240001 1001 2001 3001 4001
Gerações
Aptid
ão
APM APM-E APM-V APM-A APM-M
(b) Função G04 Figura 5.2. Evolução da Aptidão para as funções: (a) G03 e (b) G04
Evolução da Aptidão
4600
4800
5000
5200
5400
5600
5800
1 1001 2001 3001 4001
Gerações
Aptid
ão
APM APM-E APM-V APM-A APM-M
(a) Função G05
Evolução da Aptidão
-50000
0
50000
100000
150000
200000
250000
300000
1 1001 2001 3001 4001
Gerações
Aptid
ão
APM APM-E APM-V APM-A APM-M
(b) Função G06 Figura 5.3. Evolução da Aptidão para as funções: (a) G05 e (b) G06
54
Evolução da Aptidão
20
25
30
35
40
45
50
55
1 1001 2001 3001 4001
Gerações
Apt
idão
APM APM-E APM-V APM-A APM-M
(a) Função G07
Evolução da Aptidão
-0,1
-0,08
-0,06
-0,04
-0,02
0
0,02
1 1001 2001 3001 4001
GeraçõesA
ptid
ão
APM APM-E APM-V APM-A APM-M
(b) Função G08 Figura 5.4. Evolução da Aptidão para as funções: (a) G07 e (b) G08
Evolução da Aptidão
670
680
690
700
710
720
730
740
1 1001 2001 3001 4001
Gerações
Aptid
ão
APM APM-E APM-V APM-A APM-M
(a) Função G09
Evolução da Aptidão
0,6
0,8
1
1,2
1,4
1,6
1,8
1 1001 2001 3001 4001
Gerações
Apt
idão
APM APM-E APM-V APM-A APM-M
(b) Função G11 Figura 5.5. Evolução da Aptidão para as funções: (a) G09 e (b) G11
55
Evolução da Aptidão
-1,2
-0,8
-0,4
01 1001 2001 3001 4001
Gerações
Apt
idão
APM APM-E APM-V APM-A APM-M
(a) Função G12
Evolução da Aptidão
0
0,5
1
1,5
2
2,5
3
3,5
4
1 1001 2001 3001 4001
Gerações
Aptid
ão
APM APM-E APM-V APM-A APM-M
(b) Função G13 Figura 5.6. Evolução da Aptidão para as funções: (a) G12 e (b) G13
Evolução da Aptidão
800
1000
1200
1400
1600
1800
2000
2200
2400
1 1001 2001 3001 4001
Gerações
Aptid
ão
APM APM-E APM-V APM-A APM-M
Figura 5.7. Evolução da Aptidão para a função G15
Para validação do desempenho do PSO utilizando-se a técnica de penalização
adaptativa APM original, descreve-se na Tabela 5.23 um comparativo destes
56
resultados com aqueles obtidos em (Lemonge e Barbosa, 2004; Ullah et al., 2004;
Koziel e Michalewicz, 1999; Wright e Farmani, 2001).Para este comparativo foram
feitas outras 20 execuções do algoritmo nas funções G1 a G11 com população de 70
partículas e 5000 gerações. Os melhores resultados estão destacados em negrito.
Tabela 5.23. Comparativo dos resultados obtidos com a utilização do APM Original
)(xf (ótimo) PSO-APM AG-APM Ullah et al. Koziel e Michalewicz
Wright e Farmani
G1 -15,0000 -15,0000 −15,0000 -15,0000 −14,7184 −14,9996
G2 -0,8036 -0,8036 -0,7780 –0.8036 -0,7948 0,8003
G3 -1,0005 -1,0005 0,9997 –1.0000 0,9978 0,9994
G4 -30665,5386 -30665,5386 −30665,5100 –30665,5390 −30661,5000 −30650,0000
G5 5126,4967 5140,7590 5126,5710 5126,5140 - 5126,6399
G6 -6961,8138 -6961,8138 −6961,7960 –6961,8140 −6944,0000 −6958,4400
G7 24,3062 24,3315 24,8613 24,3250 25,0900 24,6189
G8 -0,0958 -0,0958 -0,0958 –0.0958 -0,0958 -0,0958
G9 680,6300 680,6317 680,7222 680,6310 681,7200 683,4643
G10 7049,2480 - 7080,3280 7280,4360 7321,2000 7788,533
G11 0,7499 0,7499 0,7500 0,7500 0,7500 0,7680
Observando-se a Tabela 5.23 pode-se notar que o PSO-APM atingiu o ótimo
conhecido em sete das onze funções analisadas tendo sido o que obteve melhor
resultado em cincodestas. Na função G10 não houve convergência e nas outras três
funções analisadas, mesmo não tendo obtido o melhor resultado os valores foram
competitivos.
Resolveu-se ainda, para efeitos de verificação de desempenho entre as cinco
técnicas de penalização avaliadas, o APM original e suas quatro variantes, comparar o
número de gerações necessárias em cada uma delas para atingir o ótimo conhecido,
quando foi o caso, ou o melhor valor obtido. Este comparativo foi baseado na
execução do algoritmo com 5x105 avaliações da função objetivo conforme os
experimentos representados nas Tabelas 5.8, 5.11, 5.14, 5.17 e 5.20 representando o
APM, APM-M, APM-E, APM-A e APM-V respectivamente. Este comparativo é
demonstrado nas figuras 5.8 a 5.12 onde pode-se perceber através de uma análise
direta que, em geral, o APM original se mostrou mais competitivo ao convergir para o
ótimo conhecido em um número menor de gerações. Na figura 5.13 são demonstrados
os mesmos resultados em conjunto.
57
(a) Função G01
(b) Função G02
Figura 5.8. Geração onde houve a convergência para as funções: (a) G01 e (b) G02
(a) Função G03
(b) Função G04
Figura 5.9. Geração onde houve a convergência para as funções: (a) G03 e (b) G04
(a) Função G05
(b) Função G06
Figura 5.10. Geração onde houve a convergência para as funções: (a) G05 e (b) G06
58
(a) Função G07
(b) Função G08
Figura 5.11. Geração onde houve a convergência para as funções: (a) G07 e (b) G08
(a) Função G09
(b) Função G11
Figura 5.12. Geração onde houve a convergência para as funções: (a) G09 e (b) G11
Figura 5.13. Geração onde houve a convergência para as funções G01 a G11
59
Ao analisarmos as figuras 5.8 a 5.12 pode-se notar que, em geral, quando foi
utilizado como técnica de penalização o APM orignal, o número de avaliações da
função objetivo necessário para se chegar ao melhor valor encontrado foi menor do
que com relação as suas variantes. Excetuam-se nesta consideração casos pontuais
como, por exemplo, a funçao G08 onde a variante APM-V teve um desempenho
bastante superior ao demais. Já na figura 5.13 se pode perceber mais claramente o
comparativo pois nesta constam todas as funções avaliadas. Deve-se levar em conta
que cada função tem um nível de dificuldade e este diferença é que leva a um número
de avaliações da função objetivo também diferente.
5.4 ProblemasClássicosdaMecânicaEstrutural
São apresentados nesta seção análises de alguns problemas de otimização com
restrições oriundos da engenharia mecânica e estrutural. Utiliza-se para as descrições
dos mesmos as formas padronizadas citadas na literatura.
5.4.1 VasodePressão
O vaso de pressão é um problema em que a função objetivo envolve 4
dimensões a saber: sT é a espessura do vaso, hT a espessura da cabeça, R o raio
interno do vaso e L e o comprimento do componente cilíndrico. Os limites das
variáveis de projeto são 5,0625,0 ≤≤ hs TT sendo sT e hT múltilpos de 06250, e
200,10 ≤≤ LR . O objetivo é a minimização do peso W definido pela equação (5.20).
A Figura 5.14, reproduzida de (Coello Coello, 2000), ilustra o problema do vaso de
pressão.
0240:
0129600034:
000954,0:00193,0:
84,191661,37781,16224,0),,,(min
4
323
2
1
222
≥+−
≥−+
≥−≥−
+++=
Lr
RLRr
RTrRTr
asujeitoRTLTRTRTTLRTTw
h
S
sshhshs
ππ
(5.20)
60
Figura 5.14. Vaso de pressão
A Tabela 5.24 demonstra os resultados obtidos utilizando como função de
penalização o APM e cada uma de suas variantes. O ótimo conhecido deste problema é
dado pelo valor 6059,714335. Para este problema foram feitas 25 execuções
independentes para cada variação do APM e ainda, utilizando como condição de
parada o número de avaliações da função objetivo, neste caso, igual a 5x105. Para
efeitos de comparação, transcreve-se na Tabela 5.25 os resultados obtidos em
(Barbosa e Lemonge 2008).
Tabela5.24. Resultado das execuções para o problema do Vaso de Pressão utilizando-se o PSO
APM APM-M APM-E APM-V APM-A )(melhor 6090,7600 6092,3717 6060,7153 6089,6790 6090,5371
)( pior 6771,7660 6822,2195 6411,5396 6789,4598 6821,614 )(med 6261,0830 6413,4354 6158,6097 6345,9043 6440,8617
nesf 4 5 6 5 9
Tabela 5.25. Resultado das execuções para o problema do Vaso de Pressão em (Barbosa e Lemonge, 2008)
AG-APM AG-APM-M AG-APM-E AG-APM-V AG-APM-A )(melhor 6059.7151 6059.7151 6059.7145 6059.7145 6059.7187
)( pior 7509.8518 7544.4928 7340.3461 7544.4928 7544.5662 )(med 6227.8170 6502.6069 6447.2068 6481.3246 6467.6047
Comparando-se os dados das Tabelas 5.24 e 5.25 pode-se verificar que para
este problema a utilização do AG com o APM obteve melhores resultados. Mesmo
assim, verifica-se que o PSO foi competitivo chegando, no caso de sua variação APM-E
a um valor extremamente próximo ao AG-APM.
61
5.4.2 VigaSoldada
A viga soldada é um problema em que a função objetivo envolve 4 dimensões a
saber: b é a largura da viga, t o comprimento da viga, h a altura da solda e l o
comprimento da mesma. Os limites das variáveis de projeto
são 10125,0 ≤≤ h e 10,,1,0 ≤≤ btl . O objetivo é a minimização do custo da viga c
definido pela equação (5.21). A Figura 5.15, reproduzida de (Lemonge e Barbosa,
2004), ilustra o problema da viga soldada.
Figura 5.15. Viga soldada
( ) ( )( )( )( )
( )
( )
++
+=
==
−=
=++=
++=
≥−≥−
≥−≥−
≥−
++=
22
''
'3
3
222
'''2''2'
5
4
3
2
1
2
25,012
707,02
5,01460002
6000,1952,20282346,01022,64746
504000,25,0
/
025,0:06000:
0:030000:
013600:
)0,14(04811,010471,1),,,(min
thlhl
lhlbt
tbPcbt
thl
l
onderPrhbr
rrasujeito
ltblhbtlhc
c
ατ
τδ
σα
ατττττ
δ
στ
(5.21)
62
Para este problema foram feitas 30 execuções independentes e a função
objetivo foi avaliada 5x105 vezes. A Tabela 5.26 demonstra os resultados obtidos
utilizando o PSO e, como função de penalização o APM e cada uma de suas variantes
comparados com aqueles obtidos em (Lemonge e Barbosa, 2004) e designados po AG-
APM.
Tabela 5.26. Resultado das execuções para o problema do Viga soldada
APM APM-M APM-E APM-V APM-A AG-APM )(melhor 2,3975 2,4032 2,3998 2,3971 2,4089 2,3962
)( pior 3,8895 4,2209 3,8769 3,9905 4,0010 3,3995 )(med 2,9065 3,0029 2,8879 3,0045 3,1960 -
nesf 14 5 10 4 6 -
5.4.3 RedutordeVelocidade
O redutor de velocidade é um problema de minimização sujeito às tensões dos
dentes da engrenagem, tensão de superfície, os desvios dos eixos transversais e as
tensões no eixo cuja função está definida na equação (5.22). A função objetivo envolve
7 dimensões a saber: 1x é a larguda da face, 2x é o módulo dos dentes, 3x é o número
de dentes no pinhão, 4x comprimento do eixo do punho entre rolamentos, 5x é o
comprimento do eixo do segundo entre rolamentos e 6x e 7x são o diâmetro do
primeiro e segundo eixos.Os limites dessas variáveis são: 6,36,2 1 ≤≤ x , 8,07,0 2 ≤≤ x ,
2817 3 ≤≤ x , 3,83,7 4 ≤≤ x , 3,88,7 5 ≤≤ x , 9,39,2 6 ≤≤ x e 5,50,5 7 ≤≤ x . A solução
ótima conhecida é 3480,2996 . A Figura 5.16,reproduzida de (Cagninaet al., 2008),
ilustra o problema do redutor de velocidade.
Figura 5.16. Redutor de Velocidade
63
019,11,1:
019,15,1:0112
:
015:0140
:
0110x5,1570,74585
0,1:
0110x9,160,745100
0,1:
0193,1:0193,1:
015,397:0127:
)(7854,0)(4777,7
)(508,1)0934,439334,143333,3(78540)(min
5
711
4
610
2
19
1
28
327
62
32
537
6
62
32
436
5
4732
35
44632
34
3
23
221
23
221
1
275
264
37
36
27
2613
23
221
≤−+
≤−+
≤−
≤−≤−
≤−+
≤−+
≤−≤−
≤−≤−
++++
+−−+=
xxr
xxr
xxr
xxrxxr
xxx
xr
xxx
xr
xxxxr
xxxxr
xxxr
xxxr
asujeitoxxxxxx
xxxxxxx,xf
(5.22)
Para este problema foram feitas 30 execuções independentes e a função
objetivo foi avaliada 24x103 vezes. A Tabela 5.27 demonstra os resultados obtidos
utilizando como função de penalização o APM e cada uma de suas variantes e tambem
os resultados obtidos pelo Sic-PSO (Cagnina et al., 2008) e pelo COPSO (Aguirre et al.,
2007).
Tabela 5.27. Resultado das execuções para o Redutor de Velocidade
)(melhor
APM 2996,3481 APM-M 2998,5456 APM-E 2997,8845 APM-V 2996,8907 APM-A 2998,3245 Sic-PSO 2996,3481 COPSO 2996,3481
Pode-se observar pela Tabela 5.27 que o APM original, o Sic-PSO e o COPSO
obtiveram o melhor resultado e ainda, que a variante APM-V obteve um valor
relativamente próximo este. As demais variantes obtiveram valores competivivos.
64
5.4.4 Treliçade10Barras
A treliça de 10 barras é um problema de minimização do peso da estrutura
representada pela Figura 5.17 extraida de (Lemonge e Barbosa, 2004). Neste problema
a área transversal de cada um dos 10 membros da estrutura está sendo otimizada para
a minimização do peso total. As dimensões a serem otimizadas são as áreas
transversais de cada uma das 10 barras, a tensão admissível é de ksi25± e os
deslocamentos limitados a 2 polegadas nas direções X e Y. A densidade do material é
de 3/1,0 inlbs , o módulo de elasticidade é ksiE 410= e a carga vertical para baixo é de
kips100 aplicados aos nós 2 e 4. No total, este problema trata 18 restrições sendo 10
para as tensões admissíveis e 8 para os deslocamentos admissíveis. A função objetivo
que representa esta treliça esta exposta na equação (5.23) onde S é a densidade, iA
é a área das barras e iL os comprimentos das barras.
Para este problema são analisados dois casos, o caso contínuo onde as variáveis
de projeto são as áreas das secções transversais das barras limitadas por
)10,1(,401,0 2 K=≤≤ iinxi e, o caso discreto onde estes valores são escolhidos a
partir do conjunto de 42 valores a saber: 1,62, 1,80, 1,99, 2,13, 2,38, 2,62, 2,63, 2,88,
2,93, 3,09, 3,13, 3,38, 3,47, 3,55, 3,63, 3,84, 3,87, 3,88, 4,18, 4,22, 4,49, 4,59, 4,80,
4,97, 5,12, 5,74, 7,22, 7,97, 11,50, 13,50, 13,90, 14,20, 15,50, 16,00, 16,90, 18,80,
19,90, 22,00, 22,90, 26,50, 30,00, 33,50.
Figura 5.17. Treliça de 10 Barras
65
∑=
=10
1)(min
iiii LAAV (5.23)
Para o caso continuo foram feitas 20 execuções independentes e adotado como
critério de parada 28x104 avaliações da objetivo sendo este valor o utilizado nas
referências para comparação. A Tabela 5.28 demonstra os resultados obtidos com a
utilização do APM e suas quatro variantes, já a Tabela 5.29 compara os resultados
obtidos do PSO-APMcomoutras abordagens extraidas da literatura. (Lemonge e
Barbosa, 2004; Haug e Arora,1979; Lemonge, 1999; Haftka e Kamat, 1985).
Tabela 5.28. Resultados das execuções para o problema da Treliça de 10 Barras contínuo
APM APM-M APM-E APM-V APM-A )(melhor 5060,8760 5060,9220 5060,8990 5060,9304 5060,9030
)( pior 5061,2020 5061,1240 5061,1510 5061,1908 5061,0360 )(med 5061,0210 5061,0150 5060,9800 5061,8703 5060,9670
Tabela 5.29. Comparativo dos Resultados das execuções para o problema da Treliça de 10 Barras contínuo
Barra PSO-APM Lemonge e Barbosa, 2004
Haug e Arora
Lemonge, 1999
Haftka e Kamat
1 30,5431 29,2256 30,0310 30,5609 30,5200 2 0,1000 0,1000 0,1000 0,1000 0,1000 3 23,1906 24,1821 23,2740 23,1699 23,2000 4 15,1972 14,9471 15,2860 15,1122 15,2200 5 0,1000 0,1000 0,1000 0,1000 0,1000 6 0,5425 0,3946 0,5565 0,5491 0,5510 7 7,4581 7,4957 7,4683 7,4704 7,4570 8 21,0317 21,9248 21,1980 21,0991 21,0400 9 21,5483 21,2908 21,6180 21,5271 21,5300
10 0,1000 0,1000 0,1000 0,1000 0,1000
Peso 5060,8760 5069,0860 5061,6000 5060,9200 5060,8000
Os dados da Tabela 5.29 indicam que, embora o PSO-APM não tenha obtido o
melhor resultado dentre os analisados, este foi melhor do que o AG-APM e ficou bem
próximo ao melhor obtido encontrado em (Haftka e Kamat, 19850). Ao se comparar
com a Tabela 5.28 também se pode verificar que as variantes do APMcom o
PSOtiveram valores competitivos e melhores do que o AG-APM.
S
66
Para o caso discreto foram feitas 20 execuções independentes e adotado como
critério de parada 9x104. A Tabela 5.31 compara os resultados obtidos do PSO-APM
com outras abordagens extraidas da literatura. (Lemonge e Barbosa, 2004;
Krishnamoorty e Rajeev, 1992; Galante, 1996; Gellatly e Berke, 1971).
Uma análise da Tabela 5.30 indica que o PSO-APM convergiu para um valor
levemente infactível e igual ao obtido em (Galante, 1996). A melhor solução ficou
sendo a obtida pelo AG-APM. Um estudo de factibilidade destas soluções tanto para o
caso contínuo quanto para o caso discreto é citado em (Lemonge & Barbosa, 2003).
Tabela 5.30. Comparativo dos Resultados das execuções para o problema da Treliça de 10 Barras discreto
Barra PSO-APM AG-APM Krishnamoorty e Rajeev Galante Gellatly e
Berke 1 33,50 33,50 33,50 33,50 33,50 2 1,62 1,62 1,62 1,62 1,62 3 22,00 22,90 22,00 22,00 22,00 4 14,20 14,20 15,50 14,20 13,90 5 1,62 1,62 1,62 1,62 1,62 6 1,62 1,62 1,62 1,62 1,62 7 7,97 7,97 14,20 7,97 7,97 8 22,90 22,90 19,90 22,90 22,90 9 22,00 22,00 19,90 22,00 22,90
10 1,62 1,62 2,62 1,62 1,62
Peso 5458,3379 5490,7480 5613,5800 5458,3379 5493,3600
5.5 OutrosProblemas
Para maiores comparações elencou-se outros 4 problemas disponíveis na
literatura (Himmelblau 1972; Floudas 1999) descritos nas equações(5.24) a (5.27) a
seguir. Os limites das variáveis destes problemas, bem como o ótimo global
conhecido,estão definidos Tabela 5.31.
67
Tabela5.31. Limites das variáveis e ótimos global conhecidos das funções
)(xf Limites (ótimo)
P01 22.179- 26.662,- 10.708,- 24.1,-
14.986,- 24.721,- 5.914,- 34.054,- -17.164, 6.089,- )10,...,1(100
10987
6543
21
========
===≤≤
cccccccc
ccixi −47,7648
P02 )3,2,1(100 =≤≤ ixi 961,7150 P03 200)8,...,1(1010 9 ≤≤=≤≤− xixi −0,8660 P04 4030 21 ≤≤≤≤ xx −5,5080
012:012:
0222:
ln)(min01
1098733
76542
1063211
10
110
1
=−++++=−+++
=−++++
+=→ ∑
∑==
xxxxxrxxxxr
xxxxxrasujeito
xjxcxxfP
ij
iii
(5.24)
0567148:025:
21000)(min02
3212
23
22
211
312123
22
21
=−++=−++
−−−−−=→
xxxrxxxr
asujeitoxxxxxxxxfP
(5.25)
( )
( )( ) ( )( ) ( )( ) ( )( ) ( )
( )
0:0:0:
0:01:
01:
01:
01:
01:
0:01:
01:01:
5,0)(min03
857613
95129311
4132102
98279
284
2738
264
2537
282
2716
262
2515
292
214
26
253
292
24
231
768595933241
≤−≤≤−
≤+≤−−+
≤−−+−
≤−−+−
≤−−+−
≤−−+−
≤−+≤−+
≤−≤−+
−+−+−−=→
xxxxrxxrxxr
xxxxrxxxr
xxxxr
xxxxr
xxxxr
xxxxr
xxxrxxr
xrxxrasujeito
xxxxxxxxxxxxxfP
(5.26)
68
0369688324:02882:
)(min04
2121
31
412
221
31
411
21
≤−++−+−
≤−+−+−
−=→
xxxxxrxxxxr
asujeitoxxxfP
(5.27)
5.5.1 ResultadosObtidos
Foram executadas 30 rodadas independentes com número de avaliações da
função objetivo fixado em 3500 e uma população de 400 indivíduos tal qual utilizado
em (Ullah et al., 2004). Descrevem-se nas Tabelas 5.32 a 5.35um comparativo dos
resultados obtidos com a utilização do APM original e suas 4 variantes. Na Tabela 5.36
apresenta-se um comparativo dos resultados obtidos com o APM e aqueles obtidos em
(Ullah et al., 2004; Koziel e Michalewicz, 1999; Wright e Farmani, 2001).
Tabela 5.32. Resultados das execuções para o problema P01
APM APM-M APM-E APM-V APM-A )(melhor −47,7655 -47,6809 -47,7090 -47,7190 -47,6956
)( pior -45,0966 -45,9867 -44,9067 -45,0976 -45,9867 )(med -46,9034 -46,4490 -45,9978 -46.7809 -46,5978
nesf 28 20 19 18 15
Tabela 5.33. Resultados das execuções para o problema P02
APM APM-M APM-E APM-V APM-A )(melhor 961,7156 963,4942 962,0627 963,4430 962,1883
)( pior 973,1286 977,8744 976,1483 979,0945 977,8885 )(med 962,9171 974,1869 966,7005 968,3479 971,6139
nesf 28 25 12 10 19
Tabela 5.34. Resultados das execuções para o problema P03
APM APM-M APM-E APM-V APM-A )(melhor -0,8655 -0,8649 -0,8651 -0,8647 -0,8650
)( pior -0,6509 -0,7009 -0,6438 -0,6345 -0,6903 )(med -0,7582 -0,7683 -0,7534 -0,7845 -0,7609
nesf 2 3 3 3 3
69
Tabela 5.35. Resultados das execuções para o problema P04
APM APM-M APM-E APM-V APM-A )(melhor -5,5080 -5,5032 -5,4967 -5,3232 -5,5002
)( pior -4,9867 -4,5690 -4,6098 -4,5798 -4,1209 )(med -5,0345 -5,2390 -5,3090 -5,2956 -5,6089
nesf 5 4 5 3 4
Tabela 5.36. Comparativo dos resultados obtidos com a utilização do APM
)(xf Ótimo Conhecido APM Ullah et al Tasgetiren and
Suganthan P01 −47,7648 −47,7655 −47,7520 −47,7648 P02 961,7150 961,7156 961,7150 961,7150 P03 −0,8660 -0,8655 −0,8660 −0,8660 P04 −5,5080 -5,5080 −5,5080 −5,5080
Analisando-se as Tabelas 5.32 a 5.35 verifica-se que o APM original obteve
melhor resultado na maioria dos casos, no entanto, as diferenças entre os valores
obtidos com suas variantes são pequenas não inviabilizam a utilização destas.
A Tabela 5.36 evidencia que o APM, neste caso, mesmo sendo competitivo não
obteve o melhor resultado, no entanto, a diferença entre os valores obtidos pelo APM
e os melhores resultados é muito reduzida.
70
Capítulo6
6 Conclusão
Neste trabalho foram abordadas algumas técnicas para o tratamento de
problemas de otimização com restrições. A ênfase foi dada aos algoritmos evolutivos
bio-inspirados em especial ao algoritmo de exame de partículas PSO para resolver os
problemas selecionados.
O PSO tem seu processo de localização da solução ótima modelado com base
no comportamento social de grupos de indivíduos. Inicia-se a busca de forma
desordenada e ao longo da execução do algoritmo uma organização se apresenta e
todas as partículas se dirigem para o ponto ótimo localizado. Ainda, o PSO é um
algoritmo bastante eficiente e utilizado na literatura para a otimização de funções
matemáticas mas não tem métodos próprios para o tratamento de funções que
possuem restrições aos valores obitidos para suas variáveis.
Foi feita uma análise de técnicas para o tratamento de restrições destacando-se
as técnicas de penalização adaptativa que não necessitam que parâmetros externos a
serem definidos. Neste grupo foi enfatizada a técnica de penalização adaptativa
denominada APM. Esta técnica foi desenvolvida e aplicada originalmente aos
algoritmos genéticos e tem demonstrado ser robusta e eficiente. Ela trata restrições de
igualdade e desigualdades; não demanda o conhecimento explícito das restrições
como funções das variáveis do problema; é livre de parâmetros a serem definidos pelo
usuário e; é de fácil implementação computacional.
71
Foram implementados o PSObásico originalmente proposto por (Kennedy e
Eberhart, 1995)e o APM com suas quatro variantes recentemente disponibilizadas na
literatura a saber, o APM Esporádico, o APM Esporádico com acumulo das violações
das restrições, o APM Monotônico e por fim, o APM com Amortecimento.
A implementação PSO-APM foi testada com as funções “G” e se mostrou
bastante eficiente no estudo comparativo, baseado na localização do ótimo conhecido
ou de soluções próximas a este. Na maioria dos casos o PSO-APM localizou o ótimo
conhecido. Foram apresentados estudos comparativos com outras técnicas disponíveis
na literatura e o PSO-APM se mostrou competitivo.
Nos testes efetuados com os problemas de engenharia o PSO-APM também se
mostrou eficiente bem como nos últimos problemas apresentados nesta dissertação.
Pode-se considerar que a técnica de penalização adaptativa APM se mostrou
robusta e bastante satisfatória para utilização em mais um algoritmo populacional bio-
inspirado e pode se tornar uma opção de baixo custo computacional se aplicada aos
demais algoritmos desta natureza.
Apresentou-se um estudo comparativo entre as cinco técnicas de penalização
utilizadas, o APM original e suas quatro variantes. Neste estudo levou-se em conta a
geração onde houve a convergência para o ótimo conhecido das funções “G”. Pode-se
verificar que as cinco técnicas são eficientes, mas, na maioria dos casos, o APM original
chegou ao ótimo conhecido com um número menor de avaliações da função objetivo.
Pode-se sugerir que, se o problema a ser otimizado é de alto custo computacional na
avaliação das restrições, a utilização de uma das outras variantes do APM, por
exemplo, o APM-E tende a ser uma melhor alternativa visto que não é necessária a
reavaliação do parâmetro de penalização a cada geração, em contrapartida, o APM
original, como dito anteriormente, utilizou uma menor quantidade de avaliações da
função objetivo.
Sendo assim, a decisão de se utilizar o APM ou uma de suas variantes como
técnica de penalização estará fortemente relacionada ao problema avaliado e ao custo
computacional destes e de suas restrições.
Como desenvolvimento futuro desta pesquisa sugere-se a implementação do
APM em outros algoritmos evolutivos para verificação de seu desempenho como, por
72
exemplo, os algoritmos de colônia de formigas e sistemas imunológicos artificiais.
Pretende-se também aplicar o PSO-APM a outros problemas clássicos da engenharia
mecânica e estrutural. É sugerido também a utilização do APM com novas
implementações feitas no PSO básico que provavelmente podem melhorar o
desempenho do algoritmo.
Sugere-se também um estudo mais detalhado dos parâmetros utilizados no
PSO em especial no valor de inércia. Uma abordagem para inércia dinâmica pode ser
uma sugestão bastante válida no intuito de tornar o PSO menos dependente de fatores
externos.
73
Referências
Adams, J., Balas, E.,Zawack, D., The shiftingbottleneck procedure for job shop
scheduling.Management Science, 34:57–73, 1988.
Aguirre, A. H., Zavala A. M., Diharce E. V., Rionda S. B., COPSO:
ConstrainedOptimization via PSO Algorithm. Technical report No. I-07-04/22-02-2007,
Center for Research in Mathematics (CIMAT), 2007.
Albrecht, C. H., Algoritmos Evolutivos Aplicados À Síntese e Otimização de Sistemas de
Ancoragem, Tese de Doutorado, Programa de Engenharia Oceânica, COPPE/UFRJ,
2005.
AlRashidi, M., El-Hawary, M., A Survey of Particle Swarm Optimization Applications in
Electric Power Systems. In IEEE Transactions on Evolutionary Computation, pp. 913-
918, 2009.
Barbosa, H. J. C., Lemonge, A. C. C., An Adaptive Penalty Method for Genetic
Algorithms in Constrained Optimization Problems. In: Aleksandar Lazinica. (Org.).
Frontiers in Evolutionary Robotics. Vienna: I-Tech Education and Publishing, 2008, v. 1,
pp 9–34.
74
Bazarra, M. S., Sherali, H.D., Shetty, C.M., NonLinear Programming Theory and
Algorithms. Wiley & Sons. 2006.
Bean, J.C., Alouane, A.B., A dual genetic algorithm for bounded integer programs.
Technical Report TR 92-53. Departament of Industrial and Operations Engineering. The
University of Michigan, 1992.
Bell, J. E., McMullen, P. R., Ant colony optimization techniques for the vehicle routing
problem.Advanced Engineering Informatics, pp 41–48, 2004.
Benedetti, M., Azaro, R., Franceschini, D., Massa, A., Pso-based real-time control of
planar uniform circular arrays, In Antenas and Wireless Propagation Lettres, pp 545-
548, 2006.
Bernardino, H. S., Hibridização de Algoritmos Genéticos e SistemasImunolóogicos
Artificiais para Problemas de Otimizaçãocom Restrições em Engenharia, Dissertação de
Mestrado, Programa de Pós-Graduação em Modelagem Computacional, UFJF, 2008.
Bernardino, H. S., Barbosa, H. J. C., Lemonge, A. C. C., Fonseca, L. G., On GA-AIX Hybrids
for Constrained Optimization Problems in Engineering, Constraint-Handling in
Evolutionary Optimization, Studies in Computacional Intelligence, pp. 167-192,
Springer, 2009.
Blackwell, T., Bentley, P., Improvised music with swarms, In Proceedings of the 2002
Congress on Evolutionary Computation, pp 1691-1692, 2002.
Cagnina, L. C., Esquievel, S. C., Coello, C. A., Solving Engineering Optimization Problems
with the Simple Constrained Particle Swarm Optimizer. Informatica, 32, pp 319-326,
2008.
75
Capriles, P. V. S. Z., Fonseca, L. G., Barbosa, H. J. C., Lemonge, A.C.C., Rank-based Ant
colony Algorithms for Truss Weight Minimization with Discrete Variables,
Communications in Numerical Methods in Engineering,Vol: 23, No: 6,pp 553-576, 2007
Castro, L. N., Engenharia Imunológica: Desenvolvimento e Aplicação de Ferramentas
Computacionais Inspiradas em Sistemas Imunológicos Artificiais. Tese de D.Sc.
UNICAMP, Campinas, São Paulo, Brasil, 2001.
Castro, L. N., Timmis, J., An Artificial Immune Network for Multimodal Function
Optimization, In Proceedings of the IEEE Congress on Evolutionary Computation, 1, pp.
699-674, May, Hawaii, 2002.
Castro, L. N., Von Zuben, F. J., Learning and Optimization using the Clonal Selection
Principle, Special Issue on Artificial Immune Systems, IEEE Transactions on Evolutionary
Computation, 6, pp. 239-252, 2002.
Chatterjee, A., Siarry, P.,Nonlinear Inertia Weight Variation for Dynamic adaptation in
Particle Swarm Optimization,Computers & Operations Research, Elsevier, Article in
Press, 2004.
Coello, C. A. C., Use of a self-adaptive penalty approach for engineering optimization
problems. Computers in Industry, pp.113 –127, 2000.
Coello, C.A.C., Theoretical and Numerical Constraint Handling Techniques used with
EvolutionaryAlgorithms: A Survey of the State of the Art. Computer Methods in
AppliedMechanics and Engineering 191(11-12), pp. 1245–1287, 2002.
Coello, C., Luna E., Use of particle swarm optimization to design combinational logic
circuits. Tyrell A., Haddow P., Torresen J., eds, %th International Conference on
Evolvable System: from biology to hardware, vol. 2606, pp. 398–409, 2003.
76
Colorni, A., Dorigo, M., Maniezzo, V., Distributed optimization by ant colonies. In:
Proceedings of ECAL’91 - European Conference on Artificial Life. Paris, France: Elsevier
Publishing, pp. 134–42, 1998.
Davis, L., HandBook of Genetic Algorithms, Van Nostrand Reinhold, New York, MY,
1991.
Donelli, M., Azaro, R., Natale, F. D., Massa, A., An innovative computational approach
based on a particle swarm strategy for adaptative phased-arrays control, IEEE
Transactions on Antenas and Propagation, v.54 pp.888-898, 2006
Dorigo, M., Stützle, T., Ant Colony Optimization, Massachusetts Institute of
Technology, 2004.
Dowsland, K.A., Simulated Annealing, InReeves, C.R. (ed), Modern Heuristic
Techniquesfor Combinatorial Problems, Blackwell ScientificPublications, 20-69, 1993.
Eberhart, R. C., Shi, Y., A Modified Particle Swarm Optimizer, IEEE International
Conference on Evolutionary Computation, Anchorage, Alaska, pp. 1945–1950, 1998.
Eberhart, R. C., Shi, Y., Comparing Inertia Weights and Constriction Factors in Particle
Swarm Optimization, IEEE International Conference on Evolutionary Computation, San
Diego, California, pp. 84–88, 2000.
Elkamchouchi, H. M., Wagih, M. M., Dynamic null steering in linear antenna arrays
using adaptative particle swarm optimization algorithm, In Third International
Conference on Wireless and Mobile Communications, pp 24-25, 2007
77
Floudas, C.A., Pardalos P.M., A collection of test problems for constrained global
optimization algorithms. In: Lecture notes in computer science, vol 455. Springer,
Berlin, 1990.
Fourie P. C., Groenwold, A. A., The particle swarm optimization algorithm in size and
shape optimization. Structural and Multidisciplinary Optimization, Vol. 23, pp. 259–
267, 2002.
Franken, N., Engelbrecht, A., PSO aproaches to coevolve ipd strategies, In Congress on
Evolutionary Computation, pp 356-363, 2004.
Galante M., Genetic algorithms as an approach to optimize real-world trusses.
International Journal for Numerical Methods in Engineering, 39 pp. 361–382, 1996.
Gellatly R. A., Berke L., Optimal structural design. Technical ReportAFFDL-TR-70-165,
Air Force FlightDynamics Laboratory, AFFDL, 1971.
Goldberg, D.E., Genetic Algorithms in Search, Optimization and Machine Learning,
Addison-Wesley, 1989.
Gen, M., Cheng, R., A survey of penalty techniques in genetic algorithms, in: T. Fukuda,
T. Furuhashi (Eds.), Proceedings of the 1996 International Conference on Evolutionary
Computation, IEEE, Nagoya, Japan, pp. 804–809, 1996.
Glover, F., Laguna, M., Tabu Search. KluwerAcademic Publishers, page 382, 1997.
Hamida, S.B., Shoenauer, M., An adaptive algorithm for constrained optimization
problems. Parallel Problem Solving from Nature- PPSN VI, Vo. 1917, Berlin. Springer-
Verlag. Lecture Notes in Computer Science, pp. 529–538, 2000.
78
Haftka, R. T., Kamat, M. P., Elements of Structural Optimization, Martinus Nighoff,
Dordrecht, 1985.
Haug, E.J., Arora, J.S., Applied Optimal Design: mechanical and structural systems.
Wiley, New York, 1979.
He, S., Prempain, E., Wu, Q. H., An improved particle swarm optimizer for mechanical
design optimization problems, Engineering Optimization, No. 5, pp 585-605, 2004.
Himmelblau, D.M., Applied nonlinear programming. McGraw-Hill, USA, 1972.
Homaifar A., Lai, S.H.Y., Qi X., Constrained optimization via genetic algorithms,
Simulation, pp.242–254, 1994.
Hu, X., Eberhart, R. C., Shi, Y., Engineering Optimization with Particle Swarm, Swarm
Intelligence Symposium, 2003.
Joines, J., Houck, C., On the use of non-stationary penalty functions to solve nonlinear
constrained optimization problems with GAs, in: D. Fogel (Ed.), Proceedings of the First
IEEE Conference on Evolutionary Computation, IEEE Press, Orlando, FL, pp. 579–584,
1994.
Kazarlis, S., Petridis , V., Varying fitness functions in genetic algorithms: Studying the
rate of increase of the dynamic penalty terms, in: A.E. Eiben, T. Bäck, M. Schoenauer,
H.-P. Schwefel (Eds.), Parallel Problem Solving from Nature V – PPSN V, Springer,
Amsterdam, Netherlands, 1998.
79
Kennedy, J., Eberhart, R. C., Particle swarm optimization. In Proceedings of the 1995
IEEE International Conference on Neural Networks, volume 4, pp. 1942–1948, Perth,
Australia, IEEE Service Center, Piscataway, NJ, 1995.
Kirkpatrick, S., Gellat, D. C.,Vecchi, M. P., Optimizations by Simulated Annealing.
Science v. 220, pp. 671-680, 1983.
Koziel, S., Michalewicz, Z., Evolutionary algorithms, homomorphous mappings, and
constrained parameter optimization. Evolutionary Computation, 1999.
Krishnamoorty C. S., Rajeev S., Discrete optimization of structures using genetic
algorithms. JournalofStructuralEngineering 118(5)pp; 1233 –1250, 1992.
Lemonge, A.C.C., Aplicação de Algoritmos Genéticos em Otimização Estrutural, Tese
de Doutorado, Programa de Engenharia Civil, COPPE/UFRJ, 1999.
Lemonge, A. C. C., Barbosa, H. J. C., An adaptive penalty scheme for genetic algorithms
in structural optimization, International Journal For Numerical Methods In Engineering,
pp. 703–706, 2004.
Maros, I., Computational Techniques of the Simplex Method. Kluwer Adademic
Publishers, 2003.
Moscato, P., On evolution, search, optimization, genetic algorithms and martial arts:
Towards memetic algorithms. Relatório técnico, California Institute of Technology,
Pasadena, California, USA, 1989.
Michalewicz, Z., Genetic Algorithms + Data Structures = Evolution Programs, Third
Edition, Springer, 1996.
80
Oyama, A., Constraint-Handling in Evolutionary Aerodinamic Design, Constraint-
Handling in Evolutionary Optimization, Studies in Computacional Intelligence, pp. 237-
262, Springer, 2009.
Parsopoulos, K. E., Vrahatis, M. N., Particle Swarm Optimization Method for
Constrained Optimization Problems, Intelligent Technologies - Theory and
Applications: New Trends in Intelligent Technologies, pp. 214–220, 2002.
Radcliffe, N.J., Surry, P.D., Formal Memetic Algorithms. Fogarty, T., editor,Evolutionary
Computing: AISB Workshop, Lecture Notes in Computer Science, pp.1–16, Berlin.
Springer-Verlag, 1994.
Rau, S. S., Engineering Optimization Theory and Practice. Wiley & Sons, 2009
Ray, T., Liew, K. M., A swarm with an effective information sharing mechanism for
unconstrained and constrained single objective optimization problems, Proceedings of
IEE Congress on Evolutionary Computation (CEC 2001), pp. 77–80, 2001.
Selvan S., Xavier C., Karssemeijer, N., Sequeira, J.,Cherian R., Dhala, B., Parameter
estimation in stochastic mammogram model by heuristic optimization techniques, In
IEEE Transations on Information Technologies in Biomedicine, pp 685-695, 2009.
Siddall, J. N., Optimal Engineering Design: Principles and Applications, Marcel Drekker,
inc., New York, 1982.
Silva, A. F., Lima, B. S. L. P., Jacob, B. P., Lemonge, A. C. C., Barbosa, H. J. C., Aplicação
de uma Técnica Adaptativa de Penalização a um PSO para Solução de Problemas de
Otimização com Restrições. In: Iberian-Latin-American Congress on Computational
Methods in Engineering, Buzios, 2009.
81
Silva, A. F., Lima, B. S. L. P., Jacob, B. P., Lemonge, A. C. C., Barbosa, H. J. C., Solução de
Problemas de Otimização com Restrições via um Algoritmo Bio-inspirado utilizando
uma Estratégia de Penalização Adaptativa. In: IX Simpósio de Mecânica Computacional,
São João Del Rei, 2010.
Sivanandam, S. N., Deepa, S. N., Introduction to Genetic Algorithms. Springer. 2008.
Sim, K. M., Sun, W. H., Ant colony optimization for routing and load-balancing: Survey
and newdirections, IEEE Transactions on Systems, Man, and Cybernetics, 2003.
Smith, A.E., Tate, D.M., Genetic optimization using a penalty function, in: S. Forrest
(Ed.), Proceedings of the Fifth International Conference on Genetic Algorithms,
University of Illinois at Urbana-Champaign, Morgan Kaufmann, San Mateo, CA, pp.
499–503, 1993.
Tasgetiren, M.F., Suganthan, P.N., A multi-populated differential evolution algorithm
for solving constrained optimization problem. In: IEEE congress on evolutionary
computation, 2006. CEC 2006, pp 33–40, 2006.
Ullah, A. S. S. M. B., Sarker, R., CornforthD., Lokan C., An Agent-based Memetic
Algorithm (AMA) for Solving Constrained Optimization Problems, Evolutionary
Computation, 2007. CEC 2007. IEEE Congress, pp. 999-1006, 2007.
Venter G., Sobieszczanski-Sobieski J., Multidisciplinary optimization of a transport
aircraft wing using particle swarm optimization. In 9th AIAA/ISSMO Symposium on
Multidisciplinary Analysis and Optimization, Atlanta, GA, 2002.
Vieira, I. A., Algorítmos Bio-Inspirados Aplicados à Otimização de Risers Rígidos em
Catenária, Dissertação de Mestrado, Programa de Engenharia Civil, COPPE/UFRJ, 2009.
82
Wright, J.A., Farmani, R., Genetic algorithms: A fitness formulation for constrained
minimization. In Proceedings of the Genetic and Evolutionary Computation
Conference—GECCO 2001. Morgan Kaufmann, pp. 725–732, San Francisco, CA, 2001.
Xu, R., Anagnostopoulus, G. C., Wunsch, D. C., Multiclass cancer classification using
semisupervised ellipsoid artmap and particle swarm optimization with gene expression
data. In IEEE/ACM Transactions on Computational Biology and Bioinformatics, pp 65-
77, 2007.
Yen, G. G., An Adaptative Penalty Function for Handling Constraint in Multi-objective
Evolutionary Optimization, Constraint-Handling in Evolutionary Optimization, Studies
in Computacional Intelligence, pp. 121-143, Springer, 2009.
Zavala, A.E.M., Aguirre, A.H., Diharce E.R.V., Constrained Optimization via Particle
Evolutionary Swarm Optimization Algorithm (PESO), Proceedings of the 2005
Conference on Genetic and Evolutionary Computation, 2005.
Zavala, A.E.M., Aguirre, A.H., Diharce E.R.V., Continuous Constrained Optimization with
Dynamic Tolerance Using the COPSO Algorithm, Constraint-Handling in Evolutionary
Optimization, Studies in Computacional Intelligence, pp. 1-23, Springer, 2009.
Zheng, Y., Ma, L., Zhang, L., Qian, J., Robust pid controller design using particle swarm
optimizer, IEEE International Symposium on Intelligence Control, pp. 974–979, 2003.
top related