Você está na página 1de 8

Algoritmo de Otimizao Multiobjetivo Baseado em DE e NSGA-II

Pedro D. de O. CARVALHO
Programa de Ps-Graduao em Engenharia Eltrica UFMG

Resumo proposto um algoritmo de otimizao multiobjetivo baseado em Differential


Evolution e NSGA-II com algumas alteraes. O algoritmo proposto aplicado em um
problema de otimizao de um transformador.
Palavras-Chaves: otimizao, multiobjetivo, differential evolution, NSGA-II.

Introduo
O principal objetivo desse trabalho adaptar o tradicional algoritmo de otimizao
mono-objetivo differential evolution (DE) para aplicao em problemas multiobjetivo. O
algoritmo DE foi projetado para problemas mono-objetivo e, portanto, no pode ser aplicado
diretamente em problemas multiobjetivo, pois estes possuem diferentes mecanismos de
convergncia e seleo, uma vez que geralmente possuem no uma, mas vrias solues
timas (pareto timo).
Differential Evolution
No algoritmo DE original, uma populao de solues candidatas explora o espao de
solues realizando cruzamentos, cada indivduo da populao tem uma probabilidade de
realizar o cruzamento com um vetor formado a partir de outros 3 diferentes indivduos da
populao, 2 destes so utilizados para se calcular um vetor diferena que ento somado ao
3 indivduo formando o vetor de perturbao. O cruzamento realizado combinando-se o
vetor original com o vetor perturbao multiplicado por um fator de escala. Caso a nova
soluo encontrada seja melhor do que o indivduo original, ento este substitudo. [1]
NSGA-II
O NSGA-II um algoritmo evolucionrio multiobjetivo, foi proposto para suprir falhas
de sua verso anterior Nondominated Sorting Genetic Algorithm (NSGA) que possu elevada
ordem de complexidade computacional, O(MN3), onde M o nmero de objetivos e N o
tamanho da populao. Tambm carecia de melhores mecanismos de elitismo, e tem forte
dependncia da configurao correta de um parmetro sharing para uma melhor distribuio
das solues pareto timas. J o NSGA-II possui ordem O(MN2) melhores mecanismos de
elitismo e no necessita de pr-configurao de parmetro para alcanar solues pareto
timas bem distribudas. No algoritmo proposto nesse trabalho, utilizou-se os mecanismos do
NSGA-II, fast-non-dominated-sort e crowding-distance-assignment, descritos na referncia [2].

Algoritmo Proposto
A seguir sero descritas as modificaes e decises tomadas no desenvolvimento do
algoritmo baseado em DE objetivando a busca por solues pareto timas bem distribudas.
Seleo
O primeiro obstculo encontrado na tentativa de aplicar o DE em um problema
multiobjetivo foi o mecanismo de seleo. No DE original, a fitness do vetor original e do vetor
de teste gerado pelo cruzamento, so comparadas e aquele que possui maior fitness
escolhido. Mas em um problema multiobjetivo cada candidato possui 2 ou mais valores de
funo objetivo, de forma que um candidato pode ser melhor em um dos objetivos e pior em
outro, tornando impossvel a aplicao de uma simples comparao. Para solucionar esse
problema, escolheu-se utilizar o mecanismo fast-non-dominated-sort do NSGA-II. Dessa forma
todas as solues pais e filhas so rankeadas de acordo com a fronteira de dominncia a que
pertencem. Aquelas que compartilham da mesma fronteira so rankeadas por um segundo
critrio, a distncia de populao, com o mecanismo crowding-distance-assignment. Portanto,
o mecanismo de seleo elimina as piores fronteiras e as solues muito prximas que dividem
a mesma regio da fronteira.
Cruzamento
Quanto ao cruzamento, escolheu-se utilizar taxa de cruzamento de 100%, uma vez que
todos os candidatos pais e filhos participam da seleo, e que o objetivo escolher aqueles
indivduos que no estejam compartilhando a mesma regio da fronteira, logo no h razo
para permitir que o mecanismo de cruzamento gerasse clones dos pais. Quanto maior a
diversidade de candidatos participarem da seleo, melhor.
Outro problema encontrado no mecanismo de cruzamento original do DE sua
natureza aleatria, os vetores de pertubao so gerados a partir de quaisquer outras solues
candidatas. Tal abordagem faz sentido em um problema mono-objetivo, pois com o passar das
geraes e com os mecanismos de seleo preservando sempre os melhores indivduos, tais
vetores de perturbao comeam a convergir para a regio da soluo tima, reduzindo o
carter aleatrio naturalmente. Mas em um problema multiobjetivo existem diversas regies
timas, e tal convergncia no acontece naturalmente com a mesma eficincia. Portanto,
decidiu-se implementar um pouco de elitismo no mecanismo de cruzamento, forando o vetor
de perturbao ser formado por apenas a melhor parcela da populao. A escolha dos
candidatos a formarem o vetor perturbao continua sendo aleatria, mas no abrange toda a
populao, apenas a melhor parcela. O tamanho dessa parcela um parmetro do algoritmo e
pode assumir diferentes valores durante o passar das geraes.
Mudana de Estratgia
Durante o desenvolvimento do algoritmo, atravs da execuo de diversos testes para
validao, percebeu-se que a convergncia para o pareto timo podia ser dividido em duas
fases, a primeira de maior explorao do espao em busca a fronteira no dominada. E uma
segunda fase focando na expanso dos limites da fronteira no dominada e na melhor
distribuio das solues na fronteira, procurando evitar lacunas.
Dado essas duas fases conceituais, chegou-se a concluso que uma convergncia mais
rpida e eficiente poderia ser alcanada adotando-se diferentes estratgias em cada fase. Ou

