• Nenhum resultado encontrado

Experimentação de Diferentes Combinações de Valores de Pm, Pc e Tamanhos

6. Experimentação de Diversas Configurações para AG’s “Clássicos”, e Aplicação dos

6.1. Experimentação de Diferentes Combinações de Valores de Pm, Pc e Tamanhos

• Taxa de Mutação: iniciando em 0,1, diminuindo seu valor em 20% a cada passo, em 25 diferentes passos, sendo que no último assumia valor “0”.

Para o AG-CV, foram realizados testes de todas as combinações destes valores de Pc e Pm para diferentes tamanhos de população: de 20 a 100 indivíduos, variando de 20 em 20. Para cada configuração deste experimento, foram realizadas 1000 execuções do algoritmo, cada uma utilizando uma diferente “semente” para a geração de números aleatórios. Cada uma destas diferentes “sementes” produz uma diferente seqüência de números aleatórios. Esta abordagem é interessante para este trabalho, pois permite estudar o comportamento do algoritmo desenvolvido para diferentes seqüências de números aleatórios, além de permitir reproduzir novamente uma mesma seqüência de números, caso algum comportamento interessante tenha sido gerado por aquela seqüência específica. Uma discussão a respeito da suficiência da utilização de 1000 seqüências diferentes de números aleatórios é apresentada no “Apêndice B” do presente trabalho.

Para cada caso, o número máximo de iterações admitido era de 1000. Além disso, em cada caso, as tabelas geradas informam a média de iterações necessárias para o AG encontrar o valor mínimo global (apenas entre os casos que encontraram o valor ótimo global procurado em até 1000 iterações, os demais não entraram na média), e também informam o número de casos que não encontraram este valor ótimo global procurado em até 25, 50, 100, 200, 500, 700 e 1000 iterações. As diversas tabelas com os resultados deste experimento se encontram no “Apêndice A” deste documento.

Para o AG-MF, também foram realizados testes de todas as combinações destes valores de Pc e Pm, para os tamanhos de população de 20, 50, 70 e 200 indivíduos, utilizando-se os mesmos critérios e condições para os cálculos dos números médios de iterações necessárias, e números de casos que não encontraram o valor ótimo global procurado até as mesmas quantidades números de iterações (25, 50, 100, 200, 500, 700 e 1000). Como os experimentos com o AG-MF foram realizados após os experimentos com o AG-CV, e para o AG-CV observou-se que a variedade de tamanhos de população utilizada nos experimentos foi um pouco alta (os mesmos resultados poderiam ser observados com menos experimentos, utilizando-se menos variedade de tamanhos para a população), e estes experimentos são computacionalmente pesados (por necessitarem de muito tempo para sua conclusão), optou-se por utilizar para o AG-MF uma variedade menor de tamanhos de população, apenas utilizando-se populações de 20, 50 e 70 indivíduos. O tamanho de população de 200 indivíduos foi utilizado em um experimento posterior, após se verificar que, para populações de 20, 50 e 70 indivíduos o desempenho do AG-MF era consideravelmente inferior ao do AG-CV, e como uma tentativa de se observar o comportamento do AG-MF quando este obtém um desempenho maior. Convém observar que, em ambos os experimentos, as faixas de valores geralmente utilizadas segundo

[Rezende – 2003], e as faixas de valores recomendados em [Obitko, Slavík – 1999], para Pm e Pc, estão contidas nas faixas utilizadas nestes experimentos.

Das tabelas produzidas, pode-se observar comportamentos semelhantes em todos os experimentos, sob determinadas condições. Para ambos os AG’s implementados (AG-CV e AG-MF), pode-se observar que, para o mesmo valor de Pc, e também o mesmo tamanho da população, sempre existe um valor de Pm que minimiza o número de casos que não encontraram o valor ótimo global procurado até números mais altos de iterações. É importante detalhar de forma clara este critério, pois será usado deste ponto em diante para todo este documento. Para este critério, consideram-se “melhores” as configurações que “zeraram” as quantidades de casos (que não encontraram o valor ótimo global procurado) para faixas de iterações mais altas. Assim sendo, configurações que zeraram a quantidade de casos em uma determinada faixa de iterações (por exemplo: “não até 500”) (e portanto, obviamente, também “zeraram” em todas as demais faixas com quantidades maiores de iterações – ainda segundo o mesmo exemplo: “não até 700”, e “não até 1000”) são considerados “melhores”, sob este critério, que todos os demais casos que possuam casos nesta faixa (no mesmo exemplo: ”não até 500”), por menores que sejam seus resultados para faixas de quantidades menores de iterações (no mesmo exemplo: “não até 100”, “não até 200” etc). Como critério de desempate, caso haja faixas de quantidades de iterações que não possuam “0” casos, para nenhuma das configurações experimentadas, são consideradas como “melhores” as configurações que apresentarem o menor número de casos nesta faixa “não-zerada”. Caso as quantidades sejam iguais para mais de uma configuração, é “melhor” a configuração que possuir um menor número de casos na faixa de iterações imediatamente anterior, e assim por diante.

