Você está na página 1de 7

Non-dominated Sorting Algorithm II (NSGA-II)

aplicado na solução do Problema Multiobjetivo da


Mochila
João Paulo M. Tavares, Luis Gustavo C. Bautista, Elham Mahdavi, Mateus Franco Girardi
Universidade Estadual de São Paulo ”Júlio de Mesquita Filho” - FEIS/DEE

Resumo—Problemas de otimização de múltiplos objetivos são as soluções eficientes geradas pelo algoritmo e, iterativamente,
encontrados em diversos segmentos da engenharia, economia se escolhe a melhor solução [3].
ou logı́stica. O uso de técnicas clássicas, normalmente, exige Em [4] encontra-se outra abordagem para a solução do prob-
modelos matemáticos complexos e, alguns casos, difı́ceis de serem
solucionados. Nesse sentido, as meta-heurı́sticas são técnicas lema da mochila utilizando a meta-heurı́stica Greedy Random-
promissoras no que tange a solução dessa classe de problemas. ized Adaptive Search Procedure (GRASP). Neste algoritmo
Dentre as meta-heurı́sticas disponı́veis, os Algoritmos Evolutivos utiliza-se diferentes vetores de preferências em cada iteração,
Multiobjetivos (AEMO) se destacam pela sua versatilidade na encontrando, assim, soluções ótimas. Consequentemente, o
solução de problemas complexos e pela diversidade de métodos conjunto de soluções ótimas representa a fronteira de Pareto.
propostos na literatura. Neste trabalho, implementou-se o Non-
dominated Sorting Algorithm II (NSGA-II) para solucionar o Na classe dos algoritmos evolucionários, o Strength Pareto
Problema Multiobjetivo da Mochila. Com intuito de melhorar Evolutionary Algorithm (SPEA) foi aplicado na solução do
a performance do método, implementou-se o tratamento das problema da mochila [5].
restrições, reparo das soluções, estratégia de gerações de descen- Neste trabalho, pretende-se utilizar um Algoritmo Evolutivo
dentes e a verificação de convergência e adaptação de parâmetros Multiobjetivo (AEMO) para tratar o Problema Multiobje-
nos procedimentos computacionais que foram inseridos no algo-
ritmo original. Os resultados obtidos evidenciaram que o NSGA- tivo da Mochila.Esta abordagem tem a capacidade de obter
II além de ser bastante flexı́vel à adaptações é capaz de solucionar, soluções ótimas de Pareto com apenas uma execução [1], [6].
eficazmente, problemas complexos. O AEMO implementado é conhecido como Non-dominated
Keywords—Otimização Multiobjetivo, Algoritmo Evolutivo, Sorting Genetic Algorithm II (NSGA-II). Este algoritmo possui
NSGA-II, , Problema da Mochila, adaptação de parâmetros, vantagens tais como o elitismo, um algoritmo de ordenação
reparo das soluções.
não dominado rápido e também um operador de seleção capaz
de manter diversidade da população e a convergência para a
I. I NTRODUÇ ÃO
região factı́vel. [6].
O problema de otimização multiobjetivo consiste em obter, Neste relatório o problema multiobjetivo da mochila é
simultaneamente, a minimização e/ou maximização de um descrito na Seção II. O algoritmo NSGA-II é apresentado
conjunto de funções objetivo. Geralmente, tais funções obje- na seção III. Os procedimentos computacionais expostos na
tivos são conflitantes ou competem entre elas [1]. O problema Seção IV. A metodologia de simulação e os seus resultados
de otimização multiobjetivo gera um conjunto de soluções são apresentados na Seção V. E finalmente, as conclusões do
ótimas que são conhecidas como a fronteira de Pareto de trabalho na Seção VI.
soluções ótimas [2]. Cada solução da fronteira de Pareto
apresenta boa qualidade somente até que o tomador de decisão II. D ESCRIÇ ÃO DO P ROBLEMA
expressa uma preferência ou informação adicional [1]. A. Descrição do Problema e definições básicas
Uma abordagem comum nos métodos de otimização Dada a função vetorial f = (f1 , ..., fr ) definida em um
clássica para resolver problemas de otimização multiobjetivo é conjunto finito Ω, considere o problema de otimização com-
tratar o problema como um problema mono-objetivo, podendo binatória multiobjetivo:
haver ou não, a mediação de um tomador de decisão [1].
A desvantagem desse método é o tempo computacional e a max : f (x) = (f1 (x), ..., fr (x))
cooperação com o tomador de decisão. Além disso, o problema s.t.:
é complexo sob o ponto de vista da modelagem matemática x∈Ω
[3].
Nas últimas décadas, as meta-heurı́sticas têm demostrado A imagem da solução x ∈ Ω é o ponto z = f (x) no espaço
resultados bastante promissores, além de se adaptar a di- das funções objetivos. Um ponto z domina z0 se ∀j, zj =
versos problemas para aplicações particulares. Tal como, o fj (x) ≥ zj0 = fj (x0 ) e zj > zj0 por pelo menos um j. Uma
método proposto em [3], denominado de Pareto Simulated solução x domina x0 , denotado por x  x0 , se a imagem de
Annealing, aplicado na solução do problema multiobjetivo da x domina a imagem de x0 . Uma solução x∗ ∈ Ω é dita não
mochila. Neste algoritmo o tomador de decisão explora entre dominada, se não houver x ∈ Ω de tal modo que x  x∗ .
B. Problema Multiobjetivo da Mochila (PMOM) denotada por Rg , é formada pela união das populações de
O problema multiobjetivo da mochila é um problema rele- pais e descendentes. Esse é o passo inicial para formação
vante por ser capaz de retratar, idealmente, problemas reais. da nova população de pais. Na sequência, define-se as fron-
A sua descrição é bastante simples, porém, trata-se de um teiras de Rg aplicando o algoritmo de ordenação de não
problema de difı́cil resolução (pertence à classe de problemas dominância. Com isso, inicia-se um processo iterativo para
NP-Hard). inserir as soluções presentes nas primeiras fronteiras de Rg
O problema clássico consiste em um conjunto de itens cada em Pg+1 . Caso a inserção de uma das fronteiras faça com
qual associado à um valor de peso e lucro. Define-se também que |Pg+1 | > |Pg |, então ordena-se, em ordem decrescente, os
uma capacidade para mochila, torna-se essa a restrição do indivı́duos dessa fronteira tomando como critério o crowding
problema. A tarefa é encontrar um subconjunto de itens que distance e inserindo-os, até que |Pg+1 | = |Pg |. Esse processo
maximize o lucro total, de modo que a capacidade da mochila é ilustrado no diagrama da Figura 1.
não seja violada [7]. Após formar a população Pg+1 , gera-se novos descentes e
O problema clássico pode ser estendido ao caso de múltiplos o processo iterativo contı́nua até que um critério de parada
objetivos, permitindo um número arbitrário de funções ob- seja satisfeito.
jetivo. Formalmente, o Problema Multiobjetivo da Mochila
considerado aqui é composto por um conjunto de N itens.
Cada item i = 1, · · · , N tem um peso wi e p valores de
lucro vij , j = 1, · · · , p, em que p é o número de funções
objetivo. Definindo W como capacidade da mochila, o PMOM
é definido da seguinte forma:
N
X
max : vij xi , j = 1, · · · , p
i=1
s.t.: (1)
N
X
w i xi ≤ W
i=1
xi ∈ {0, 1} , i = 1, · · · , N Fig. 1. Processo de geração dos novos pais

