5 Experimentos e resultados
5.1 Metodologia dos experimentos
Todos os algoritmos usados em experimentos deste trabalho foram implementados em C++ e os testes foram executados em um computador Intel i7-4790 3.6Hz, com 8 threads e 8Gb de RAM, com sistema operacional Ubuntu 16.04.
Foi usado o tempo de execução máximo de uma hora como critério de parada para a BO-AMHM. Esse critério de parada foi motivado pelo fato de a arquitetura iniciar um comportamento de convergência por volta de uma hora de execução, conforme veremos na seção 5.3. Para a implementação apresentada no Capítulo 4, executar a arquitetura com tempo inferior a uma hora impossibilita a sua convergência, bem como executar por tempo superior a uma hora traz pouca melhora na qualidade do conjunto não dominado obtido.
O tempo de processamento de cada estratégia de decisão hibridizada foi limitado a dois minutos, o qual foi denido experimentalmente. Tempos inferiores a dois minutos prejudicam o desempenho das estratégias de decisão. Vale destacar que esse critério de parada é uma decisão de implementação e portanto não é considerado parâmetro da arquitetura. Ao término de dois minutos, os agentes podem trocar de estratégia de decisão, assim esse tempo permite que os agentes mudem a estratégia até trinta vezes durante a execução da arquitetura. Conforme abordado na seção 4.2, os agentes usam a estratégia de aprendizagem Análise-Sucesso-Falha para escolher o próximo algoritmo que será usado para solucionar o problema, a qual se baseia no número de sucessos e falhas das estratégias de decisão. Valores superiores a dois minutos implicam em menos trocas de estratégias de decisão e resultam em uma contagem menor de sucessos e falhas. Quanto menor for essa contagem, menor será a certeza de que uma estratégia de decisão é mais eciente do que outra, o que tende a prejudicar a convergência dos agentes para os melhores algoritmos.
Os resultados mostrados nos três experimentos apresentados neste capítulo foram ob- tidos de 30 execuções independentes de cada algoritmo para cada instância. Os resultados computacionais serão analisados por meio de testes estatísticos e grácos do tipo box- plot, usados para apresentar as distribuições estatísticas dos resultados para diferentes indicadores de qualidade.
Usamos o teste de Kruskal-Wallis (CONOVER, 1980) com múltiplas comparações par a par, com nível de signicância 0,05, para vericar se existe diferença estatística signicativa entre as distribuições obtidas nos experimentos e apresentadas nos boxplot.
5.1.1 Indicadores de qualidade nos experimentos um e dois
Nos experimentos um e dois usamos apenas o indicador hipervolume unário (ZITZ- LER; THIELE, 1999) para avaliar os conjuntos de aproximação produzidos pela BO- AMHM. Os valores da versão unária do hipervolume devem ser maximizados.
Conforme discutido na seção 2.2.5.1, os valores objetivo podem pertencer a intervalos desproporcionais. Assim, é necessário que eles sejam normalizados de modo a evitar que um objetivo seja favorecido em detrimento de outros durante o cálculo do hipervolume.
A metodologia adotada por Dubois-Lacoste, nez e Stützle (2015) para normalizar os objetivos foi usada neste estudo: o limite inferior de cada função objetivo para a nor- malização foi obtido solucionando o respectivo problema mono-objetivo, usando o solver Concorde (APPLEGATE, 2006), versão 03.12.19. O limite superior foi denido tomando- se os piores valores de 100.000 soluções geradas aleatoriamente com distribuição uniforme. Esses limites são apresentados na Tabela 74 do Apêndice C.
Os limites inferiores e superiores gerados não foram excedidos por qualquer dos re- sultados obtidos pela BO-AMHM nos experimentos um e dois. Todos os valores objetivo foram normalizados no intervalo [1,2], e a coordenada (2,1, 2,1) foi usada como ponto de refência para calcular o hipervolume dos conjuntos normalizados.
5.1.2 Indicadores de qualidade no experimento três
Nos experimentos um e dois fazemos comparações entre implementações da própria BO-AMHM, por isso optamos por usar apenas o indicador hipervolume naqueles experi- mentos.
No experimento três, por outro lado, usamos os indicadores de qualidade hipervolume binário, epsilon aditivo e R2. A motivação para usar mais de um indicador se deu pelo fato de o experimento três fazer comparações entre a BO-AMHM e algoritmos da literatura. Analisar que algoritmos são melhores segundo diferentes indicadores permite conclusões a respeito da eciência dos algoritmos sobre diferentes pontos de vista.
Vale ressaltar que o valor obtido pelo indicador hipervolume binário deve ser minimi- zado, ao contrário do que ocorre com a versão unária desse indicador de qualidade.
Todos os valores de indicadores de qualidade apresentados no experimento três foram calculados utilizando conjuntos de referência. O conjunto de referência para cada instância foi gerado da seguinte maneira:
1. Uma instância I do PCVSB é escolhida para ter o conjunto de referência gerado; 2. Os algoritmos BO-AMHM, PAES, GRASP, NSGA-II e Anytime-PLS são executados
por uma hora com a instância I;
3. Todos os vetores objetivo gerados por cada algoritmo no passo 1 são combinados em um único conjunto. Os vetores objetivo duplicados são descartados;
4. A superfície de realização 50% dos vetores objetivo do conjunto gerado no passo 3 é calculada de acordo com a metodologia descrita na seção 2.2.5.4;
5. O conjunto REF determinado pela superfície de realização 50% calculada no passo anterior é usado como conjunto de referência.
Os resultados dos indicadores hipervolume, epsilon aditivo e R2 com função aumenta- da de Tchebyche, apresentados nesta seção, foram calculados usando a biblioteca EMOA (MERSMANN, 2012) do software R (R Core Team, 2013).
Foram usados conjuntos de referência gerados conforme descrito acima, disponíveis para download em Silva (acessado em 30/05/2018). Todos os vetores objetivo foram nor- malizados no intervalo [1,2] usando os valores mínimos e máximos para cada função ob- jetivo, em cada instância, apresentados na Tabela 74 do Apêndice C. Os valores mínimos dessa tabela são usados como ponto ideal no cálculo do indicador R2. O ponto (2,1,2,1) é usado como referência no cálculo dos hipervolumes.