Além disso, sempre existe também um valor de Pm que minimiza a média de iterações necessárias para encontrar o valor ótimo global procurado (lembrando que a média é calculada apenas entre os casos que encontraram o valor ótimo global procurado em até 1000 iterações), mas surpreendentemente estes casos (a minimização da média; e a minimização do número de casos que não encontraram o valor ótimo global procurado até elevadas quantidades de iterações, segundo os critérios apresentados) ocorrem para valores de Pm diferentes. A tabela a seguir ilustra um destes casos, para o AG-CV:

Tabela 6.1: experimento com o AG que resolve o problema do CV, para tamanho de população = 100 indivíduos, e Pc = 0,8 (a linha da tabela com menor número de casos que

não encontraram o valor mínimo global está circulada com traço contínuo, e a linha da tabela que corresponde à menor média, está circulada em tracejado).

É importante notar das tabelas obtidas, que os casos que não encontraram o valor ótimo global procurado em até 1000 iterações já possuíam números aproximadamente constantes de casos que não encontraram o valor ótimo global procurado nas faixas de iterações próximas de 1000, o que significa que estes casos dificilmente o encontrariam para números de iterações superiores a 1000 (sendo que o próprio valor de 1000 iterações já corresponde um número muito elevado). Foi por este motivo que as médias de iterações necessárias para encontrar o valor ótimo global procurado foram calculadas apenas entre os casos que encontraram o valor ótimo global procurado para números de iterações inferiores a 1000; e os demais casos foram considerados como casos incapazes de encontrar o valor ótimo global procurado. Analisando-se a população de alguns destes casos, percebe-se que sofreram convergência prematura, e como conseqüência deste fato, possuem uma população com todos os indivíduos iguais (ou quase todos), “uniformizada” (conforme observado e discutido na seção 5.1.1 do presente trabalho), o que significa que, nestes casos, muito dificilmente o algoritmo sairá desta condição, mesmo para elevadas quantidades de iterações.

Ainda se analisando os resultados para o AG-CV, observa-se que os valores de Pm que geram o menor número de casos que não encontraram o valor ótimo global procurado (para os diversos valores de Pc e tamanhos de população) ficam entre 0,04096 e 0,08. É interessante notar que sempre é possível se obter casos, para todos os tamanhos de população analisados, em que todas as execuções do algoritmo encontram o valor ótimo (mínimo) global antes de 1000 iterações. Também se pode observar que, quanto menor é o

Pc Pm Media NaoAte25 NaoAte50 NaoAte100 NaoAte200 NaoAte500 NaoAte700 NaoAte1000 0.80 0.10000 42.70 538 247 87 21 0 0 0 0.80 0.08000 30.58 404 147 36 1 0 0 0 0.80 0.06400 19.92 241 42 4 0 0 0 0 0.80 0.05120 15.61 122 14 0 0 0 0 0 0.80 0.04096 13.42 68 6 0 0 0 0 0 0.80 0.03277 14.49 44 22 15 4 0 0 0 0.80 0.02621 19.40 41 34 28 20 4 2 0 0.80 0.02097 21.26 43 42 41 39 24 18 15 0.80 0.01678 17.30 55 53 51 48 42 37 35 0.80 0.01342 15.03 42 41 39 39 35 29 28 0.80 0.01074 11.59 45 45 45 45 43 43 41 0.80 0.00859 9.70 54 54 54 54 52 52 52 0.80 0.00687 8.70 57 56 56 56 56 56 56 0.80 0.00550 8.75 37 37 37 37 37 37 37 0.80 0.00440 8.45 49 49 48 48 48 48 48 0.80 0.00352 8.69 44 44 43 43 43 43 43 0.80 0.00281 9.60 53 51 51 51 51 51 50 0.80 0.00225 8.52 56 55 55 54 54 54 54 0.80 0.00180 8.80 55 51 49 49 49 49 49 0.80 0.00000 8.38 61 61 61 61 61 61 61

