Você está na página 1de 10

U NIVERSIDADE F EDERAL DE U BERLÂNDIA

P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA M ECÂNICA

OTIMIZAÇÃO H EURÍSTICA E OTIMIZAÇÃO M ULTI -O BJETIVO

T RABALHO 01

Algoritmos Genéticos e Colônia de


Vaga-lumes

André Rezende Dessimoni Carvalho

Professor: Dr. Fran Sérgio Lobato

Uberlândia

16 de Abril de 2019
Conteúdo

1 Algoritmo Genético 2
1.1 Estudo proposto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Resultados e análise de sensibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Algoritmo de Colônia de Vaga-lumes 6


2.1 Enunciado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Resultados e análise de sensibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Conclusões 9

1
1. Algoritmo Genético

1.1 Estudo proposto

Resolver o problema de otimização abaixo usando o algoritmo genético fornecido.

min f (x) = x1 sin (4x1 ) + 1.1x2 sin (2x2 )


0 ≤ x1 ≤ 10 (1)

0 ≤ x2 ≤ 10

Deve ser realizada uma análise de sensibilidade sobre os parâmetros “Número de Indivíduos”,
“Número de Gerações”, “Probabilidade de Crossover” e “Probabilidade de Mutação”. Para cada
análise, os demais parâmetros devem manter os valores padrões abaixo:

• Número de Indivíduos: Nind = 50

• Número de Gerações: Nger = 500

• Probabilidade de Crossover: pc = 0.9

• Probabilidade de Mutação: pm = 0.1

1.2 Resultados e análise de sensibilidade

A análise de sensibilidade foi realizada segundo os critérios citados no item 1.1 e variando as
sementes do algoritmo de geração de números aleatórios, a fim de realizar a análise estatística. A
Tabela 1 mostra os valores da função objetivo obtidos após cada rodada do algoritmo de otimização.
Os dados da tabela são compilados na Figura 1.

2
Tabela 1. Resultados dos valores da função objetivo via algoritmo genético.

Número de Indivíduos Número de Gerações


Semente 5 50 100 10 100 1000
0 -16.98455 -18.55472 -18.55472 -16.87688 -18.55472 -18.55472
1 -16.98465 -18.55472 -18.55269 -16.87070 -18.55472 -18.55472
2 -15.10793 -18.55472 -18.55472 -16.88884 -18.55472 -18.55472
3 -11.96817 -18.55472 -18.53776 -17.71152 -18.55472 -18.55472
4 -16.98465 -18.55472 -18.55472 -15.08889 -18.55472 -18.55472
5 -11.96812 -18.55472 -18.55472 -14.92486 -18.55418 -18.55472
6 -15.10792 -18.55472 -18.55472 -18.50453 -18.55472 -18.55472
7 -18.55472 -18.55472 -18.55430 -17.55262 -18.55472 -18.55472
8 -18.55472 -18.55472 -18.55472 -15.07608 -18.55472 -18.55472
9 -18.54263 -16.98465 -18.55472 -13.70591 -16.98465 -18.55472
Média -16.07581 -18.39771 -18.55278 -16.32008 -18.39766 -18.55472
Desvio 2.37639 0.47102 0.00504 1.44940 0.47100 0.00000
Avaliações 2505 25050 50100 550 5050 50050
Probabilidade de Crossover Probabilidade de Mutação
Semente 0.5 0.7 0.9 0.01 0.05 0.1
0 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
1 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
2 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
3 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
4 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
5 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
6 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
7 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
8 -18.55472 -18.55472 -18.55472 -15.10793 -18.55472 -18.55472
9 -18.55472 -18.55472 -16.98465 -16.98465 -18.55472 -16.98465
Média -18.55472 -18.55472 -18.39771 -18.05303 -18.55472 -18.39771
Desvio 0.00000 0.00000 0.47102 1.08759 0.00000 0.47102
Avaliações 25050 25050 25050 25050 25050 25050

3
NÚMERO DE INDIVÍDUOS NÚMERO DE GERAÇÕES
5 50 100 10 100 1000
-16.0 2.5 -16.0 2.5

-16.5 2.0 -16.5 2.0

DESVIO PADRÃO

DESVIO PADRÃO
-17.0 -17.0
1.5 1.5
MÉDIA

MÉDIA
-17.5 -17.5
1.0 1.0
-18.0 -18.0

-18.5 0.5 -18.5 0.5

-19.0 0.0 -19.0 0.0

PROBABILIDADE DE CROSSOVER PROBABILIDADE DE MUTAÇÃO


0.5 0.7 0.9 0.01 0.05 0.1
-16.0 2.5 -16.0 2.5

-16.5 2.0 -16.5 2.0


DESVIO PADRÃO

DESVIO PADRÃO
-17.0 -17.0
1.5 1.5
MÉDIA

