• Nenhum resultado encontrado

Figura 4.1: Convergência da melhor solução por tempo de execução do AG e do AG+VNDi nas instâncias (a) 10/20, (b) 10/50 e (c) 50/50

4.4

Análise de impacto de outras estruturas do algoritmo

Ferramentas e estruturas não-convencionais foram apresentadas na descrição do algo- ritmo. Nesta seção iremos analisar algumas delas e testar seu impacto no AG+VNDi em termos da influência na qualidade da solução final, do tempo de execução do algoritmo e, quando houver, na memória exigida pelo programa.

4.4.1

Tabela hash

A primeira das estruturas a ser analisada será a tabela hash implementada para arma- zenar as soluções obtidas pelo algoritmo de FCM ao longo da execução do algoritmo. THASH, como é aqui chamada, é uma estrutura de dados que associa uma chave, que con- tém a configuração das facilidades em um dado período de tempo, ao valor obtido pelo FCM do custo ótimo das alocações. A sua utilização é possível no DFLPG graças ao fato de que a determinação das alocações em cada período de tempo neste problema é independente entre os períodos, de modo que configurações iguais num mesmo período sempre gerarão a mesma rede de fluxo ótima.

A tabela não tem impacto algum sobre a qualidade das soluções. Ela serve como uma mera recuperação de dados partindo do princípio de que esta tarefa é computacionalmente

56 CAPÍTULO 4. EXPERIMENTOS COMPUTACIONAIS menos custosa que a resolução de FCMs. THASH acelera a execução do algoritmo ao custo

de armazenamento temporário de dados na memória da máquina.

A Tabela 4.7 mostra o impacto do uso da tabela hash em relação ao tempo de execução total do AG+VNDi nas três menores classes de instâncias de testes para L = 10. Os testes foram executados com as configurações do algoritmo definidas até este ponto do trabalho, mudando-se apenas a presença da tabela hash.

Tabela 4.7: Comparação do AG+VNDi com e sem uso de THASH

Instâncias Tempo c/ THASH Tempo s/ THASH

10/20 0,9s 4,5s 10/50 1,6s 12,1s 50/50 43,2s 244,7s

Como esperado, THASH reduz consideravelmente o tempo de execução do algoritmo a

um custo zero de qualidade da solução. Veremos mais adiante, na análise de complexidade do algoritmo (Seção 4.6), que o custo de memória é muito baixo comparado ao benefício da redução de tempo apresentado. Com isto, conclui-se que a presença da tabela hash é fundamental para melhorar a qualidade do algoritmo desenvolvido.

4.4.2

Critérios de aceitação de indivíduos

Na descrição do operador de aceitação do AG+VNDi foram mostrados os quatro cri- térios aos quais um novo indivíduo gerado deve atender para ser aceito e passado à nova geração. Por questões estruturais do algoritmo, não analisaremos o primeiro deles - ser uma solução viável - nesta seção, pois o AG desenvolvido depende que os indivíduos possuam um valor objetivo de aptidão para determinar a sua classe. Então, é fundamental que todos os indivíduos criados sejam viáveis. Entretanto, os demais critérios podem ser analisados e alterados facilmente no algoritmo.

O primeiro critério analisado é o de que novos indivíduos devem ser diferentes dos vivos ou já aceitos. O objetivo principal dele é garantir uma maior diversidade de genes na população. No DFLPG, a densidade de bons indivíduos em torno de uma boa solução é muito alta. De fato, a modificação de um único dentre os JT genes é suficiente para criar um indivíduo diferente do atual sem modificar tanto seu custo. Experimentos mostraram que os indivíduos que compõem a classe A de uma geração são muito parecidos entre si. Sem uma restrição que impeça indivíduos iguais de seguirem adiante nas gerações, a tendência mostrada é que toda a população da classe A se torne igual à melhor solução ou a poucas soluções próximas dela em poucas gerações.

A situação descrita leva às seguintes implicações. Em termos de recursos, indivíduos muito parecidos ajudam a reduzir o tempo de execução do algoritmo, uma vez que au- mentam as chances de formarem filhos com configurações já exploradas pelo FCM. Em compensação, considerando o operador de cruzamento implementado, uma população demasiadamente homogênea tende a gerar filhos muito parecidos, ou até iguais, aos pais em excesso, tornando mais difícil a tarefa de sair de soluções ótimas locais. Um mínimo de heterogeneidade deve ser garantida para evitar isto. A Tabela 4.8 mostra os resultados

4.4. ANÁLISE DE IMPACTO DE OUTRAS ESTRUTURAS DO ALGORITMO 57 de testes feitos nas menores instâncias em termos de tempo e qualidade da solução do AG+VNDi aplicado com e sem este critério na aceitação.

Tabela 4.8: Comparação do AG+VNDi com e sem critério de aceitação de indivíduos diferentes

Instâncias Com critério Sem critério GAP Tempo GAP Tempo 10/20 0,01% 0,9s 0,01% 0,8s 10/50 0,00% 1,6s 0,01% 1,4s 50/50 0,01% 43,2s 0,02% 44,9s

