• Nenhum resultado encontrado

Allan Fonseca da Silva

N/A
N/A
Protected

Academic year: 2021

Share "Allan Fonseca da Silva"

Copied!
94
0
0

Texto

(1)

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

(2)

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

(3)

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 et al. II. Universidade Federal do Rio de Janeiro, COPPE, Programa de Engenharia Civil. III. Título.

(4)

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.

(5)

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.

(6)

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.

(7)

vii

Sumário

1 INTRODUÇÃO ... 1

2 OTIMIZAÇÃO ... 5

2.1 Introdução ... 5

2.2 Otimização por Algoritmos Determinísticos ... 7

2.2.1 Programação Linear ... 8

2.2.2 Programação Inteira ... 9

2.3 Otimização por Algoritmos Probabilísticos... 10

2.3.1 Busca Tabu ... 10

2.3.2 Recozimento Simulado ... 11

2.3.3 Algoritmos Evolutivos... 12

3 OTIMIZAÇÃO ATRAVÉS DE ENXAME DE PARTÍCULAS ... 18

3.1 Introdução ... 18

3.2 Algoritmo PSO Básico ... 19

3.3 Descrição do Algoritmo ... 20

3.4 Atualização dos Parâmetros ... 21

3.5 Aplicações do PSO ... 22

4 ESTRATÉGIAS DE PENALIZAÇÃO ... 23

4.1 Introdução ... 23

4.2 Penalidades Estáticas ... 24

4.3 Penalidades Dinâmicas ... 25

4.4 Penalidades Adaptativas ... 26

4.5 Técnicas de Penalização Aplicadas ao PSO ... 27

(8)

viii

4.6 Abordagens Recentes para o Tratamento de Restrições ... 29

4.7 A Técnica de Penalização Adaptativa APM ... 30

5 EXPERIMENTOS NUMÉRICOS ... 34

5.1 Introdução ... 34

5.2 Funções sem Restrições ... 35

5.3 Funções com Restriçõ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 Problemas Clássicos da Mecânica Estrutural ... 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 Outros Problemas ... 66

5.5.1 Resultados Obtidos ... 68

6 CONCLUSÃO ... 70

REFERÊNCIAS ... 73

(9)

ix

Lista de Figuras

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

(10)

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

(11)

xi

Lista de Tabelas

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

(12)

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

(13)

1

Capítulo 1

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

(14)

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,

(15)

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

(16)

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.

(17)

5

Capítulo 2

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, f(x) é a função objetivo e gi(x) e hi(x) 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

(18)

6

complexa e pode requerer estratégias específicas na formulação do problema para que essas sejam satisfeitas.

{

x x x x i n

}

X x

l i

para x

h

m i

para x

g a sujeito

x f minimize

U i i L i n n i

i

,..., 2 , 1 , :

,..., 1 0

) (

,..., 1 0

) (

) (

=

≤ ℜ

= ℜ

=

=

=

(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.

(19)

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ção por Algoritmos Determiní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

(20)

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ção Linear

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.

(21)

9

Na equação (2.2) cTrepresenta a matriz de coeficientes da função objetivo, Arepresenta a matriz de coeficientes das restrições e ba matriz coluna do lado direito das restrições.



=

+

=

0 ) (

x b A a sujeito

d x c Z Max Min

x T

(2.2)

2.2.2 Programação Inteira

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 g0é a função a ser minimizada ou maximizada e que representa o problema estudado, x1,x2,K,xnrepresentam as variáveis do problema, girepresenta as funções de restrição do problema, bi é 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.

(22)

10

[ ] { }

Mista Inteira ogramação N

I se

Pura Inteira ogramação N

I se

N I j eiro x

n N

j x

t T

i b x

x x g a sujeito

x x x g Z Max Min

j j

i n

i

n

Pr ,

Pr ,

, int

} , 2 , 1 { ,

0

, , 2 , 1 ,

, , ) , , , (

) , , , ( )

(

2 1

2 1 0

=

=

K

K K

K

(2.3)

2.3 Otimização por Algoritmos Probabilí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 Busca Tabu

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

(23)

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 Recozimento Simulado

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.

(24)

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 Algoritmos Evolutivos

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 Algoritmos Gené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 é

(25)

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

(26)

14 2.3.3.2 Algoritmos Memé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 Sistemas Imunológicos Artificiais

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.

(27)

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

(28)

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ônia de Formigas

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

(29)

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 Enxame de Partí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.

(30)

18

Capítulo 3

3 Otimização através de Enxame de Partí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

(31)

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 Algoritmo PSO Bá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 xkie a velocidade da mesma como sendo vik. 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 k+1.

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

i

pk e (ii) a posição da melhor partícula de todo o enxame ao longo do processo até o momento definida por pkg.

A atualização da velocidade de cada partícula é dada pela equação (3.1) onde

i

vk+1 representa o vetor velocidade da partícula i tempo k+1, w é o fator de inércia, rnd1 e rnd2 são duas variáveis aleatórias e independentes de distribuição uniforme entre 0 e 1, c1 e c2 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.

t x rnd p

t c x rnd p

c wv v

i k g k i

k i i k

k i

k

+ −

∆ + −

+ =

) (

) (

2 2 1

1 1

(3.1)

(32)

20

A atualização do posicionamento de cada partícula, a partir da velocidade atualizada, é dada pela equação (3.2).

t v x

xki+1 = ki + ki+1 (3.2)

3.3 Descrição do Algoritmo

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 k =0 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 k+1 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:

) ( max min

3 min

0 x rnd x x

xi = + − (3.3)

) ( max min

4 min

0 x rnd x x

vi = + − (3.4)

Onde x0i e v0i são, respectivamente, os vetores posição e velocidade inicial da partícula i, rnd3 e rnd4 são variáveis aleatórias independentes de distribuição uniforme entre 0 e 1, xmin e xmax são os vetores que contém os limites inferior e superior da para x, respectivamente.

(33)

21

3.4 Atualização dos Parâ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 wao 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 dewpode ser visto como descrito na equação (3.5).

fim fim

ini

k w

N k w N

w

w = − ( − )+

)

( (3.5)

Onde wk é o valor da inércia na iteração k, wini e wfim 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).

(

ini fim

)

fim n

n

k w w w

N k

w N  − +

 

 −

= ( ) (3.6)

Na equação (3.6), wk é o valor da inércia na iteração k, wini e wfim 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,

(34)

22

reproduzida de (Chatterjee e Siarry, 2004), ilustra o comportamento de wem função de n.

Figura 3.1. Variação de w em relação ao coeficiente n.

3.5 Aplicações do PSO

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)

