Nono Simpósio de Mecânica Computacional 26 a 28 de maio de 2010 Universidade Federal de São João Del-Rei – MG Associação Brasileira de Métodos Computacionais em Engenharia Solução de Problemas de Otimização com Restrições via um Algoritmo Bio-inspirado utilizando uma Estratégia de Penalização Adaptativa A.F. Silva1; B.S.L.P. Lima1; B.P. Jacob1; A.C.C. Lemonge2; H.J.C. Barbosa3 1 Programa de Engenharia Civil, COPPE/Universidade Federal do Rio de Janeiro Cidade Universitária - Centro de Tecnologia - Bloco B, sala B 101 Ilha do Fundão, 21945-970, Rio de Janeiro - RJ - Brasil e-mail: [email protected] , [email protected] , [email protected] 2 Departamento de Mecânica Aplicada e Computacional, Universidade Federal de Juiz de Fora Cidade Universitária – Faculdade de Engenharia, 36036-330, Juiz de Fora, MG, Brasil e-mail: [email protected] 3 Laboratório Nacional de Computação Científica, LNCC Av. Getúlio Vargas, 333, 25651-075, Petrópolis, RJ, Brasil e-mail: [email protected] Resumo. A utilização de algoritmos bio-inspirados 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 é considerado um algoritmo robusto, eficiente e competitivo perante os demais algoritmos populacionais bio-inspirados além de ser de fácil implementação computacional. O PSO não necessita de funções objetivo que sejam deriváveis nem a introdução de conhecimentos específicos sobre os problemas a serem otimizados. Neste trabalho, são analisados alguns problemas de otimização que são funções matemáticas 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 adaptativo – APM (Adaptive Penalty Method). O APM foi originalmente desenvolvido para a aplicação em problemas de otimização com restrições utilizando algoritmos genéticos e tem demonstrado ser robusto 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. Neste artigo são avaliados problemas de otimização com restrições usando-se o APM e suas variantes propostas recentemente. Palavras chaves: Otimização, PSO, Restrições Nono Simpósio de Mecânica Computacional 1 Universidade Federal de São João Del-Rei – MG – ABMEC INTRODUÇÃO A técnica de otimização através de enxame de partículas foi desenvolvida por Kennedy e Eberhart (1995) e se baseia no processo de busca de alimento descrito por um conjunto de pássaros. Esta técnica é utilizada para a solução de problemas de otimização sem restrições, mas também pode ser aplicada a problemas de otimização com restrições. Vários problemas clássicos de otimização com restrições nas áreas de engenharia e matemática aplicada vem sendo estudados utilizando-se diversas técnicas encontradas na literatura onde um dos objetivos é minimizar o custo computacional necessário para a localização da solução ótima. Uma das formas mais comuns de tratar os problemas com restrições é a de transformálos em problemas sem restrições através da introdução de uma função de penalidade. No entanto, a tarefa de se obter uma função de penalidade que seja adequada é, por vezes, árdua e ainda, tornar esta função com pouca dependência de parâmetros externos é bastante complexo. Este artigo objetiva a utilização de uma técnica de penalização adaptativa que independe de valores a serem fornecidos pelo usuário, sugerida por Lemonge e Barbosa (2004), e que se ajusta através do comportamento da população no espaço de busca ao longo das gerações. Ainda, pretende-se mostrar uma análise comparativa desta técnica com suas variações recentemente desenvolvidas e apresentadas em Barbosa e Lemonge (2008). Este artigo está dividido da seguinte forma: a seção 2 descreve algumas características da otimização inspirada em enxame de partículas e a estratégia de penalização adaptativa usado no algoritmo, na seção 3 são apresentados e discutidos os experimentos numéricos e, finalmente, a seção 4 apresenta as conclusões e trabalhos futuros. 2 OTIMIZAÇÃO POR ENXAME DE PARTÍCULAS A otimização inspirada em enxame de partículas mais conhecida pela sigla PSO (do inglês, Particle Swarm Optimization) é uma técnica de busca originalmente desenvolvida por Kennedy e Eberhart (1995). O processo de busca foi baseado no comportamento social de grupos de indivíduos, no caso inicial, de pássaros. Quando os pássaros iniciam sua revoada em busca de alimento, por exemplo, esta busca é aleatória e, a princípio, desordenada. Ao longo do tempo, percebe-se uma organização no vôo 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, Kennedy e Eberhart (1995) desenvolveram esta 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 que têm a inicialização da população feita de forma aleatória tanto quanto os algoritmos genéticos citados em Davis (1991) e a técnica ACO (do inglês, Ant Colony Optimization) disponível em Colorni et al (1998). Ainda, 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 posicionamento através da utilização 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 desenho de circuitos lógicos disponível em Coelho e Luna (2003), projetos de controle citados em Zheng et al. (2003) e ainda, em sistemas de potência como dito em Abido (2002) dentre outras. Nono Simpósio de Mecânica Computacional 2.1 Universidade Federal de São João Del-Rei – MG – ABMEC O ALGORITMO PSO O algoritmo PSO pode ser considerado simples se comparado a outros algoritmos bioinspirados. Ele se baseia na atualização das velocidades das partículas ao longo do tempo e conseqüente atualização posicionamento de cada partícula. xi vi Seja k e k os vetores de posição e velocidade de uma partícula i em um tempo k respectivamente. O algoritmo PSO se baseia em armazenar estes vetores 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 também são necessárias duas informações, a saber: a i melhor posição da partícula i ao longo de todo o processo até o momento definida por pk e a posição da melhor partícula de todo o enxame ao longo do processo até o momento g definida por pk . A atualização da velocidade de cada partícula é dada pela equação (1). vki +1 = wvki + c1rnd1 ( pki − xki ) ( p g − xki ) + c2 rnd 2 k ∆t ∆t (1) i k +1 onde v 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 do enxame em relação ao posicionamento da partícula i e em relação ao posicionamento da melhor partícula do enxame até o momento em todo o processo, respectivamente. ∆t é o espaço de tempo que neste trabalho será utilizado como tendo valor unitário. A atualização do posicionamento de cada partícula, a partir da velocidade atualizada, é dada pela equação (2). xki +1 = xki + vki +1∆t (2) O algoritmo PSO básico, utilizado para problemas sem restrições, pode ser definido conforme a descrição textual abaixo: 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) e (4): x0i = xmin + rnd 3 ( xmax − xmin ) (3) v0i = xmin + rnd 4 ( xmax − xmin ) (4) Nono Simpósio de Mecânica Computacional Universidade Federal de São João Del-Rei – MG – ABMEC i i Onde x0 e v0 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. O algoritmo PSO é considerado bastante eficiente para tratar problemas de otimização sem restrições, mas não apresenta uma técnica ou estratégia adequada para tratar problemas com restrições assim como os demais algoritmos bio-inspirados. A estratégia mais comum utilizada para dar capacidade ao PSO de processar problemas com restrição é transformá-los em problemas sem restrições através a introdução de estratégias para o tratamento destas. As mais conhecidas são i) técnicas que preservam a viabilidade das soluções; ii) técnicas baseadas em funções de penalização; iii) técnicas que reparam soluções inviáveis; iv) técnicas para a separação de soluções viáveis das inviáveis, dentre outras. Parsopoulos e Vrahatis (2002) alteram o algoritmo PSO 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). Hu, Eberhart e Shi (2003) apresentam uma estratégia para tratamento das restrições onde são propostas modificações no algoritmo 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. Descrições de várias técnicas de penalização podem ser encontradas em Coello (2002). Dentre as diversas técnicas apresentadas na literatura, uma comumente utilizada é a que considera uma função de penalização, que pode ser aditiva ou multiplicativa, sobre o valor da função objetivo. Dessa forma, a aptidão ou fitness de cada partícula pode ser escrita como exporto na equação (5). F ( x) = f ( x ) + hP ( x ) 2.2 onde P(x ) = 0 se x for factível ou P(x ) > 0 caso contrário (5) PENALIZAÇÃO ADAPTATIVA Em Lemonge e Barbosa (2002) é proposto o APM (do inglês, Adaptative Penalty Method). O APM foi desenvolvido para a aplicação de problemas com restrições analisados via algoritmos genéticos e tem demonstrado ser robusto 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 ou fitness F (x ) de cada partícula, com a utilização do APM, é obtida através da equação (6). se x for factível f ( x) m F ( x) = f ( x ) h j z j ( x) caso contrário + ∑ j =1 onde (6) Nono Simpósio de Mecânica Computacional f ( x) f ( x) = f ( x) Universidade Federal de São João Del-Rei – MG – ABMEC se f ( x) > f ( x) caso contrário f (x) Sendo a média da função objetivo para a população na iteração atual, zj a violação da restrição j sobre a população atual e hj o fator de penalização é calculado de forma adaptativa conforme a equação (7). h j = f ( x) z j ( x) ∑ [ z ( x) ] m l =1 2 l (7) A Figura (1), retirada de Lemonge e Barbosa (2002) demonstra a determinação da função f . O gráfico indica que se uma partícula 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 (1), os pontos infactíveis, 3, 4, 5 e 6, que tem a função objetivo com f (x) valor menor que a média, sofrerão alteração do valor desta função objetivo para . Figura 1 - Determinação da função f . Recentemente em Barbosa e Lemonge (2008) foram apresentadas variantes do APM que estão descritas de forma sucinta a seguir: 1. APM Esporádico i. calcular a violação das restrições zj para a população atual; ii. atualizar os coeficientes de penalidade hj mas; iii. manter os coeficientes de penalidade hj fixos por f gerações. 2. APM Esporádico com acumulo das violações das restrições i. acumular a violação das restrições zj por f gerações; ii. atualizar os coeficientes de penalidade hj; iii. manter os coeficientes de penalidade hj fixos por f gerações. 3. APM Monotônico i. nenhum coeficiente de penalidade hj pode ter seu valor reduzido ao longo das gerações 4. APM com Amortecimento i. calcular o valor de hj da geração atual e ponderar este com o hj da geração anterior conforme descrito na equação (8) Nono Simpósio de Mecânica Computacional h (j novo ) = θh (j novo ) + (1 − θ )h (j atual ) 3 Universidade Federal de São João Del-Rei – MG – ABMEC onde θ ∈ [0,1] (8) DEFINIÇÃO DOS PARÂMETROS PARA O PSO Para o PSO três parâmetros devem ser definidos a saber: confiança do enxame em relação ao posicionamento da partícula i, c1, a confiança relação ao posicionamento da melhor partícula do enxame até o momento, c2, e a inércia w. Na literatura é possível encontrar várias propostas para a determinação e atualização dos parâmetros de confiança. Segundo Kennedy e Eberhart (1995) se deve utilizar valores equilibrados entre c1 e c2. Neste trabalho utiliza-se c1 = 2 e c2 = 1, pois estes valores foram os que fizeram com que o algoritmo tivesse o melhor desempenho na localização do ótimo das funções computadas. Para a inércia w, Eberhart e Shi (1998) sugerem a utilização de um valor fixo. Embora seja uma estratégia interessante, um valor fixo pode encontrar bons resultados nas primeiras iterações do algoritmo aumentando a capacidade de exploração do enxame mas, 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õem uma variação linear de w ao longo das iterações do algoritmo. Como o vetor de velocidades é inicializado aleatoriamente, inicia-se o algoritmo com valores maiores para w com o intuito de gerar 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) é de se utilizar o valor de inércia w iniciando em 0,9 e terminando em 0,4. Outra proposta para a variação da inércia foi apresentada por Chatterjee e Siarry (2004) onde a variação da inércia é não-linear sendo descrita pela equação (9). ( N − k )n wk = (wini − w fim ) + w fim n N (9) onde 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. Após vários experimentos numéricos, optou-se neste trabalho pela variação não-linear da inércia no intervalo de 0,4 a 0,9 e com coeficiente de não linearidade 1,2. 4 EXPERIMENTOS NUMÉRICOS O grupo de funções G, do inglês G-Suite, citados em Koziel e Michalewicz (1999), tem sido utilizado de forma a validar e comparar o desempenho de algoritmos de otimização. Optou-se por utilizar este grupo para que fosse possível esta comparação com outros métodos de otimização de problemas com restrições. O grupo de funções G é composto por 24 funções. Neste trabalho optou-se por utilizar as 11 primeiras funções para validação do algoritmo e comparar os resultados com as mesmas 11 funções apresentadas em Barbosa e Lemonge (2008). Os limites das variáveis e ótimos conhecidos das funções G estão descritos na Tabela 1. Nono Simpósio de Mecânica Computacional Universidade Federal de São João Del-Rei – MG – ABMEC Tabela 1 - Limites das variáveis e ótimo global conhecido das funções G Função Limites G1 0 ≤ xi ≤ 1 (i = 1,...,9,13) 0 ≤ xi ≤ 100 (i = 10,11,12) 0 ≤ xi ≤ 10 (i = 1,...,20) 0 ≤ xi ≤ 1 (i = 1,...,10) 78 ≤ x1 ≤ 102 33 ≤ x 2 ≤ 45 27 ≤ xi ≤ 45 (i = 3,4,5) 0 ≤ xi ≤ 1200 (i = 1,2) − 0,55 ≤ xi ≤ 0,55 (i = 3,4) 13 ≤ x1 ≤ 100 0 ≤ x 2 ≤ 100 − 10 ≤ xi ≤ 10 (i = 1,...,10) 0 ≤ xi ≤ 10 (i = 1,2) − 10 ≤ xi ≤ 10 (i = 1,...,7) 100 ≤ x1 ≤ 10000 1000 ≤ x2 ≤ 10000 (i = 2,3) G2 G3 G4 G5 G6 G7 G8 G9 G10 10 ≤ xi ≤ 1000 (i = 4,...,8) − 1 ≤ xi ≤ 1 (i = 1,2) G11 Ótimo Conhecido -15,0000 -0,8036 -1,0005 -30665,5386 5126,4967 -6961,8138 24,3062 -0,0958 680,6300 7049,2480 0,7499 Foram feitas 30 execuções independentes para cada função e para cada variante do APM utilizando como condição de parada o número de avaliações da função objetivo adotado como 5x105. Os resultados do melhor e do pior valor nestas execuções estão expostos nas Tabelas 2 a 6 bem como a média, desvio padrão e número de soluções factíveis ao término do processamento. Para as variantes APM Esporádico e APM com Acúmulo da Violação das Restrições foi utilizado o valor de f=10 e para a variante do APM com Amortecimento utilizou-se θ = 0,5. Tabela 2 - Resultado das execuções utilizando o APM -15,0000 Desvio Padrão 0 # Soluções Factíveis 30 -0,7601 -0,7994 0,0094 30 -1,0005 -0,9894 -0,9986 0,0028 14 G4 -30665,5386 -30665,5386 -30665,5386 0 30 G5 5140,7590 5140,7590 - - 1 G6 -6961,8138 -6961,8138 -6961,8138 0 3 G7 24,3315 25,6699 24,8695 0,4566 30 G8 -0,0958 -0,0958 -0,0958 0 30 G9 680,6317 680,6533 680,6397 0,0053 30 G10 - - - - - G11 0,7499 0,7530 0,7501 0,0006 30 G12 -1,0000 -0,9693 -0,9974 0,0061 30 G13 0,0723 3,2191 0,9680 0,5492 23 Função Melhor Pior Média G1 -15,0000 -15,0000 G2 -0,8036 G3 Nono Simpósio de Mecânica Computacional Universidade Federal de São João Del-Rei – MG – ABMEC Tabela 3 - Resultado das execuções utilizando o APM Monotônico -15,0000 Desvio Padrão 0 # Soluções Factíveis 30 -0,7857 -0,8017 0,0044 30 -0,9770 -0,2160 -0,6550 0,2115 28 G4 -30665,5386 -30665,5386 -30665,5386 0 30 G5 5155,7969 5856,8046 5433,7649 288,6024 5 G6 -6961,8138 -6961,8138 -6961,8138 0 30 G7 24,3112 25,0359 24,6735 0,5124 28 G8 -0,0958 -0,0958 -0,0958 0 30 G9 680,6317 680,6558 680,6411 0,0070 30 G10 - - - - - G11 0,7499 0,7695 0,7542 0,0038 30 Função Melhor Pior Média G1 -15,0000 -15,0000 G2 -0,8036 G3 Tabela 4 - Resultado das execuções utilizando o APM Esporádico -15,0000 Desvio Padrão 0 # Soluções Factíveis 30 -0,7786 -0,8015 0,0054 30 -0,9987 -0,7760 -0,8916 0,0681 8 G4 -30665,5386 -30665,5386 -30665,5386 0 30 G5 - - - - - G6 -6961,8138 -6931,7019 -6960,7370 5,6903 28 G7 24,3141 28,3965 24,8714 0,1834 26 G8 -0,0958 -0,0536 -0,0938 0,0086 24 G9 680,6315 680,6566 680,6422 0,0072 30 G10 - - - - - G11 0,7499 0,7866 0,7563 0,0101 30 Função Melhor Pior Média G1 -15,0000 -15,0000 G2 -0,8036 G3 Tabela 5 - Resultado das execuções utilizando o APM Esporádico com Acúmulo das Violações das Restrições -15,0000 Desvio Padrão 0 # Soluções Factíveis 30 -0,7773 -0,800 0,008 29 -0,9976 -0,7860 -0,8876 0,3441 6 G4 -30665,5386 -30665,5386 -30665,5386 0 30 G5 - - - - - G6 -6961,8138 -6931,7134 -6960,7456 5,8903 27 G7 24,3142 28,3955 24,8567 0,1223 25 G8 -0,0958 -0,0445 -0,0228 0,0176 22 G9 680,6325 680,6788 680,6349 0,0098 30 Função Melhor Pior Média G1 -15,0000 -15,0000 G2 -0,8036 G3 Nono Simpósio de Mecânica Computacional Universidade Federal de São João Del-Rei – MG – ABMEC G10 - - - - - G11 0,7499 0,7977 0,7690 0,0345 30 Tabela 6 - Resultado das execuções utilizando o APM com Amortecimento -15,0000 Desvio Padrão 0 # Soluções Factíveis 30 -0,7926 -0,8017 0,0037 30 -0,9997 -0,8725 -0,9737 0,0417 8 G4 -30665,5386 -30665,5386 -30665,5386 0 30 G5 5128,2129 5206,5685 5167,3907 55,4058 2 G6 -6961,8138 -6961,8138 -6961,8138 0 9 G7 24,3410 26,6442 24,8620 0,5819 29 G8 -0,0958 -0,0958 -0,0958 0 30 G9 680,6329 680,6624 680,6443 0,0077 30 G10 - - - - - G11 0,7499 1,0000 0,8935 0,1137 30 Função Melhor Pior Média G1 -15,0000 -15,0000 G2 -0,8036 G3 Na Tabela 7 são comparados os resultados das execuções do PSO com o APM e suas variantes com aqueles obtidos em Barbosa e Lemonge (2008). As variantes do APM foram rotuladas como se segue: 1: APM original, 2: APM Esporádico, 3: o APM Esporádico com Acúmulo das Violações das Restrições, 4: APM com Amortecimento e 5: Monotônico. Tabela 7 - Comparativo dos resultados obtidos com a utilização do APM e suas variantes Função G1 G2 G3 Ótimo Conhecido -15,0000 -0,8036 -1,0005 Variante do APM 1 -15,0000 Lemonge e Barbosa -14,9999 2 -15,0000 -14,9999 3 -15,0000 -14,9999 4 -15,0000 -14,9999 5 -15,0000 -14,9999 1 -0,8036 -0,8015 2 -0,8036 -0,8025 3 -0,8036 -0,8023 4 -0,8036 -0,8030 5 -0,8036 -0,8025 1 -1,0005 -1,0004 2 -0,9987 -1,0004 3 -0,9976 -1,0004 4 -0,9997 -1,0004 5 -0,9770 -1,0004 Este Trabalho Nono Simpósio de Mecânica Computacional G4 G5 G6 G7 G8 G9 G10 G11 -30665,5386 5126,4967 -6961,8138 24,3062 -0,0958 680,6300 7049,2480 0,7499 Universidade Federal de São João Del-Rei – MG – ABMEC 1 -30665,5386 -30665,5237 2 -30665,5386 -30665,5369 3 -30665,5386 -30665,5375 4 -30665,5386 -30665,5332 5 -30665,5386 -30665,5209 1 5140,7590 5127,3606 2 - 5126,7738 3 - 5126,7738 4 5128,2129 5126,7738 5 5155,7969 5128,8443 1 -6961,8138 -6961,7960 2 -6961,8138 -6961,7960 3 -6961,8138 -6961,7960 4 -6961,8138 -6961,7960 5 -6961,8138 -6961,7960 1 24,3315 24,4162 2 24,3141 24,6482 3 24,3142 24,5543 4 24,3410 24,7315 5 24,3112 24,4148 1 -0,0958 -0,0958 2 -0,0958 -0,0958 3 -0,0958 -0,0958 4 -0,0958 -0,0958 5 -0,0958 -0,0958 1 680,6317 680,6334 2 680,6315 680,6673 3 680,6325 680,7122 4 680,6329 680,6505 5 680,6317 680,6527 1 - 7205,1435 2 - 7064,1563 3 - 7062,6060 4 - 7064,5428 5 - 7064,3344 1 0,7499 0,7523 2 0,7499 0,7521 3 0,7499 0,7521 4 0,7499 0,7521 5 0,7499 0,7501 Nono Simpósio de Mecânica Computacional Universidade Federal de São João Del-Rei – MG – ABMEC Para ilustrar o desempenho do algoritmo PSO utilizando a penalização adaptativa originalmente desenvolvida e suas variações, ilustramos nas Figuras 2 a 4 a convergência da função objetivo em relação ao número de gerações do PSO para as funções G2, G6 e G11. Evolução da Fitness 0 Fitness -0,2 -0,4 -0,6 -0,8 -1 Gerações 1 2 3 4 5 Figura 2 – Evolução da Fitness em relação as gerações para a função G2 Evolução da Fitness 800000 Fitness 600000 400000 200000 0 -200000 Gerações 1 2 3 4 5 Figura 3– Evolução da Fitness em relação as gerações para a função G6 Evolução da Fitness 2 Fitness 1,5 1 0,5 0 Gerações 1 2 3 4 5 Nono Simpósio de Mecânica Computacional Universidade Federal de São João Del-Rei – MG – ABMEC Figura 3– Evolução da Fitness em relação as gerações para a função G11 5 CONCLUSÕES Neste trabalho foi apresentado o algoritmo PSO modificado para tratar problemas com restrições através de uma estratégia de penalização adaptativa que não necessita de parametrização e é ajustada ao longo da evolução do processo. Esta técnica denominada APM tem se mostrado robusta quando acoplada a outros algoritmos bio-inspirados para tratar problemas com restrições. O algoritmo PSO usado foi o clássico contendo os ingredientes básicos sugeridos na literatura. Foram apresentados testes da utilização do algoritmo PSO com o APM original e com suas variantes recentemente propostas. Os resultados apresentados demonstraram que o algoritmo foi eficiente na busca das soluções ótimas na utilização da versão original do APM bem como em suas variantes. Para futuras implementações sugere-se a utilização de problemas mais complexos da engenharia mecânica e estrutura bem como as outras funções G disponíveis. Outras sugestões disponíveis na literatura serão implementadas no algoritmo básico PSO como as citadas em Albrecht (2005) e para o tratamento das restrições as variantes sugeridas por Venter e Sobieszczanski-Sobiesk (2003) e Fourie e Groenwold (2002). Agradecimentos Os autores agradecem ao CNPq (processos número 311651/2006-2 e 301527/2008-3), a FAPERJ (processo número E-26/102.825/2008) e a FAPEMIG (processo TEC 00425-09) pelo apoio. 6 BIBLIOGRAFIA Albrecht, C. H., 2005 Algoritmos Evolutivos Aplicados À Síntese e Otimização de Sistemas de Ancoragem, Tese de Doutorado, Programa de Engenharia Oceânica, COPPE/UFRJ, 2005. Abido, M., 2002. Optimal design of power system stabilizers using particle swarm optimization, IEEE Trans Energy Conversion, vol. 17, n. 3, pp. 406–413. Barbosa H.J.C,. and Lemonge A.C.C., 2002. An adaptive penalty scheme in genetic algorithms for constrained optimization problems. In GECCO 2002: Proceedings of the Genetic and Evolutionary Computation Conference, Langdon WB, Cantú-Paz E, Mathias K, Roy R, Davis D, Poli R, Balakrishnan K, Honavar V, Rudolph G, Wegener J, Bull L, Potter MA, Schultz AC, Miller JF, Burke E, Jonoska N (eds). Morgan Kaufmann: New York, 9–13 July 2002; 287–294. Barbosa, H. J. C. and Lemonge, A. C. C., 2008. 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, p. 9–34. Coelho, C & Luna E., 2003. Use of particle swarm optimization to design combinational logic cirtuits. Tyrell A., Haddow P., Torresen J., eds, %th International Conference on Evolvable System: from biology to hardware, vol. 2606, pp. 398–409. Colorni A, Dorigo M & Maniezzo V., 1998. Distributed optimization by ant colonies. In: Proceedings of ECAL’91 - European Conference on Artificial Life. Paris, France: Elsevier Publishing, pp. 134–42. Nono Simpósio de Mecânica Computacional Universidade Federal de São João Del-Rei – MG – ABMEC Chatterjee, A. & Siarry, P., 2004. Nonlinear Inertia Weight Variation for Dynamic adaptation in Particle Swarm Optimization, Computers & Operations Research, Elsevier, Article in Press. Davis, L., 1991. HandBook of Genetic Algorithms, Van Nostrand Reinhold, New York, MY. Eberhart, R. C. & Shi, Y., 1998. A Modified Particle Swarm Optimizer, IEEE International Conference on Evolutionary Computation, Anchorage, Alaska, pp. 1945–1950. Eberhart, R. C. & Shi, Y., 2000. Comparing Inertia Weights and Constriction Factors in Particle Swarm Optimization, IEEE International Conference on Evolutionary Computation, San Diego, California, pp. 84–88. Fourie, P. & Groenwold, A., 2002. The particle swarm optimization algorithm in size and shape optimization. Structural and Multidisciplinary Optimization, Vol. 23(4), pp. 259–267. Hu, X., Eberhart, R. C. & Shi, Y., 2003. Engineering Optimization with Particle Swarm, Swarm Intelligence Symposium. Kennedy, J. & Eberhart, R. C., 1995. 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. Koziel S, Michalewicz Z. Evolutionary algorithms, homomorphous mappings, and constrained parameter optimization. Evolutionary Computation 1999; 7(1):19–44. Lemonge, A. C. C. & Barbosa, H. J. C., 2004. An adaptive penalty scheme for genetic algorithms in structural optimization, International Journal For Numerical Methods In Engineering, pp. 703–706. Parsopoulos, K. E. & Vrahatis, M. N., 2002. Particle Swarm Optimization Method for Constrained Optimization Problems, Intelligent Technologies - Theory and Applications: New Trends in Intelligent Technologies, pp. 214–220. Ray, T. & Liew, K. M., 2001. 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. Venter, G. & Sobieszczanski-Sobiesk, J., 2003. Particle swarm optimization. AIAA Journal, Vol. 41(8), pp. 1583–1589. Zavala A. E. M., Aguirre, A. H., Diharce E. R. V., 2005. Constrainet Optimization via Particle Evolutionary Swarm Optimization Algorithm (PESO), Proceedings of the 2005 Conference on Genetic and Evolutionary Computation. Zheng Y., Ma L., Zhang L. & Qian J., 2003. Robust pid controller design using particle swarm optimizer, IEEE International Symposium on Intelligence Control, pp. 974– 979. Nono Simpósio de Mecânica Computacional 7 Universidade Federal de São João Del-Rei – MG – ABMEC DIREITOS AUTORAIS Os autores são os únicos responsáveis pelo conteúdo do material impresso incluído no seu trabalho.