seja, o algoritmo deveria mudar a estratgia durante sua execuo. Para isso foi necessrio
definir no s as duas estratgias, mas tambm o mecanismo de deciso de quando chavear
entre elas. A seguir sero descritas as estratgias utilizadas em cada fase.
Estratgia Fase 1
Na primeira fase, busca-se uma explorao mais aleatria do espao e para isso a
parcela da populao, que utilizada no mecanismo elitista de cruzamento j citado, no deve
ser to restritiva. No caso dos resultados apresentados nesse trabalho, utilizou-se os 50%
melhores candidatos para construo de vetores aleatrios de perturbao. Assim, o
cruzamento auxilia no processo de convergncia para a fronteira no dominada, mas no
perde o carter aleatrio que evita uma convergncia prematura. Alm disso, em cada gerao
os 10% piores candidatos so substitudos por novas solues testes completamente aleatrias
favorecendo maior explorao inicial do espao. Outra estratgia a atualizao do fator de
escala que pondera a perturbao causada pelo vetor de perturbao. Inicialmente ele
definido por um valor Fmnimo (0.3) que permite uma explorao local e evita o abandono
precoce de uma regio que supostamente ruim por ter sido penalizada devido a restries,
mas que pode possuir uma vizinhana tima por estar na interface entre o vivel e o no
vivel. Mas tal fator cresce at um valor Fmximo(0.8) com o passar das geraes, assim se
uma regio realmente no possui uma boa vizinhana o algoritmo passa deslocar mais os
candidatos em busca de melhores regies. O esperado que o fator nunca alcance o valor
Fmximo, pois espera-se que durante a execuo, a fronteira no dominada seja encontrada e
ento ocorra o chaveamento para a estratgia da segunda fase.
Estratgia Fase 2
Na segunda fase, acredita-se a populao j resida na fronteira no dominada e,
portanto, deseja-se que o algoritmo procure preencher as lacunas da fronteira, distribuindo
melhor as solues pareto timas. Para isso mecanismo de cruzamento ligeiramente
alterado, os candidatos r0 e r2 do algoritmo DE que a princpio eram diferentes entre si
passam a ser iguais entre si e iguais a soluo original que ir sofrer o cruzamento. Portanto
apenas o candidato r1 diferente do candidato original. Dessa forma o cruzamento passa a
gerar uma soluo entre o target (candidato original) e o candidato r1. O candidato r1
tomado de forma aleatria, porm agora de uma parcela mais restrita (20%) dos melhores
candidatos da populao. Como nesse momento a populao j reside na mesma fronteira,
essa parcela de melhores candidatos definida pelo ranking de distncia de populao.
Logo, o que o mecanismo cruzamento faz deslocar candidatos em direo as regies que
possuem maiores lacunas na fronteira. O fator de escala que pondera a perturbao continua
varivel, com Fmnimo (0.4) e Fmximo (2), mas no varia mais com o passar das geraes e
sim com a posio do candidato target no ranking de distncia de populao. Dessa forma
candidatos que esto prximos as regies de maiores lacunas da fronteira so pouco
perturbados, gerando solues testes nas vizinhanas locais. J os candidatos que piores
classificados pelo ranking de distncia de populao, so sofrem as maiores perturbaes, pois
suas vizinhanas j esto bem preenchidas, e portanto mais interessante uma busca em
regies distantes em direo aos candidatos que esto prximos das lacunas.
Com essa estratgia o algoritmo passa a tentar expandir os limites da fronteira e ao
mesmo tempo preencher as lacunas intermedirias.