Em que xi é a variável de decisão binária que indica se o item


i está inserido na mochila (1) ou não (0). Para este trabalho, A. Cromossomo
a capacidade da mochila é calculada como: Este trabalho utiliza uma codificação binária convencional
& N
X
' para representar os cromossomos ou indivı́duos. Cada item
W = 0.5 · wi é representado por uma variável binária xi . Se xi = 1, isso
i=1 indica que o item está inserido na mochila. Caso contrário,
III. Non-dominated Sorting Algorithm (NSGA-II) isto é, xi = 0, o item i está fora da mochila. Os cromossomos
estão associados ao seu vetor de funções objetivo e à um valor
O problema definido pela Equação 1 foi solucionado uti- de restrição. Neste trabalho, o valor das restrições é calculado
lizando o AEMO proposto em [6]. Projetado para tratar por:
problemas multiobjetivos, destaca-se por ser um algoritmo XN
elitista, com tendência de preservar as soluções ótimas e G(x) = wi xi − W
factı́veis do problema. Além disso, trata-se de um algoritmo i=1
de fácil implementação computacional, sendo esse um aspecto De acordo a definição do problema pela Equação 1, se
que influenciou a escolha. G(x) ≤ 0 então x é factı́vel.
No Algoritmo 1 são apresentados os passos gerais do
NSGA-II. O processo inicia-se pela geração aleatória da B. Operadores genéticos
população de pais. Na sequência, é feita a ordenação por não Na geração de novos indivı́duos são empregados dois op-
dominância e o cálculo do crowding distance, cujos detalhes eradores genéticos distintos: a recombinação, que gera de-
são encontrados em [6]. Essas duas etapas são cruciais na scendentes por meio da combinação dos pais; e a mutação,
geração de novos descendentes, já que o NSGA-II utiliza um que altera o cromossomo de um indivı́duo gerando uma nova
esquema de seleção denominado de crowded-comparison op- solução.
erator, que necessita de parâmetros como fronte e o crowding 1) Recombinação: Neste trabalho foram utilizados três
distance de cada solução para realizar a comparação de dois operadores distintos de recombinação, que são: k-points; uni-
indivı́duos. forme; e transposition. A descrição detalhada dos operadores
Formada a população descendentes Qg por meio da k-points e uniforme é encontrada em [8]. O operador transpo-
aplicação dos operadores genéticos, uma nova população, sition é descrito em [9].
Algoritmo 1 NSGA-II A. Tratamento das restrições
1: g ← 0
Para tratar problemas restritos, em [6] é proposto um
2: Pg ← população aleatória inicial
conceito denominado de dominância restrita. Trata-se de uma
3: FAST N ON D OMINATED S ORTING (Pg )
modificação do conceito convencional de dominância, em que
4: C ROWDING D ISTANCE(Pg )
dado duas soluções x e y, diz-se que x domina y se pelo
5: Qg ← O FFSPRING G ENERATOR (Pg )
menos uma das condições é satisfeita:
6: while condição de parada não satisfeita do;
1) x é factı́vel e y infactı́vel;
7: Rg ← Pg ∪ Qg
2) x e y são infactı́veis, mas o grau de violação das
8: FR ← FAST N ON D OMINATED S ORTING(Rg )
restrições associado à x é menor;
9: Pg+1 ← ∅
3) x e y são factı́veis e x domina (no conceito conven-
10: k←1
cional) y.
11: while |Pg+1 | < |Pg | do
12: if |Pg+1 ∪ FRk | 6 |Pg | then Este conceito é incorporado no algoritmo de ordenação por
13: Pg+1 = Pg+1 ∪ FRk não-dominância. Desse modo, as soluções factı́veis possuem
14: else maior probabilidade de sucesso e, portanto, o processo con-
15: C ROWDING D ISTANCE(FRk ) verge para a região factı́vel.
16: Ordenar FRk (ordem decrescente) usando o crowd- B. Reparo das soluções
ing distance como referência A natureza combinatorial do problema da mochila faz com
17: Insira as primeiras |Pg | − |Pg+1 | soluções de FRk que muitas soluções geradas ao longo das iterações sejam
em Pg+1 infactı́veis. Devido ao uso do dominância restrita, as soluções
18: end if infactı́veis possuem pouca probabilidade de sobreviveram ao
19: k++ longo das gerações. Desse modo, notou-se em testes prelim-
20: end while inares que o algoritmo apresentava uma convergência pre-
21: FAST N ON D OMINATED S ORTING(Pg+1 ) coce, ficando restrito em ótimos locais distantes dos pontos
22: C ROWDING D ISTANCE(Pg+1 ) da fronteira de Pareto. Visando melhorar a diversidade e,
23: Qg ← O FFSPRING G ENERATOR(Pg+1 ) consequentemente, superar essa barreira implementou-se além
24: Pg ← Pg+1 dos operadores convencionais um técnica de reparo conhecida
25: g ←g+1 na literatura como greedy repair [5].
26: end while
Na técnica implementada, dado uma combinação infactı́vel
x, inicialmente, ordena-se os itens inseridos na mochila uti-
lizando dois critérios:
2) Mutação: O operador de mutação implementado aqui é 1) Em ordem crescente, o valor máximo da razão entre os
denominado por k-flip. A etapa inicial deste operador consiste ganhos e pesos. Isto é, para cada item i, i = 1, · · · , N :
na escolha da posição aleatória T , assim, k genes seguintes  
são invertidos. Este processo é ilustrado na Figura 2. p vij
qi = max
j=1 wi
2) Em ordem decrescente, o peso do item.
Após a ordenação, remove-se os primeiros itens até que a
solução x torne-se factı́vel. Com isso, tende-se a remover os
itens com um valor de ganho baixo e que são pesados.
C. Estratégia de Geração de Descendentes
O NSGA-II possibilita implementar estratégias de geração
de descendentes personalizadas. Isso permite definir es-
tratégias otimizadas para um determinado problema, incremen-
tando o desempenho final do método.
Baseado neste princı́pio, utilizou-se o Algoritmo 2 para
Fig. 2. Processo de mutação k-flip.
gerar a população de descentes. O processo iterativo inicia-
se pela definição dos pais utilizando o operador seleção do
NSGA-II. Desse modo, estabelecido o parâmetro th, denom-
IV. P ROCEDIMENTOS C OMPUTACIONAIS inado de limiar de mutação, escolhe-se aleatoriamente o tipo
de operador que irá gerar os novos descendentes: mutação; ou
Para se obter soluções factı́veis e de boa qualidade foi recombinação. Na etapa seguinte avalia-se a possibilidade de
necessário integrar mecanismos especı́ficos ao algoritmo do executar a reparação dos descentes gerados com base na taxa
NSGA-II. Nesta seção, pretende-se detalhar esses procedimen- de reparo, denotado por thGR . Esse processo contı́nua até que
tos, justificando o seu uso. o número de indivı́duos satisfaça |Q| ≥ |P|.
Algoritmo 2 Offspring Generator
Entrada: P, th, thGR
1: Q ← ∅
2: while |Q| < |P| do
3: [P1 , P2 ] ← Selecione dois pais de P utilizando o
operador de seleção crowded-comparison operator
4: k ← R ANDOM(0, 1)
5: if k ≤ th then
6: [O1 , O2 ] ← M UTAÇ ÃO(P1 , P2 )
7: else
8: [O1 , O2 ] ← R ECOMBINAÇ ÃO(P1 , P2 )
9: end if
10: k1 ← R ANDOM(0, 1)
11: k2 ← R ANDOM(0, 1)
12: if k1 ≤ thGR then
13: O1 ← G REEDY R EPAIR(O1 )
14: end if
15: if k2 ≤ thGR then
16: O2 ← G REEDY R EPAIR(O2 )
Fig. 3. Esquema de verificação de convergência e adaptação de parâmetros.
17: end if
18: Q ← Q ∪ {O1 , O2 }
19: end while Para evitar que o processo se interrompa devido à uma con-
vergência precoce, altera-se o tamanho da população e o limiar
de mutação, linearmente, até valores máximos estabelecidos.
Na etapa de recombinação, foram utilizados três operadores Isso é feito enquanto não há variação dos valores máximos
distintos, conforme citado anteriormente. A combinação for- de cada função objetivo. Uma vez que há alguma melhoria,
mada por cada operador de recombinação, o operador de restaura-se esses parâmetros aos seus valores iniciais.
mutação (k-flip) e a técnica de reparo (greedy repair) é referida
nos resultados como Estratégia. V. R ESULTADOS DE SIMULAÇ ÃO
Devido as diversas possibilidades combinação entre os Visando verificar a eficiência dos métodos implementados,
operadores, limitou-se variar apenas os tipos de operadores de foram executadas uma série de simulações computacionais.
recombinação. Na Tabela I é realizada uma associação entre Tais simulações foram executadas em PC dotado de um
as estratégias e os respectivos de operadores recombinação. processador i5-7200U de 2.5GHz e memória RAM 8Gb. A
implementação computacional foi feita utilizando o MatLab.
TABELA I O parâmetros comuns, utilizados em todas estratégias são
E STRAT ÉGIAS UTILIZADAS . apresentados na Tabela II. Como parâmetros adicionais para
Estratégia Op. de Recombinação a Estratégia 1, definiu-se o número de pontos de corte em
1 k-points NCP = 3 [8]; para terceira estratégia, o tamanho da sequencia
2 uniform
3 transposition
flanking foi estabelecida em kF LS = 4 [9].

