4. ALGORITMO GENÉTICO –PROBLEMA DO CAIXEIRO VIAJANTE
4.1 Definição do TSP
5.1.2 Hill-climbing binário na otimização multidimensional com e sem janelamento, para
Conforme ficou estabelecido no capítulo anterior a solução de problemas de otimização multidimensional de dimensionalidade mais alta, por exemplo 100 ou 1000 variáveis, naturalmente são mais difíceis. Nesta subseção apresenta-se os resultados da minimização das funções f5(x) a f10(x), exceto f8(x), utilizando-se hill-climbing binário
com e sem janelamento.
Para a função objetivo f5(x), Figura 5.6, nota-se que os resultados foram bons com
objetivo até a ordem de 10-18. Fato raro, pois, a representação dos números floating-point em geral suporta bem números pequenos não nulos até 10-15. Também a distância do indivíduo mais apto até a solução exata da minimização da função objetivo, Figura 5.7, apresenta resultados expressivamente bons, tendo reduzido a distância a 10-9. Nota-se que para o caso com hill-climbing e sem janelamento a solução foi evoluindo até a geração 1000, a partir da qual a resposta estabilizou-se e não mais reduziu nem o valor da função objetivo nem a distância do indivíduo mais apto até a solução. Isso, provavelmente, deve-se ao fato de que no modo sem janelamento o hiper-volume de busca fica constante, e no caso com janelamento o hiper-volume vai diminuindo sua dimensão. Foi deduzido no capítulo 2 que a acurácia de uma solução pode ser melhorada com a diminuição do domínio de busca, entre outras.
0 5000 10000 15000 20000 1E-19 1E-17 1E-15 1E-13 1E-11 1E-9 1E-7 1E-5 1E-3 0,1 10 1000
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento
Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3
Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário f5 (x ) Gerações, nG sem janelamento com janelamento
Figura 5.6 - Valores mínimos, médios e máximos da função objetivo f5(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.
0 5000 10000 15000 20000 1E-10 1E-9 1E-8 1E-7 1E-6 1E-5 1E-4 1E-3 0,01 0,1 1 10 100 sem janelamento com janelamento
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, nv = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento
Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3
Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = binário
||x - x
*||2
Gerações, nG
Figura 5.7 - Valores mínimos da distância do indivíduo mais apto até a solução da função f5(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.
Nos testes anteriores, a função f6(x) foi a que apresentou mais dificuldade para ser minimizada, quando usando hill-climbing e janelamento também esta função foi a que apresentou as maiores dificuldades para se reduzir o seu valor, bem como diminuir a distância entre o indivíduo mais apto e o ponto de mínimo exato. Note que os resultados apresentados nas Figuras 5.8 e 5.9 são relativamente semelhantes àqueles apresentados às Figuras 3.64 e 3.65, para 100 variáveis. Embora no caso com hill-climbing e janelamento percebe-se alguns aspectos que são melhores, por exemplo, na Figura 5.9 a menor distância atingida é da ordem de 5, enquanto na Figura 3.65 seja da ordem de 10.
0 5000 10000 15000 20000 100 1000 10000 100000 1000000
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento
Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3
Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário
com janelamento sem janelamento f6 (x ) Gerações, nG
Figura 5.8 - Valores mínimos, médios e máximos da função objetivo f6(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.
0 5000 10000 15000 20000 5 10 15 20 25 sem janelamento com janelamento
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento
Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3
Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário
||x -
x
*||2
Gerações, nG
Figura 5.9 - Valores mínimos da distância do indivíduo mais apto até a solução da função f6(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.
De acordo com o estabelecido no capítulo 3 a função f7(x), provavelmente, é a de mais fácil minimização utilizando-se o algoritmo genético. Isso fica claro nos resultados obtidos com hill-climbing binário e sem janelamento. Os resultados para a função objetivo bem como para a distância até a solução exata tendem para zero, Figuras 5.10 e 5.11. No entanto, neste caso ocorreu um fato interessante, a solução com hill-climbing binário e janelamento produziu resultados piores do que os obtidos com hill-climbing binário e sem janelamento. Significa que o janelamento acabou deixando de fora do domínio de busca a região de mínimo da função. Esta região é vizinha ao canto (-5; -5; ...; -5), e o algoritmo de janelamento não estava adequadamente construído ou sintonizado para este caso.
Também os repiques nas curvas das Figuras 5.8 e 5.9 referentes à função objetivo )
( 6 x
f , provavelmente, são devidos ao janelamento ter excluído o ponto do domínio de busca.
0 5000 10000 15000 20000 -50 0 50 100 150 200 250 300 350 400 450
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3 Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário
sem janelamento com janelamento f7 (x ) Gerações, n G
Figura 5.10 - Valores mínimos, médios e máximos da função objetivo f7(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.
Apesar de apresentar grande número de mínimos e máximos locais a função f9(x) juntamente à função f5(x) são as que apresentam resultados bastante acurados, Figura 5.12 e 5.13. O valor da função objetivo foi reduzido até a ordem de 10-13 e a distância até o mínimo exato foi reduzida até a ordem de 10-7.
0 5000 10000 15000 20000 0 10 20 30 40 50
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3 Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário
com janelamento sem janelamento
||x - x*
||2
Gerações, nG
Figura 5.11 - Valores mínimos da distância do indivíduo mais apto até a solução da função f7(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.
0 5000 10000 15000 20000 1E-13 1E-12 1E-11 1E-10 1E-9 1E-8 1E-7 1E-6 1E-5 1E-4 1E-3 0,01 0,1 1 10 100 1000 10000
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3 Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário
com janelamento sem janelamento
f9
(x)
Gerações, nG
Figura 5.12 - Valores mínimos, médios e máximos da função objetivo f9(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.
0 5000 10000 15000 20000 1E-8 1E-7 1E-6 1E-5 1E-4 1E-3 0,01 0,1 1 10 100 com janelamento sem janelamento
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento
Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3
Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário
||x -
x
*||
2
Gerações, nG
Figura 5.13 - Valores mínimos da distância do indivíduo mais apto até a solução da função )f9(x , para 100 variáveis, com o uso de hill-climbing binário e janelamento.
O algoritmo de pênalti é ativado na minimização da função objetivo f10(x) porque ela não é definida em boa parte do espaço de busca. Também está ativo o algoritmo de
hill-climbing binário, além de todas outras características do algoritmo genético. Nas Figuras
5.14 e 5.15 nota-se que quando também está atuando o mecanismo de janelamento, os resultados convergem para a diminuição dos valores da função objetivo e também da distância do indivíduo mais apto até a solução exata da otimização. No entanto existe alguma interação, mal controlada entre todos estes mecanismos que fazem com que o resultado obtido operando sem janelamento apresente acréscimos e decréscimos na função objetivo, fato que não deveria ocorrer uma vez que utiliza-se o elitismo, e o individuo mais apto não deveria ser perdido.
0 5000 10000 15000 20000 0 20 40 60 80 100 sem janelamento com janelamento
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento
Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3
Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário f10
(x)
Gerações, nG
Figura 5.14 - Valores mínimos, médios e máximos da função objetivo f10(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.
0 5000 10000 15000 20000 0 5 10 15 20 25 30 35 sem janelamento com janelamento
Modo de otimização = Minimização Tipo de população inicial = aleatória Tamanho da população, np = 1000 Número de gerações, nG = 20000 Número de variáveis, n = 100 Número de genes por variável, ngv = 20 Tipo de aptidão = escalonamento
Com elitismo, ε = 0.01
Tipo de Seleção = roda da roleta, λ = 0.3
Tipo de crossover = uniforme Probabilidade de mutação, pm = 0.05 Tipo substituição = dos menos aptos Tipo de Hill Climbing = Binário
||x - x*
||2
Gerações, n
G
Figura 5.15 - Valores mínimos da distância do indivíduo mais apto até a solução da função f10(x), para 100 variáveis, com o uso de hill-climbing binário e janelamento.