Chaveamento Entre as Estratgias


Uma vez definida as estratgias, necessrio definir uma lgica de deciso para que o
algoritmo saiba quando chavear entre elas. Deseja-se que o algoritmo passe da fase 1 para a
fase 2 quando a populao j estiver convergido para a fronteira tima no dominada. Mas
impossvel saber quando essa fronteira alcanada, uma vez que os algoritmos evolucionrios
so estocsticos e no garantem a convergncia para o timo global. Portanto o algoritmo ir
chavear para a fase 2 quando toda sua populao residir em uma nica fronteira no
dominada e vivel (vivel de acordo com as restries do problema).

Resultados
Descrio do Problema
Os resultados apresentados nesse trabalho so provenientes da aplicao do algoritmo
proposto ao problema de otimizao multiobjetivo de um transformador. [3]

Funes objetivos:
o Custo de material;
o Custo de perdas;
Variveis de entrada:
o Induo (B) [1, 2] T;
o Densidade de corrente (J) [0.1, 5] A/mm2;
o Altura do enrolamento (h) [0.1, 1] m;
o Nmero de voltas do enrolamento secundrio (N2) [10, 100];
Restries:
o Comprimento < 1.2m;
o Altura < 1.2m;
o Tenso de curto-circuito no primrio (U1CCpu) = 6%;

O calculo da funo objetivo assim como das restries foram realizadas por mdulo
externo ao algoritmo proposto e implementado neste trabalho. Tal mdulo foi fornecido pelo
prof. Joo A. Vasconcelos do Laboratrio de Computao Evolucionria da Escola de
Engenharia da UFMG.
Experimentos
Os experimentos a seguir foram realizados com tamanho de populao igual 40 e
mximo de geraes igual a 50.
Primeiro experimento: soluo pareto tima para o problema irrestrito.

Segundo experimento: Soluo pareto tima para problema com as restries de


desigualdade.

Experimento 3: Soluo pareto tima para problema com apenas restrio de


igualdade.

Experimento 4: Soluo pareto tima para problema com todas as restries.

Valor do comprimento pra cada soluo pertencente ao pareto:

Valor da altura para cada soluo pertencente ao pareto:

Valor da tenso de curto-circuito do primrio para cada soluo do pareto:

Concluses
Embora no seja possvel calcular o erro da soluo encontrada, uma vez que a soluo
pareto tima do problema no conhecida, possvel analisar qualitativamente a soluo
pareto tima encontrada em cada experimento, e o que se v so solues pareto timas bem
distribudas e ocupando regio semelhante desde o caso mais irrestrito ao mais restrito.
Tambm visvel a influncia das restries nos valores das funes objetivas encontradas
uma vez que para o caso irrestrito foram encontradas solues com custo de material entre
mil a 45mil e perdas entre 4mil e 16mil, enquanto no caso mais restrito, verifica-se custo de
material entre mil e 4mil e perdas entre 7mil e 16mil. Tambm possvel verificar que no caso
restrito, todas as solues do pareto respeitam as restries de desigualdade de comprimento
e altura (menor do que 1.2). Tambm esto dentro da tolerncia configurada no algoritmo
para a restrio de igualdade (6% +- 0.004).
Os resultados obtidos atenderam as expectativas, mostrando que o algoritmo atende
aos objetivos propostos, uma soluo multiobjetiva baseada no Differential Evolution que
encontre solues pareto timas bem distribudas.

Referncias
[1]

http://en.wikipedia.org/wiki/Differential_evolution

[2]
K. Deb, A. Pratap, S. Agarwal, e T. Meyarivan , A Fast and Elitist Multiobjective
Genetic Algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, VOL. 6, NO. 2,
Abril 2002;
[3]
B. Delinchant, F. Wurtz, J. A. Vasconcelos, e J. Coulomb, Framework For the
Optimization of Online Computable Models, COMPEL;

Você também pode gostar