MÉDIA

-17.5 -17.5
1.0 1.0
-18.0 -18.0

-18.5 0.5 -18.5 0.5

-19.0 0.0 -19.0 0.0

Figura 1. Análise de sensibilidade sobre o valor da função objetivo.

A partir da figura, pode-se realizar as seguintes observações:

• O número de indivíduos (Nind ) e de gerações (Nger ) foram os parâmetros que apresentaram o


maior impacto sobre o valor médio da função objetivo. Ambos impactam diretamente sobre o
número de avaliações da função objetivo. Logo conclui-se que, com um número reduzido de
avaliações (casos Nind = 5 (2505 avaliações) e Nger = 10 (550 avaliações)), o algoritmo não
tem recursos para convergir corretamente para o valor desejado, o que é evidenciado pelo alto
valor do desvio-padrão.

• Ainda sobre os parâmetros Nind e Nger , nota-se que possuem comportamento assintótico, ou
seja a partir de um dado valor, não há um ganho significativo sobre o valor da função objetivo,
o que é esperado, já que o algoritmo poderá já estar próximo ao mínimo.

• Em relação à probabilidade de crossover, nota-se que para valores altos (0.9) a aleatoriedade
inserida sobre o algoritmo prejudica a taxa de convergência, fazendo com que para o mesmo
número de avaliações da função objetivo, o desvio padrão seja maior e o melhor candidato
esteja mais distante do mínimo. Ressalta-se que ainda que prejudique a taxa de convergência,
o parâmetro auxilia o algoritmo a fugir de mínimos locais.

• A probabilidade de Mutação não apresentou uma tendência clara, de forma que para o valor
intermediário de 0.05 o algoritmo apresentou o menor valor em média, e o menor desvio padrão.
Esperava-se que a menor probabilidade de mutação corresponde-se ao menor desvio padrão, já
que diminuiria o nível de aleatoriedade.

4
• Por fim, observa-se que apesar dos vários mínimos locais presente na função, o algoritmo foi
eficiente em encontrar o mínimo global do intervalo, desde que fornecidos valores adequados
de Nind e Nger . O mínimo global no intervalo foi obtido graficamente por meio da Figura 2,
na qual observa-se que o valor está coerente com os resultados obtidos pelo algoritmo. Um
dos motivos para a diferença entre os valores de mínimo obtido pelo algoritmo e graficamente
é a discretização do gráfico, que se deu em intervalos de 0.1. Se o refinamento fosse maior,
poderia-se encontrar valores mais próximo ao obtidos pelo algoritmo genético.

20

15

10

5
FO

-5

-10

-15
X: 8.6
Y: 9
-20 Z: -18.36
10 10
8 8
6 6
4 4
2 2
x2 0 0
x1

Figura 2. Gráfico da função (discretização: ∆x1 = ∆x2 = 0.1).

5
2. Algoritmo de Colônia de Vaga-lumes

2.1 Enunciado

O caso a ser estudado para o algoritmo de colônia de vaga-lumes (ACV) é semelhante ao avaliado
pelo algoritmo genético, apresentando a mesma função objetivo. No entanto, para o ACV, deverá
ser realizada uma analise de sensibilidade sobre os parâmetros “Número de Indivíduos”, “Número
de gerações”, “β0 ” e “α”. Para cada análise, os demais parâmetros devem ser mantidos nos valores
padrões:

• Número de Indivíduos: Nind = 50

• Número de Gerações:Nger = 500

• Atratividade para distância r = 0: β0 = 0.9

• Inserção de aleatoriedade: α = 0.5

2.2 Resultados e análise de sensibilidade

A análise de sensibilidade foi realizada segundo os critérios citados no item 2.1 e variando as
sementes do algoritmo de geração de números aleatórios, a fim de realizar a análise estatística. A
Tabela 2 mostra os valores da função objetivo obtidos após cada rodada do algoritmo de otimização.
Os dados da tabela são compilados na Figura 3.

6
Tabela 2. Resultados dos valores da função objetivo via ACV.

Número de Indivíduos Número de Gerações