(35)

23

Capítulo 4

4 Estratégias de Penalizaçã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 F(x) a ser otimizada chamada de função Fitness ou função aptidão nos algoritmos evolutivos. Assim, a função aptidão

) (x

F pode ser reescrita através da equação (4.2). Na equação (4.1) x representa o vetor de variáveis do problema, f(x) é a função objetivo e gi(x) e hi(x) 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

{

x x x x i n

}

X x

l i

para x

h

m i

para x

g a sujeito

x f minimize

U i i L i n n i

i

,..., 2 , 1 , :

,..., 1 0

) (

,..., 1 0

) (

) (

=

≤ ℜ

= ℜ

=

=

=

(4.1)

β +

= ( ) )

(x f x

F (4.2)

(36)

24

Na equação (4.2) f(x) é o valor obtido através da avaliação da função objetivo, β é a função de penalização a ser adicionada e F(x)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 B(x) 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 ) (x =

P se a solução é factível e P(x)>0 caso contrário. Nos dois caso, K→∞. )

1 ( ) ( )

( B x

x k f x

Fk = + (4.3)

) ( ) ( )

(x f x kP x

Fk = + (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 Penalidades Está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

(37)

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 Rk,i são os coeficientes de penalização utilizados, mé o número de restrições e, f(x)é a função objetivo não penalizada e ké um valor inteiro variando de 1 até m violações.

[ ]

=

+

= m

i Rki gi x

x f x F

1

2 , max0, ( ) ) (

) ( )

( (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 Penalidades Dinâ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 prepresentam o número de restrições do problema avaliado.

( ) ( )

p contrário j

caso x

h

x x h

D

m contrário i

caso x

g

x x g

D

x D x

D x

SVC sendo

x SVC Ct

x f x F

j

j j

i

i i

n

i

p

j j i

 ≤



 −∈≤ ≤∈

=

 ≤

 ≤

=

+

= +

=

∑ ∑

= =

) 1 (

) ( ,

) 0 (

) 1 (

0 ) ( ,

) 0 (

) ( )

( ,

, )

( ) ( ) (

1 1

β α

β

β (4.6)

(38)

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 Penalidades Adaptativas

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), bié o melhor elemento da geração i, F é a região factível e β1 ≠β2 ambos são maiores que zero.



 

 +

+

=

∑ ∑

= =

n

i

p

j j

i x h x

g t x f x F

1 1

2( ) ( )

) ( ) ( )

( λ (4.7)





= +

contrário caso

t

factível foi

nunca b

se t

factível sempre

foi b se t

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).

(39)

27

= 

 

−  +

= n

i

k i geral

factível

t NFT

x B g

B x f x F

1 ( )

) ) (

( ) ( ) (

(4.9)

Na equação (4.6), Bfactívelé o melhor valor da função objeto na geração t, Bgeral é melhor valor da geral não penalizado função objetivo, gi(x)é 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écnicas de Penalização Aplicadas ao PSO

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.

Referências

Documentos relacionados

3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para

No grupo U100/CHX (Figura 7), uma vez que não se realiza condicionamento ácido da dentina, pois o cimento RelyX U100 é um cimento resinoso autoadesivo, a

Esse é o tempo que pode determinar a vida ou a morte de um paciente que aguarda na fila para receber o órgão.. Segundo o Conselho Regional de Me- dicina do Estado de São Paulo,

Podem ocorrer ocasionalmente após a administração, reações hipotensivas transitórias isoladas (possivelmente por mediação farmacológica e não acompanhadas por

Fazemos sempre o nosso melhor para superar as expetativas dos nossos clientes e por todos estes motivos construímos uma relação duradoura com todos os nossos clientes....

O objetivo da pesquisa, realizada em julho, foi avaliar se as oito montadoras participantes do Programa Brasileiro de Etiquetagem Veicular (PBEV) em 2012 —

Ao escrever Histórias da velha Totônia (1936), José Lins do Rego buscou recontar as histórias que ouvira quando criança por uma velha senhora que andava de engenho a

A partir da análise feita, é possível observar que protagonista e narrador do romance são a mesma personagem, separadas por um espaço temporal que reflete os vários momentos