tamanho da população, maiores são as quantidades de casos que não encontraram o valor ótimo global procurado, maiores são as médias, e maiores tendem a ser os valores de Pm que obtêm o menor número de casos que não encontraram o valor ótimo global procurado. Estes resultados estão condizentes com o fato de que, quanto maior é a população, melhor é o desempenho do AG (porém também é maior o consumo de recursos computacionais) [Herrera, Lozano – 1996].

Curiosamente, para o AG-CV, a melhor média sempre foi obtida para Pm = 0, embora estes casos tenham quase sempre obtido os piores valores para a quantidade de execuções que não encontraram o valor ótimo global procurado – para tamanhos altos de população, esta quantidade não chega a ser muito elevada (para pop = 100, o pior dos casos teve 17% das execuções não encontrando o valor ótimo global procurado, e para pop = 80, 29%); porém para tamanhos menores, este valor passou a ser elevado (para pop = 40, o pior dos casos teve 62% das execuções não encontrando o valor ótimo global procurado, e para pop = 20, o preocupante valor de 94%). Desta forma, pode-se observar que para este AG, a Pm tende a aumentar a média de iterações necessárias para encontrar o valor ótimo global, mas sem sua utilização, o desempenho do algoritmo fica comprometido para muitos dos casos executados. Contudo, a segunda melhor média observada, para cada combinação de Pc e tamanho da população, não ocorre para o menor valor de Pm empregado, mas ainda assim ocorre para valores relativamente baixos de Pm (abaixo de 1%).

Analisando-se as tabelas obtidas, para cada combinação de Pm e tamanho da população, observa-se que quanto maior é Pc, menores (e portanto melhores) tendem a ser a média de iterações necessária para encontrar o valor ótimo global procurado, bem como o número de casos não encontraram este valor em até 1000 iterações. Para o mesmo valor de Pm, quando não era o mesmo valor de Pc que gerava ao mesmo tempo a menor média e o menor número de casos que não encontraram o valor ótimo global, estes fatos ocorriam para valores de Pc muito próximos. Para populações maiores, os melhores valores de Pc concentravam-se entre Pc = 0,9 e Pc = 1. Conforme se diminui o tamanho da população, estes valores tendem a ficar um pouco mais próximos da metade do intervalo de valores utilizado (normalmente entre Pc = 0,7 e Pc = 0,8).

Para o AG-MF, pode-se observar um comportamento semelhante ao observado para o AG-CV, apesar de se tratar de AG’s com representações e operadores essencialmente diferentes. A principal diferença é que, para o AG-MF, a melhor média normalmente não ocorre para Pm = 0. Uma tabela que ilustra o comportamento deste AG para Pc = 0,8 e população de 70 indivíduos.

Tabela 6.2: experimento com o AG que resolve o problema de Minimização de Funções, para tamanho de população = 70 indivíduos, e Pc = 0,8 (a linha da tabela com menor número de casos que não encontraram o valor mínimo global está circulada com traço contínuo, e a linha da tabela que corresponde à menor média, está circulada em tracejado).

Para este AG, que resolve o problema de minimização de funções, também se observa que, para os mesmos valores de Pc e tamanho da população, existe uma faixa de valores de Pm que tende a minimizar o número de casos que não encontraram o valor ótimo global procurado. Assim como para o AG-CV, esta faixa tende a ocorrer para valores mais altos de Pm, conforme menor for o tamanho da população. Para tamanhos de população de 70 e 50 indivíduos, esta faixa de valores se encontrava entre Pm = 0,064 e Pm = 0,08. Já para a população de 20 indivíduos, esta faixa se encontrava entre Pm = 0,1 e Pm = 0,08. Em todos os casos estes valores de Pm necessários para que o algoritmo encontre o valor ótimo global procurado são consideravelmente elevados (encontram-se acima das faixas de valores geralmente utilizadas segundo [Rezende – 2003], e das faixas de valores recomendados em [Obitko, Slavík – 1999]). Também se pode observar que, para os tamanhos de população de 50 e 70 indivíduos sempre foi possível encontrar valores de Pc e Pm que encontram o valor ótimo global procurado para todos os casos testados (as 1000 seqüências diferentes de números aleatórios) antes de 1000 iterações. Porém, para a população de 20 indivíduos, não foi possível encontrar tal combinação. A necessidade de valores consideravelmente altos de Pm para que o algoritmo encontre o valor ótimo global procurado, está condizente com os resultados de baixo desempenho obtidos no primeiro experimento com este AG, para Pc = 0,8 e Pm = 0,01, e tamanho de população de apenas