TABELA II
D. Verificação de Convergência e Adaptação de Parâmetros PAR ÂMETROS COMUNS ÀS ESTRATEGIAS AVALIADAS .

Buscando melhorar a qualidade das soluções propostas e Parâmetros comuns


valor máximo de th
otimizar o tempo computacional, foi realizada uma adaptação limiar de mutação (th) 0.05
(thmax )
0.75
no processo iterativo principal do NSGA-II. Para isso, as eta- taxa de reparo (thGR ) 0.15
tamanho da população
25
pas do Algoritmo 1 foram rearranjadas conforme o fluxograma (psz )
tamanho máximo de psz número máximo de
da Figura 3. max 100 1250
(psz ) gerações (gmax )
O processo consiste em verificar a convergência do algo- número máximo de tamanho do número de
gerações na convergência 125 bits alternados na 2
ritmo avaliando, a cada iteração, se houve alguma melhoria (tmax ) mutação (kmut )
nos valores máximos de cada função objetivo. Caso haja
melhorias, as etapas comuns do NSGA-II são executadas Para realizar uma avaliação estatı́stica adequada das es-
normalmente. No entanto, uma vez constatado que não houve tratégias implementadas, para cada estratégia, foram realizadas
melhoria dos valores máximos, inicia-se um contador auxiliar 100 execuções. Em cada execução calculou-se os valores do
que é incrementado até que seja detectada alguma variação. Inverted Generational Distance (IGD), que consiste em um
Um vez que este contador atinja um número máximo de indicador capaz determinar a distância média mı́nima entre
gerações, denotado por tmax , o processo é interrompido. o conjunto de pontos ótimos de Pareto e o conjunto de
Pareto obtido [10]. Os pontos ótimos de Pareto foram obtidos Na Figura 5 são apresentados os histogramas dos máximos
utilizando o Método da Ponderação, que foi solucionado valores encontrados para cada função objetivo. Nota-se que
utilizando o AMPL-CPLEX. dentre as três estratégias, a Estratégia 3 é a que apresenta
Além do IGD, em cada execução foi verificado os valores maior probabilidade de fornecer valores máximos para as três
máximos obtidos de cada função objetivo. Esse parâmetro funções objetivos. O que é coerente com o resultado do IGD
fornece uma boa ideia de quanto as soluções obtidas estão médio.
próximas e dispersas em relação a fronteira de Pareto ver- Verifica-se por meio dos dados avaliados que a Estratégia 3
dadeira. possui a maior capacidade em gerar soluções mais próximas a
fronteira de Pareto. Essa verificação é coerente com resultados
A. Avaliação da performance das estratégias encontrados em [11]. Observa-se também que a Estratégia
Para avaliar a performance das estratégias realizou-se uma 2 possui um desempenho intermediário na qualidade das
avaliação estatı́stica das informações coletadas ao longo das soluções geradas, porém possuindo o melhor tempo computa-
execuções. No gráfico da Figura 4 é apresentada a média cional médio.
acumulada do IGD ao longo das execução para cada estratégia.
B. Amostra de execução
É possı́vel perceber que os valores ficam estáveis após, aprox-
imadamente, 60 execuções. Isso indica, que as informações Para observar os resultados de uma execução escolheu-se
estatı́sticas coletadas usando essa quantidade de execuções uma amostra gerada ao longo do processo de avaliação. O
(amostras) é capaz de representar de modo adequado o com- critério de escolha foi selecionar a execução que apresentasse
portamento das estratégias. o menor valor de IGD.
Na Tabela IV são apresentadas algumas informações sobre
a execução selecionada. Diferente do esperado, a execução
selecionada foi gerada pela Estratégia 2, o que é um evento
1,300 possı́vel por conta da natureza estocástica dos métodos. O
número de gerações do processo foi 784 e tempo com-
Média Acumulada - IGD

