Algoritmo de Otimização Multiobjetivo Baseado em DE e NSGA-IIPedro D. de O. CARVALHO Programa de Pós-Graduação em Engenharia Elétrica – UFMG Resumo – É proposto um algoritmo de otimização multiobjetivo baseado em Differential Evolution e NSGA-II com algumas alterações. O algoritmo proposto é aplicado em um problema de otimização de um transformador. Palavras-Chaves: otimização, multiobjetivo, differential evolution, NSGA-II. Introdução O principal objetivo desse trabalho é adaptar o tradicional algoritmo de otimização mono-objetivo differential evolution (DE) para aplicação em problemas multiobjetivo. O algoritmo DE foi projetado para problemas mono-objetivo e, portanto, não pode ser aplicado diretamente em problemas multiobjetivo, pois estes possuem diferentes mecanismos de convergência e seleção, uma vez que geralmente possuem não uma, mas várias soluções ótimas (pareto ótimo). Differential Evolution No algoritmo DE original, uma população de soluções candidatas explora o espaço de soluções realizando cruzamentos, cada indivíduo da população tem uma probabilidade de realizar o cruzamento com um vetor formado a partir de outros 3 diferentes indivíduos da população, 2 destes são utilizados para se calcular um vetor diferença que é então somado ao 3 indivíduo formando o vetor de perturbação. O cruzamento é realizado combinando-se o vetor original com o vetor perturbação multiplicado por um fator de escala. Caso a nova solução encontrada seja melhor do que o indivíduo original, então este é substituído. [1] NSGA-II O NSGA-II é um algoritmo evolucionário multiobjetivo, foi proposto para suprir falhas de sua versão anterior Nondominated Sorting Genetic Algorithm (NSGA) que possuí elevada ordem de complexidade computacional, O(MN3), onde M é o número de objetivos e N o tamanho da população. Também carecia de melhores mecanismos de elitismo, e tem forte dependência da configuração correta de um parâmetro σsharing para uma melhor distribuição das soluções pareto ótimas. Já o NSGA-II possui ordem O(MN2) melhores mecanismos de elitismo e não necessita de pré-configuração de parâmetro para alcançar soluções pareto ótimas bem distribuídas. No algoritmo proposto nesse trabalho, utilizou-se os mecanismos do NSGA-II, fast-non-dominated-sort e crowding-distance-assignment, descritos na referência [2]. Aquelas que compartilham da mesma fronteira são rankeadas por um segundo critério. forçando o vetor de perturbação ser formado por apenas a melhor parcela da população. Mudança de Estratégia Durante o desenvolvimento do algoritmo. reduzindo o caráter aleatório naturalmente. os vetores de pertubação são gerados a partir de quaisquer outras soluções candidatas. Mas em um problema multiobjetivo cada candidato possui 2 ou mais valores de função objetivo. e tal convergência não acontece naturalmente com a mesma eficiência. Cruzamento Quanto ao cruzamento. a distância de população. decidiu-se implementar um pouco de elitismo no mecanismo de cruzamento. escolheu-se utilizar taxa de cruzamento de 100%. Tal abordagem faz sentido em um problema mono-objetivo. Para solucionar esse problema. pois com o passar das gerações e com os mecanismos de seleção preservando sempre os melhores indivíduos. tais vetores de perturbação começam a convergir para a região da solução ótima. e que o objetivo é escolher aqueles indivíduos que não estejam compartilhando a mesma região da fronteira. Outro problema encontrado no mecanismo de cruzamento original do DE é sua natureza aleatória. Dado essas duas fases conceituais. chegou-se a conclusão que uma convergência mais rápida e eficiente poderia ser alcançada adotando-se diferentes estratégias em cada fase. Ou . a fitness do vetor original e do vetor de teste gerado pelo cruzamento. Seleção O primeiro obstáculo encontrado na tentativa de aplicar o DE em um problema multiobjetivo foi o mecanismo de seleção. procurando evitar lacunas. uma vez que todos os candidatos pais e filhos participam da seleção. escolheu-se utilizar o mecanismo fast-non-dominated-sort do NSGA-II.Algoritmo Proposto A seguir serão descritas as modificações e decisões tomadas no desenvolvimento do algoritmo baseado em DE objetivando a busca por soluções pareto ótimas bem distribuídas. apenas a melhor parcela. melhor. tornando impossível a aplicação de uma simples comparação. com o mecanismo crowding-distance-assignment. Portanto. Mas em um problema multiobjetivo existem diversas regiões ótimas. o mecanismo de seleção elimina as piores fronteiras e as soluções muito próximas que dividem a mesma região da fronteira. mas não abrange toda a população. A escolha dos candidatos a formarem o vetor perturbação continua sendo aleatória. O tamanho dessa parcela é um parâmetro do algoritmo e pode assumir diferentes valores durante o passar das gerações. a primeira de maior exploração do espaço em busca a fronteira não dominada. Portanto. através da execução de diversos testes para validação. de forma que um candidato pode ser melhor em um dos objetivos e pior em outro. percebeu-se que a convergência para o pareto ótimo podia ser dividido em duas fases. logo não há razão para permitir que o mecanismo de cruzamento gerasse clones dos pais. são comparadas e aquele que possui maior fitness é escolhido. Dessa forma todas as soluções pais e filhas são rankeadas de acordo com a fronteira de dominância a que pertencem. No DE original. Quanto maior a diversidade de candidatos participarem da seleção. E uma segunda fase focando na expansão dos limites da fronteira não dominada e na melhor distribuição das soluções na fronteira. O esperado é que o fator nunca alcance o valor Fmáximo. A seguir serão descritas as estratégias utilizadas em cada fase. não deve ser tão restritiva. que é utilizada no mecanismo elitista de cruzamento já citado. Como nesse momento a população já reside na mesma fronteira.8) com o passar das gerações.4) e Fmáximo (2). busca-se uma exploração mais aleatória do espaço e para isso a parcela da população. utilizou-se os 50% melhores candidatos para construção de vetores aleatórios de perturbação. mas não perde o caráter aleatório que evita uma convergência prematura. Mas tal fator cresce até um valor Fmáximo(0. O candidato r1 é tomado de forma aleatória. Com essa estratégia o algoritmo passa a tentar expandir os limites da fronteira e ao mesmo tempo preencher as lacunas intermediárias. Dessa forma candidatos que estão próximos as regiões de maiores lacunas da fronteira são pouco perturbados. mas também o mecanismo de decisão de quando chavear entre elas. acredita-se a população já resida na fronteira não dominada e. porém agora de uma parcela mais restrita (20%) dos melhores candidatos da população. a fronteira não dominada seja encontrada e então ocorra o chaveamento para a estratégia da segunda fase. o que o mecanismo cruzamento faz é deslocar candidatos em direção as regiões que possuem maiores lacunas na fronteira. distribuindo melhor as soluções pareto ótimas.3) que permite uma exploração local e evita o abandono precoce de uma região que é supostamente ruim por ter sido penalizada devido a restrições. o cruzamento auxilia no processo de convergência para a fronteira não dominada. Inicialmente ele é definido por um valor Fmínimo (0. No caso dos resultados apresentados nesse trabalho. Outra estratégia é a atualização do fator de escala que pondera a perturbação causada pelo vetor de perturbação. em cada geração os 10% piores candidatos são substituídos por novas soluções testes completamente aleatórias favorecendo maior exploração inicial do espaço. Já os candidatos que piores classificados pelo ranking de distância de população. mas que pode possuir uma vizinhança ótima por estar na interface entre o viável e o não viável. com Fmínimo (0. Além disso.seja. . e portanto é mais interessante uma busca em regiões distantes em direção aos candidatos que estão próximos das lacunas. os candidatos r0 e r2 do algoritmo DE que a princípio eram diferentes entre si passam a ser iguais entre si e iguais a solução original que irá sofrer o cruzamento. são sofrem as maiores perturbações. o algoritmo deveria mudar a estratégia durante sua execução. pois espera-se que durante a execução. gerando soluções testes nas vizinhanças locais. portanto. Estratégia – Fase 2 Na segunda fase. Assim. assim se uma região realmente não possui uma boa vizinhança o algoritmo passa deslocar mais os candidatos em busca de melhores regiões. essa parcela de “melhores” candidatos é definida pelo ranking de distância de população. Logo. Para isso mecanismo de cruzamento é ligeiramente alterado. Portanto apenas o candidato r1 é diferente do candidato original. O fator de escala que pondera a perturbação continua variável. Estratégia – Fase 1 Na primeira fase. deseja-se que o algoritmo procure preencher as lacunas da fronteira. mas não varia mais com o passar das gerações e sim com a posição do candidato target no ranking de distância de população. Para isso foi necessário definir não só as duas estratégias. pois suas vizinhanças já estão bem preenchidas. Dessa forma o cruzamento passa a gerar uma solução entre o target (candidato original) e o candidato r1. o Altura do enrolamento (h) Є [0.1. Mas é impossível saber quando essa fronteira é alcançada. Experimentos Os experimentos a seguir foram realizados com tamanho de população igual 40 e máximo de gerações igual a 50. Restrições: o Comprimento < 1. Vasconcelos do Laboratório de Computação Evolucionária da Escola de Engenharia da UFMG. o Densidade de corrente (J) Є [0. o Número de voltas do enrolamento secundário (N2) Є [10. João A. O calculo da função objetivo assim como das restrições foram realizadas por módulo externo ao algoritmo proposto e implementado neste trabalho. Portanto o algoritmo irá chavear para a fase 2 quando toda sua população residir em uma única fronteira não dominada e viável (viável de acordo com as restrições do problema). uma vez que os algoritmos evolucionários são estocásticos e não garantem a convergência para o ótimo global. o Custo de perdas.1. o Tensão de curto-circuito no primário (U1CCpu) = 6%. Resultados Descrição do Problema Os resultados apresentados nesse trabalho são provenientes da aplicação do algoritmo proposto ao problema de otimização multiobjetivo de um transformador. o Altura < 1.2m. 100]. .Chaveamento Entre as Estratégias Uma vez definida as estratégias. Tal módulo foi fornecido pelo prof. 1] m. é necessário definir uma lógica de decisão para que o algoritmo saiba quando chavear entre elas. Deseja-se que o algoritmo passe da fase 1 para a fase 2 quando a população já estiver convergido para a fronteira ótima não dominada. 5] A/mm2. [3] • • • Funções objetivos: o Custo de material. Variáveis de entrada: o Indução (B) Є [1. 2] T. Primeiro experimento: solução pareto ótima para o problema irrestrito.2m. Segundo experimento: Solução pareto ótima para problema com as restrições de desigualdade. Experimento 3: Solução pareto ótima para problema com apenas restrição de igualdade. . Valor do comprimento pra cada solução pertencente ao pareto: .Experimento 4: Solução pareto ótima para problema com todas as restrições. Valor da altura para cada solução pertencente ao pareto: Valor da tensão de curto-circuito do primário para cada solução do pareto: . Delinchant. [3] B.004). enquanto no caso mais restrito. 2. S. Também é possível verificar que no caso restrito. Também estão dentro da tolerância configurada no algoritmo para a restrição de igualdade (6% +. F.2). Wurtz. uma vez que a solução pareto ótima do problema não é conhecida. Deb. VOL. IEEE Transactions on Evolutionary Computation. todas as soluções do pareto respeitam as restrições de desigualdade de comprimento e altura (menor do que 1. “Framework For the Optimization of Online Computable Models”. Agarwal. A. COMPEL. A. Referências [1] http://en.org/wiki/Differential_evolution [2] K. Pratap. é possível analisar qualitativamente a solução pareto ótima encontrada em cada experimento. e o que se vê são soluções pareto ótimas bem distribuídas e ocupando região semelhante desde o caso mais irrestrito ao mais restrito. e T.Conclusões Embora não seja possível calcular o erro da solução encontrada. Os resultados obtidos atenderam as expectativas. Vasconcelos.0. 6. Coulomb. Abril 2002. mostrando que o algoritmo atende aos objetivos propostos. “A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-II”. J. e J. NO. Meyarivan . uma solução multiobjetiva baseada no Differential Evolution que encontre soluções pareto ótimas bem distribuídas. Também é visível a influência das restrições nos valores das funções objetivas encontradas uma vez que para o caso irrestrito foram encontradas soluções com custo de material entre mil a 45mil e perdas entre 4mil e 16mil.wikipedia. verifica-se custo de material entre mil e 4mil e perdas entre 7mil e 16mil. .
Report "Algoritmo de Otimização Multiobjetivo Baseado em DE e NSGA-II"