Os resultados mostram uma ligeira piora na qualidade da solução quando o critério de aceitação descrito é retirado. A diferença na qualidade não é tão grande porque em ambos os testes o impacto do elitismo na qualidade é mais significante que o dos operadores do AG, sendo estes responsáveis no AG+VNDi apenas por gerar novas soluções que possam cair em novos ótimos locais no elitismo. Como a população heterogênea oferece opções de entrada mais diversa para o elitismo, aumenta-se a chance de geração de ótimos locais distantes dos conhecidos. Já em termos de tempo, não há mudança significativa nos dois métodos. Isto porque apesar de criar populações diversas, os indivíduos ainda assim são muito parecidos uns com os outros, o que não anula o efeito de ganho de tempo de uma população homogênea descrito anteriormente.

O segundo critério de aceitação a ser analisado é o de que indivíduos formados devem ter custo fixo no máximo 10% maiores que os do pior indivíduo da classe A. Antes de focar no valor do parâmetro, serão descritas as vantagens e desvantagens de utilizar esta barreira na formação da população.

A principal vantagem deste critério é em termos de redução de tempo de execução. O cálculo do custo fixo de um indivíduo é feito de maneira direta apenas sabendo-se os módulos abertos nas facilidades. Assim, é possível comparar dois indivíduos pelos seus custos de localização antes mesmo de executar FCMs para determinar as alocações. Em instâncias em que os custos fixos são preponderantes, eliminar soluções que apre- sentem estes valores muito altos em relação aos das soluções já conhecidas, evita que FCMs sejam realizados em indivíduos com pouca probabilidade de terem uma boa apti- dão. Consequentemente, ao utilizar esta barreira, apenas as potencialmente boas soluções são passadas a fase de avaliação. O real ganho de tempo vem do fato de que soluções com custo fixo próximo umas das outras tendem a ser soluções com configurações de facili- dades mais parecidas, e suas implicações são as mesmas de uma população homogênea. Então, em vez do algoritmo gastar tempo explorando soluções distantes das melhores existentes, com baixo potencial de melhoria global, ele vai direto para próximo delas.

Por outro lado, a homogeneidade aumenta a probabilidade das soluções ficarem presas em ótimos locais. Por um lado, este critério pode aumentar as chances de que ótimos locais não tão distantes dos atuais sejam encontrados, porém os mais distantes são mais difíceis de serem alcançados. Para avaliar se o uso do critério é mais vantajoso que a sua ausência, testes foram executados nas menores instâncias e são reportados na Tabela 4.9. Nela, um cenário onde não há a aplicação deste critério é testada e comparada a outros

58 CAPÍTULO 4. EXPERIMENTOS COMPUTACIONAIS três cenários para um limite de aceitação de indivíduos com custos fixos de até 5%, 10% e 50% maiores que os do pior indivíduo da classe A.

Tabela 4.9: Comparação do AG+VNDi com diferentes parâmetros como critério de acei- tação de indivíduos em termos de seus custos de localização

10/20 10/50 50/50 GAP Tempo GAP Tempo GAP Tempo Até 5% 0,03% 0,9s 0,00% 1,7s 0,03% 62,2s Até 10% 0,01% 0,9s 0,00% 1,6s 0,01% 43,2s Até 50% 0,03% 1,0s 0,00% 2,0s 0,02% 45,4s Sem critério 0,00% 1,6s 0,00% 2,8s 0,02% 58,6s

Da tabela, observa-se que não restringir as soluções nas instâncias testadas pode levar a resultados de maior qualidade, mas a um custo computacional considerável. Da mesma forma, restringir demais, como em até 5% na classe 50/50, pode fazer com que o potencial ganho de tempo se perca com a dificuldade de gerar novas soluções que atendam aos cri- térios de aceitação por causa da restrição de que as soluções geradas devem ser diferentes das existentes.

Para definir o melhor limite deve-se levar em consideração o peso dos custos de loca- lização em comparação aos de alocação na instância. Naquelas em que o primeiro é mais importante, a tendência é que as melhores soluções sejam aquelas em que o custo fixo é relativamente baixo e, portanto, um limite mais restritivo é desejável. No segundo caso, o valor dos custos fixos tende a ser menos relevante para a aptidão do indivíduo e, então, uma restrição mais relaxada pode ser a melhor opção. No AG+VNDi testado deixaremos o limite em 10% como definido na descrição do algoritmo no capítulo anterior.

O último dos critérios de aceitação diz respeito a descartar indivíduos já processados no histórico do VND. O objetivo deste critério é aumentar as chances de que os indivíduos escolhidos para o processo de elitismo resultem em ótimos locais desconhecidos. Assim, evita-se a perda de uma execução do elitismo que resultaria em uma solução conhecida e, possivelmente, viva na população que acabaria sendo descartada no VND. A análise deste critério será feita a seguir em conjunto com a dos demais usos das listas que contém as soluções do VND.

4.4.3

Listas de soluções do VND

Na descrição do operador de elitismo do AG+VNDi no capítulo anterior desta disser- tação foram apresentadas listas onde são armazenadas as soluções após cada busca em vizinhança do VND. A função destas listas é descartar soluções que já foram encontradas numa outra busca na mesma vizinhança ao assumir que o caminho que seria percorrido a partir dela tem uma grande probabilidade de levar ao mesmo ótimo local da outra execu- ção. Com isto, o elitismo é parado imediatamente e o tempo que seria gasto percorrendo este caminho é economizado.

Cada vizinhança possui uma lista própria indicando as soluções obtidas pelas buscas anteriormente feitas nelas. As listas foram implementadas na estrutura de dados homô-

4.5. COMPARAÇÃO COM UM MÉTODO EXATO 59