1,200 putacional despendido foi de 478.8 segundos. O IGD dessa


execução foi 669.2.

1,100 TABELA IV
Estratégia 1 C ARACTER ÍSTICAS DA EXECUÇ ÃO SELECIONADA .
Estratégia 2
Caracterı́sticas da execução
1,000 Estratégia 3 Estratégia 2
Tempo gasto(s) 478.8
Gerações realizadas 784
900 IGD 669.2

Na Figura 6 é apresentada a curva obtida ao calcular o IGD


20 40 60 80 100 das fronteiras de Pareto obtidas em iterações subsequentes,
Núm. Execuções sendo denotado por IGD(FPg−1 g
1 , FP 1 ). Desse modo, calcula-
se, basicamente, a distância média mı́nima entre as fronteiras
Fig. 4. Média acumulada do IGD. de Pareto obtidas entre duas iterações subsequentes, possi-
bilitando, consequentemente, avaliar a convergência de uma
Na Tabela III são apresentados os valores médios e os
execução.
desvios padrões para o IGD e o tempo de execução. A
No gráfico da Figura 6 é possı́vel perceber que IGD as-
Estratégia 3, assim como observado na Figura 4, apresenta
sume valores significativos nas primeiras iterações, indicando
o menor valor médio de IGD. Isso indica que a Estratégia
que as fronteiras de Pareto obtidas entre as duas iterações
3 apresenta uma maior tendência em gerar soluções mais
subsequentes estão distantes. No entanto, após 100 iterações
próximas ao conjunto verdadeiro de Pareto, já que o valor
os valores são menores, indicando que as fronteiras de Pareto
das distâncias médias mı́nimas (IGD) é baixo. Em relação ao
obtidas ao longo dessas iterações são similares.
tempo computacional, a Estratégia 2 é mais eficaz entre as três
A convergência da execução selecionada por ser observada
estratégias.
também no gráfico da Figura 7. Neste gráfico, são apresentados
os valores máximos, para cada função objetivo, obtidos ao
TABELA III
M ÉDIA E DESVIO PADR ÃO DAS M ÉTRICAS DE PERFORMANCE .
longo das iterações. Assim como no gráfico da Figura 6,
observa-se que as variações significativas ocorrem nas 100
IGD Tempo (s)
Estratégia
Média SD Média SD
primeiras iterações.
1 1315.6 288.4 422.6 156.3 Na Figura 8 são apresentados os pontos do conjunto ótimo
2 1146.5 272.1 379.9 129.3 de Pareto, determinados com o AMPL-CPLEX, e pontos que
3 910.7 126.4 492.8 172.4 compõem o conjunto obtido de Pareto ao fim da execução.
Estrat. 1 Estrat. 2 Estrat. 3