Pc Pm Media NaoAte25 NaoAte50 NaoAte100 NaoAte200 NaoAte500 NaoAte700 NaoAte1000 0,8 0,1 41,24 494 240 84 16 0 0 0 0,8 0,08 31,58 413 171 41 2 0 0 0 0,8 0,064 29,01 367 146 27 0 0 0 0 0,8 0,0512 38,21 380 189 76 22 2 0 0 0,8 0,04096 86,29 386 295 213 133 65 44 19 0,8 0,03277 135,25 447 413 382 334 255 214 160 0,8 0,02621 82,01 450 438 423 406 378 361 333 0,8 0,02097 66,2 542 530 524 515 495 484 467 0,8 0,01678 47,39 565 562 560 558 545 536 528 0,8 0,01342 35,77 595 590 588 584 574 570 566 0,8 0,01074 26,94 632 624 623 621 615 612 610 0,8 0,00859 19,17 657 653 652 652 651 648 647 0,8 0,00687 16,72 682 676 676 676 675 675 673 0,8 0,0055 14,64 705 691 691 691 691 691 690 0,8 0,0044 14,59 712 698 698 698 698 697 697 0,8 0,00352 12,62 707 694 693 693 693 693 693 0,8 0,00281 13,05 713 694 692 692 692 692 692 0,8 0,00225 13,9 728 708 704 704 704 704 704 0,8 0,0018 13,8 742 721 715 715 715 715 715 0,8 0,00144 15,72 759 735 729 729 728 728 728 0,8 0,00115 15,72 754 736 721 721 721 721 721 0,8 0,00092 17,86 766 739 719 718 718 718 718 0,8 0,00074 18,5 768 736 717 714 714 714 714 0,8 0,00059 20,49 759 735 708 702 702 702 702 0,8 0 93,6 818 818 815 810 800 792 780

16 indivíduos. Porém, com populações maiores, conseguiu-se reduzir esta necessidade de valores demasiadamente altos para Pm. Segundo [Herrera, Lozano – 1996], se o tamanho da população é pequeno demais, corre-se o risco de o algoritmo convergir depressa demais (e, portanto convergir para um valor não-ótimo, não encontrando o valor ótimo procurado); e se este tamanho for grande demais, o AG pode desperdiçar recursos computacionais. Os resultados aqui obtidos estão condizentes com esta afirmação, uma vez que para tamanhos de população pequenos, não foi possível encontrar o valor ótimo global procurado, antes de 1000 iterações, para todas as 1000 execuções, em nenhuma configuração de parâmetros. Convém também observar que o tamanho ideal de população depende do problema e da implementação do AG em questão, uma vez que a população de apenas 20 indivíduos foi capaz de gerar configurações em que todos os casos encontraram o valor ótimo global procurado antes de 1000 iterações, para o AG-CV. Ainda segundo [Herrera, Lozano – 1996], o tamanho da população é uma das escolhas mais importantes enfrentadas por qualquer usuário de AG’s.

Para o AG que resolve o problema de minimização de funções, é importante notar que os casos que obtiveram a menor média de iterações necessárias para encontrar o valor ótimo global procurado, não eram os casos que possuíam Pm = 0, mas ainda eram obtidos para valores relativamente baixos de Pm (entre 0,002 e 0,01), e pertencentes à faixa de valores geralmente utilizadas segundo [Rezende – 2003], e às faixas de valores recomendados em [Obitko, Slavík – 1999].

