94
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ósGraduaçã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

Allan Fonseca da Silva - objdig.ufrj.brobjdig.ufrj.br/60/teses/coppe_m/AllanFonsecaDaSilva.pdf · Allan Fonseca da Silva ... ANALYSIS OF AN ADAPTIVE PENALTY METHOD APPLIED TO THE

  • Upload
    buithu

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

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.