40 30 40
Frequência

20
20 20
10

0 0 0
22 22.5 23 23.5 24 25 26 24 25 26
3 3 3
Classes (×10 ) Classes (×10 ) Classes (×10 )
(a) Histograma - f1 (b) Histograma - f2 (c) Histograma - f3

Fig. 5. Histograma dos máximos valores obtidos para as três funções objetivos.

1,400 ·104
2.6
1,200 2.5

1,000 2.4
Valores máximos
800 2.3
IGD

2.2
600 f1
2.1 f2
400 f3
2
200
1.9
0
0 100 200 300 400 500 600 700 1.8
100 200 300 400 500 600 700
Gerações Gerações
Fig. 6. IGD(FPg−1 g
1 , FP 1 ) ao longo das iterações. Fig. 7. Valores máximos obtidos ao longo das iterações.

É possı́vel notar que alguns pontos dos dois conjuntos são Os dados coletados de uma amostra de execução indicaram
coincidentes. que tanto os valores máximos das funções objetivos como
o IGD entre as fronteiras de Pareto obtidas em gerações
VI. C ONCLUS ÕES subsequentes são parâmetros capazes de indicar a convergência
Neste trabalho, utilizou-se o algoritmo evolutivo NSGA-II do processo. Na execução verificada, constatou-se que as
para solucionar o problema da mochila multiobjetivo. Devido soluções obtidas ficaram muitas próximas à fronteira de Pareto
a natureza do problema, foi necessário adotar procedimentos verdadeira.
especiais, como o reparo de soluções infactı́veis e a adaptação Conclui-se, portanto, que o NSGA-II é um AEMO capaz
dinâmica de parâmetros, para se obter resultados satisfatórios. de ser adaptado com facilidade. E uma vez implementados os
procedimentos adequados para o problema a ser solucionado,
Foram testadas três estratégias distintas, compostas por
torna-se um algoritmo muito eficiente na solução de problemas
diferentes operadores de recombinação. Verificou-se que a
multiobjetivos complexos.
estratégia utilizando o operador de recombinação transposi-
tion, denominada neste trabalho de Estratégia 3, apresentou R EFER ÊNCIAS
a maior probabilidade de gerar soluções próximas a fronteira
de Pareto verdadeira. Constatou-se, também, que a Estratégia [1] K. Deb, Multi-objective optimization using evolutionary algorithms.
John Wiley & Sons, 2001, vol. 16.
2 apresentou uma tendência intermediária em gerar boas [2] M. Ehrgott, Multicriteria optimization. Springer Science & Business
soluções e o melhor tempo computacional. Media, 2005, vol. 491.
·104