Também é muito importante notar, dos experimentos com este AG, que os casos de menor média possuem um número muito grande de casos que não encontraram o valor ótimo global procurado (normalmente a maioria dos casos não encontra). Já as configurações de menor (e, portanto, melhor) número de casos que não encontraram o valor ótimo global acabam tendo uma média de iterações muito superior (e, portanto, muito pior). Também se pode observar que existem muitas configurações que possuem, ao mesmo tempo, médias muito elevadas e também números muito elevados de casos que não encontraram o valor ótimo global procurado. Assim como observado para o AG-CV, com o AG que resolve o problema de minimização de funções, para os mesmos valores de Pm e tamanho da população, observa-se que a média e o número de casos que não encontraram o valor ótimo global procurado tendem a diminuir conforme se aumenta a taxa de cruzamento (Pc). Além disso, quando o mínimo da média e do número de casos que não encontraram o valor ótimo global procurado não ocorrem para o mesmo valor de Pc, os valores mínimos de cada uma destas medidas ocorrem para valores de Pc próximos entre

ótimo global procurado até 1000 iterações. Para os tamanhos de população simulados, são apresentados a seguir, nos piores casos (para Pc = 0,5), a porcentagem de indivíduos que não encontraram o valor ótimo global procurado até 1000 iterações para a simulação correspondente à melhor média (ou seja, com Pm = 0):

Tabela 6.3: percentual de casos que não encontraram o valor ótimo global em até 1000 iterações, nas situações referentes à melhor média de iterações necessárias para encontrá-

lo (Pm=0 e Pc=0,5), para o AG-CV.

Já para o AG utilizado para resolver o problema de minimização de funções, mesmo para a população de 70 indivíduos (maior testada), os casos de melhor média de iterações (para encontrar o valor ótimo global procurado) ainda possuem um número consideravelmente elevado, de casos que não encontraram o valor ótimo global procurado em até 1000 iterações.

6.1.1. Conclusões a Respeito Destes Experimentos

Uma importante conclusão da análise apresentada é que, os valores de parâmetros do AG que geram a melhor (ou seja, a menor) média de iterações para casos que encontraram o valor ótimo global procurado, não são os mesmos valores que geram o melhor (ou seja, o menor) número de casos que não encontraram o valor ótimo global procurado. Em outras palavras: um AG pode ser muito sensível à seqüência de números aleatórios envolvida em seu andamento (uma vez que AG’s necessitam de gerações de números aleatórios para operarem em diversas de suas etapas internas, como por exemplo: na etapa de geração da população inicial, nas etapas de seleção, cruzamento e mutação).

Desta forma, o mesmo AG pode produzir, em um primeiro caso, dependendo da configuração de seus parâmetros Pc, Pm (e também do tamanho da população), excelentes valores de média de iterações necessárias para seqüências específicas de números aleatórios, mas nem sequer encontrar o valor ótimo global procurado, em tempo hábil, para

Tamanho da

População Pc Pm

Porcentagem de casos que não encontraram

o valor ótimo global em até 1000 iterações

100 0,5 0 17%

80 0,5 0 29%

60 0,5 0 40%

outras seqüências. Já outras configurações podem, em um segundo caso, ser menos sensíveis a estas seqüências, encontrando o valor ótimo global procurado até um número máximo específico de iterações para todas as seqüências (ou pelo menos a maioria destas), mas ainda assim apresentar uma média de iterações necessárias superior (e, portanto, pior) à dos AG’s do primeiro caso. Mas mesmo assim, os valores para a média de iterações, no segundo caso, podem ser menores (e, portanto, melhores) que os obtidos para a média com outras configurações, as quais podem produzir elevada média e elevado número de casos que não encontraram o valor ótimo global procurado. De qualquer forma, não foram observadas configurações capazes de produzir, ao mesmo tempo, baixa média de iterações necessárias para encontrar o valor ótimo global, e baixa quantidade de casos que não encontraram este valor, nem mesmo para 1000 iterações. No entanto, resta analisar se é possível se obter resultados que minimizam, ao mesmo tempo, ambas estas medidas de desempenho (média e número de casos), utilizando-se os sistemas híbridos (AGN-CV e AGN-MF).

Assim sendo, conclui-se que, além de se buscar as configurações de parâmetros de AG’s que geram baixos valores de médias de iterações necessárias para encontrar o valor ótimo global procurado, é necessário se obter configurações de parâmetros de AG’s capazes de encontrar o valor ótimo global procurado de modo robusto (ou seja, para diferentes seqüências de números aleatórios envolvidos em sua execução).

6.2.

Considerações Sobre o Controle Dinâmico dos