Semente 5 50 100 10 100 1000
0 -15.41497 -18.55472 -18.55472 -18.47680 -18.55472 -18.55472
1 -1.20362 -16.98465 -16.98465 -13.48432 -15.10792 -18.55472
2 -10.72280 -18.55472 -18.55472 -13.92531 -18.55472 -18.55472
3 -3.85158 -18.55472 -18.55472 -13.43607 -18.55472 -18.55472
4 -16.98465 -18.55472 -18.55472 -16.30541 -18.55472 -18.55472
5 -13.53786 -15.10793 -18.55472 -12.13932 -13.53786 -15.10793
6 -8.54374 -16.98465 -18.55472 -12.25574 -12.98678 -18.55472
7 -8.54374 -15.41497 -18.55472 -13.30512 -14.22057 -15.41497
8 -15.10793 -13.53786 -18.55472 -12.21863 -12.27936 -16.98465
9 -10.72280 -18.55472 -18.55472 -11.99775 -13.20320 -18.55472
Média -10.46337 -17.08037 -18.39771 -13.75445 -15.55546 -17.73906
Desvio 4.84802 1.73495 0.47102 1.98779 2.54753 1.32478
Avaliações 2505 25050 50100 550 5050 50050
β0 α
Semente 0.5 0.7 0.9 0.1 0.25 0.5
0 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
1 -15.10793 -16.98465 -16.98465 -15.10793 -15.20306 -16.98465
2 -14.79890 -16.98465 -18.55472 -18.55472 -18.55472 -18.55472
3 -15.41497 -18.55472 -18.55472 -18.55472 -18.55472 -18.55472
4 -16.98465 -16.98465 -18.55472 -18.55472 -18.55472 -18.55472
5 -15.10793 -15.10793 -15.10793 -13.53786 -15.10793 -15.10793
6 -16.70634 -15.41497 -16.98465 -12.27936 -18.55472 -16.98465
7 -13.53786 -15.41497 -15.41497 -15.41497 -15.41497 -15.41497
8 -15.10793 -15.10793 -13.53786 -12.27936 -16.98465 -13.53786
9 -16.98465 -16.98465 -18.55472 -12.27936 -18.55472 -18.55472
Média -15.83059 -16.60938 -17.08037 -15.51177 -17.40389 -17.08037
Desvio 1.37521 1.24475 1.73495 2.69170 1.48974 1.73495
Avaliações 25050 25050 25050 25050 25050 25050

7
NÚMERO DE INDIVÍDUOS NÚMERO DE GERAÇÕES
5 50 100 10 100 1000
-10.0 6.0 -10.0 2.6
-11.0 -11.0
5.0 2.1
-12.0 -12.0

DESVIO PADRÃO

DESVIO PADRÃO
-13.0 4.0 -13.0 1.6
MÉDIA

MÉDIA
-14.0 -14.0
3.0 1.1
-15.0 -15.0
-16.0 2.0 -16.0 0.6
-17.0 -17.0
1.0 0.1
-18.0 -18.0
-19.0 0.0 -19.0 -0.4

ΒETA 0 ALPHA
0.5 0.7 0.9 0.1 0.25 0.5
-10.0 2.6 -10.0 2.6
-11.0 -11.0
2.1 2.1
-12.0 -12.0
DESVIO PADRÃO

DESVIO PADRÃO
-13.0 1.6 -13.0 1.6
MÉDIA

MÉDIA

-14.0 -14.0
1.1 1.1
-15.0 -15.0
-16.0 0.6 -16.0 0.6
-17.0 -17.0
0.1 0.1
-18.0 -18.0
-19.0 -0.4 -19.0 -0.4

Figura 3. Análise de sensibilidade sobre o valor da função objetivo.

A partir da tabela 2 e Figura 3, é possível tecer as seguintes observações:

• Para o problema proposto, o ACV necessitou de uma grande quantidade de avaliações da função
objetivo para aproximar do mínimo obtido graficamente, sendo os parâmetros Nind e Nger os
mais influentes.

• Embora o caso Nger = 10 tenha realizado 550 avaliações da função objetivo e o Nind = 5 tenha
feito 2505, o primeiro teve desvio padrão menor e um valor médio significativamente melhor
que o segundo. Tal fato sugere que o algoritmo seja mais sensível à redução do número de
indivíduos que ao número de gerações.

• Embora o resultado médio tenha melhorado com o aumento do número de gerações, o desvio
padrão não apresentou uma tendência clara, já que o maior valor ocorreu para o valor interme-
diário.

• O aumento de β0 tendeu a melhorar o resultado médio.

• O parâmetro α não apresentou tendência clara, já que o melhor valor médio ocorreu para o
valor intermediário.

8
3. Conclusões

Por meio das análises realizadas, é possível observar a capacidade dos algoritmos apresentados de
“fugir” dos mínimos locais, mesmo em funções com vários mínimos, como a mostrada na Figura 2,
o que representaria um desafio para os algoritmos clássicos.
Comparando as duas metodologias, também é possível afirmar que, pelo menos para a função ob-
jetiva proposta, o GA se mostrou mais eficiente e robusto que o ACV dado que, para o mesmo número
de avaliações, o GA obteve resultados mais próximos ao mínimo obtido graficamente, mantendo um
desvio padrão menor. Além disso, o algoritmo GA apresentou menor sensibilidade aos parâmetros,
apresentando variações menos bruscas que o ACV.

Você também pode gostar