2.5
f3

2
2
2.1
1.9
2.2 2 1.95
2.3 2.1 2.05
C.P. Obtido 2.4 2.15
f2 2.2
C.P. Verdadeiro 2.5 2.25
2.3 f1
2.6 2.35
·104 ·104
Fig. 8. Comparação entre o conjunto de Pareto (C.P) verdadeiro e o conjunto de Pareto obtido ao final da execução.

[3] P. Czyzżak and A. Jaszkiewicz, “Pareto simulated annealing—a meta-


heuristic technique for multiple-objective combinatorial optimization,”
Journal of Multi-Criteria Decision Analysis, vol. 7, no. 1, pp. 34–47,
1998.
[4] D. S. Vianna and J. E. C. Arroyo, “A grasp algorithm for the multi-
objective knapsack problem,” in XXIV International Conference of the
Chilean Computer Science Society, Nov 2004, pp. 69–75.
[5] E. Zitzler and L. Thiele, “Multiobjective evolutionary algorithms: a com-
parative case study and the strength pareto approach,” IEEE Transactions
on Evolutionary Computation, vol. 3, no. 4, pp. 257–271, Nov 1999.
[6] K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, “A fast and elitist
multiobjective genetic algorithm: Nsga-ii,” IEEE Transactions on Evo-
lutionary Computation, vol. 6, no. 2, pp. 182–197, Apr 2002.
[7] S. Martello and P. Toth, “Knapsack problems: Algorithms and computer
implementations,” Chichester, U.K.: Wiley, 1990.
[8] A. Umbarkar and P. Sheth, “Crossover operators in genetic algorithms:
A review.” ICTACT journal on soft computing, vol. 6, no. 1, 2015.
[9] A. Simões and E. Costa, “Transposition: A biological-inspired mech-
anism to use with genetic algorithms,” in Artificial Neural Nets and
Genetic Algorithms. Vienna: Springer Vienna, 1999, pp. 178–186.
[10] C. A. C. Coello and M. R. Sierra, “A study of the parallelization of
a coevolutionary multi-objective evolutionary algorithm,” in Mexican
International Conference on Artificial Intelligence. Springer, 2004,
pp. 688–697.
[11] A. Simoes and E. Costa, “An evolutionary approach to the zero/one
knapsack problem: Testing ideas from biology,” in Artificial Neural Nets
and Genetic Algorithms. Springer, 2001, pp. 236–239.

Você também pode gostar