A principal vantagem do uso de um software para afinação automática é avaliar apenas candidatos aos parâmetros que definem as melhores possibilidades para operação do algoritmo configurável. Para tal, foi construído um roteiro experimental que executou três parametrizações utilizando o IRACE para cada um dos 10 conjuntos de instâncias disponíveis. Uma máquina Intel(R) Core(TM) i7-3770 CPU @ 3.50GHz com 12Gb de memória RAM foi utilizada em todos os experimentos.
Apenas as pequenas instâncias foram solucionadas pelo CPLEX, executando até a obtenção da solução ótima para todos os casos. Para os algoritmos estocásticos, ACO e NEH-T+SLS, 20 execuções foram amostradas para as instâncias pequenas e 10 para os casos de maior porte, avaliando a melhor resposta das amostras.
A tabela5.1detalha os 30 melhores vetores de parâmetros obtidos com a afinação do
IRACE, a segunda coluna refere-se ao número de iterações executadas no experimento de afinação e a terceira contêm resultados para os 16 parâmetros ajustáveis na seguinte ordem: [𝜔𝑙, 𝜔𝑢, 𝜌𝑑, 𝜌𝑒, 𝛼1, 𝛼2, 𝛼3, 𝛼4, 𝜇1, 𝜇2, 𝜇3, 𝜇4, 𝛽1, 𝛽2, 𝐼, 𝐿].
Tabela 5.1: Algoritmos ACO Obtidos com Afinação Automática do IRACE
Conjunto Iter. Vetor de Parâmetros
10 tarefas 1k 5 20 0.81 2.5 1.54 2.48 2.26 0.64 1.46 3.26 2.18 0.17 0.94 0.92 0.20 7 10 tarefas 5k 15 20 0.92 3.9 0.04 0.1 0.62 1.07 0.37 1.27 0.27 3.59 0.92 0.91 0.40 4 10 tarefas 10k 5 20 0.82 2.8 0.98 2.02 3.24 1.42 2.59 3.79 3.38 0.71 0.97 0.90 0.25 6 11 tarefas 1k 15 40 0.8 1.4 0.76 1.49 1.68 0.27 3.27 1.32 2.8 0.72 0.90 1.0 0.20 7 11 tarefas 5k 10 40 0.81 2.2 0.51 2.56 1.02 2.42 2.41 3.17 0.82 2.45 0.90 0.96 0.15 7 11 tarefas 10k 10 30 0.93 3.0 0.87 0.56 1.5 1.04 2.85 1.73 3.09 1.79 0.97 0.90 0.10 4 12 tarefas 1k 5 40 0.82 2.7 1.6 0.49 3.6 1.43 0.96 2.2 3.82 2.69 0.94 0.94 0.25 4 12 tarefas 5k 10 40 0.89 3.5 1.33 0.72 2.42 1.52 3.02 0.06 2.2 0.95 0.91 1.0 0.25 4 12 tarefas 10k 5 20 0.89 4.0 1.06 0.67 3.39 1.55 2.09 1.62 2.66 0.81 0.94 0.98 0.25 1 10-12 tarefas 1k 5 40 0.85 1.5 1.07 0.01 2.93 0.15 0.02 3.01 3.92 2.95 0.91 0.95 0.20 8 10-12 tarefas 5k 5 40 0.91 1.7 2.44 0.69 1.4 1.34 2.44 2.77 0.26 1.33 0.98 0.95 0.20 1 10-12 tarefas 10k 5 40 0.88 3.1 0.65 0.52 1.28 0.57 3.11 2.62 2.18 2.63 0.97 0.99 0.35 8 20 tarefas 1k 5 30 0.95 3.4 0.16 3.2 2.54 0.56 0.16 2.88 3.84 1.66 0.95 1.0 0.10 7 20 tarefas 5k 10 30 0.8 1.6 1.23 0.01 3.59 3.48 0.34 3.63 3.47 1.96 0.94 0.91 0.45 4 20 tarefas 10k 5 30 0.84 1.6 0.04 0.79 2.81 2.53 1.56 3.77 0.68 1.65 0.93 0.92 0.15 7 40 tarefas 1k 5 40 0.92 3.7 3.54 0.99 3.29 2.93 2.43 1.67 3.83 0.18 0.92 0.99 0.10 4 40 tarefas 5k 10 30 0.91 3.0 1.61 0.7 3.89 3.44 1.13 2.11 3.33 1.61 0.93 0.96 0.10 7 40 tarefas 10k 5 40 0.87 3.6 0.62 0.32 3.55 1.83 3.19 2.3 2.85 2.54 0.93 0.92 0.15 9 60 tarefas 1k 15 40 0.81 2.4 3.11 2.09 3.73 0.91 3.65 0.02 2.55 0.66 0.95 0.99 0.20 7 60 tarefas 5k 15 30 0.87 1.2 2.22 1.17 3.47 3.66 0.31 2.47 3.11 0.98 0.92 1.0 0.10 7 60 tarefas 10k 5 30 0.92 3.1 0.62 0.53 3.94 3.27 1.11 3.11 3.87 3.68 0.95 0.99 0.25 9 80 tarefas 1k 10 20 0.81 1.8 1.16 0.94 3.23 2.42 2.44 3.36 3.78 3.11 0.99 0.99 0.35 9 80 tarefas 5k 5 30 0.94 2.6 1.57 0.51 3.6 3.7 3.14 3.29 2.23 1.82 0.91 0.91 0.10 7 80 tarefas 10k 10 40 0.87 1.9 1.4 0.71 3.78 3.13 3.98 3.16 3.58 2.11 1.0 0.99 0.50 9 100 tarefas 1k 5 30 0.83 3.3 2.64 0.87 3.87 2.99 1.59 3.71 3.36 0.46 0.96 0.98 0.15 8 100 tarefas 5k 10 30 0.92 3.6 1.83 0.61 2.86 3.97 0.17 3.83 2.68 1.36 0.95 0.98 0.10 7 100 tarefas 10k 10 30 0.94 2.4 0.87 0.07 3.82 3.32 3.61 3.39 3.24 3.85 0.97 0.92 0.45 9 20-100 tarefas 1k 10 30 0.85 3.8 0.81 0.1 0.98 3.59 1.37 2.38 0.78 0.64 0.93 0.99 0.10 7 20-100 tarefas 5k 5 20 0.83 1.7 1.18 0.09 3.61 3.8 0.76 3.02 2.71 3.85 0.96 0.96 0.20 4 20-100 tarefas 10k 15 40 0.85 2.6 1.27 0.1 3.45 3.3 3.27 1.17 3.49 1.69 0.93 0.98 0.15 7
vando as respostas ótimas para as instâncias avaliadas. No entanto, o CPLEX requer muitos recursos computacionais e para problemas com 12 tarefas, alguns casos leva- ram mais de uma hora para completar sua solução. O uso do modelo matemático teve como objetivo validar os algoritmos estocásticos com experimentos em instâncias de pequeno porte. A heurística construtiva também foi implementada para validação da meta-heurística ACO. A figura 5.1 contem os tempos de execução para o modelo
117
Figura 5.1: Tempos de execução para o CPLEX resolvendo as pequenas instâncias.
Figura 5.2: Tempos de execução para a heurística NEH-T+SLS resolvendo as pequenas instâncias.
Cada instância de pequeno porte foi solucionada 20 vezes com a heurística constru- tiva. A figura5.2 descreve os tempos de execução para o algoritmo NEH-T+SLS.
Os 10 conjuntos de instâncias foram divididos em dois grupos, um com pequenas (quatro conjuntos testados) e outro com grandes instâncias (seis sequências de casos).
Cada um dos 10 conjuntos foi solucionado pelas três configurações extraídas do IRACE e o melhor candidato foi determinado. Em seguida, cada conjunto foi solucionado pelos melhores candidatos dos demais conjuntos em um mesmo grupo de instâncias (pequenas ou grandes). Portanto, cada sequência com casos de pequeno porte foi solucionado por seis variações do ACO e as maiores instâncias por oito diferentes configurações da meta-heurística.
A figura 5.3descreve os tempos de execução para o ACO solucionando as pequenas
instâncias. Enquanto, as figuras5.4e 5.5contêm os tempos de execução para os casos
de maior porte.
De acordo com os resultados obtidos, pode se dizer que ambos os métodos estocás- ticos são velozes. Para pequenas instâncias, a magnitude dos tempos de execução está na casa dos milissegundos. Enquanto, para os casos de grande porte os tempos podem ser medidos em segundos, nunca ultrapassando meio minuto para qualquer uma das simulações executadas.
119
Figura 5.3: Tempos de execução para a meta-heurística ACO resolvendo as pequenas instâncias.
Figura 5.4: Tempos de execução para a heurística NEH-T+SLS resolvendo as grandes instâncias.
Figura 5.5: Tempos de execução para a meta-heurística ACO resolvendo as grandes instâncias.
As figuras 5.6, 5.7,5.8 e 5.9 apresentam os tempos de execução para a camada
OAA operando com diferentes velocidades para os conjuntos com grandes e pequenas instâncias. Como camada OAA executa múltiplas vezes o algoritmo ACO com diferentes vetores de parâmetros, o processo toma mais tempo que a execução singular da meta- heurística, mas ainda assim, os tempos para as pequenas instâncias são medidos em segundos para ambas as velocidades da camada OAA e todas as pequenas instâncias foram solucionadas em até 174 segundos.
Para as instâncias de grande porte sendo resolvidas pela camada OAA com a configuração rápida, a maioria dos tempos de execução da camada OAA são menores que uma hora. Apenas 10,3%, 7% e 3,8% das instâncias respectivamente para os conjuntos com 100, 80 e entre 20 e 100 tarefas, excederam uma hora de processamento. Já para a operação da camada OAA com velocidade padrão 6% dos problemas de 60 tarefas levaram mais de uma hora para completar sua solução e 69,2%, 29,6% e 11,5% respectivamente para os conjuntos com 100, 80 e entre 20 e 100 tarefas.
121
Figura 5.6: Tempos de execução para camada OAA resolvendo as pequenas instâncias no modo rápido.
Figura 5.7: Tempos de execução para camada OAA resolvendo as pequenas instâncias no modo padrão.
Figura 5.8: Tempos de execução para camada OAA resolvendo as grandes instâncias no modo rápido.
Figura 5.9: Tempos de execução para camada OAA resolvendo as grandes instâncias no modo padrão.
123
Nas tabelas seguintes (entre5.2e 5.11), as versões dos algoritmos ACO são identifi-
cadas pelo conjunto de instâncias utilizando para a fase de treinamento com IRACE e o número de iterações aplicado. Assim, ACO10t1k apresenta o melhor conjunto de pa- râmetros obtido pela afinação do ACO com as primeiras 208 instâncias para o conjunto de 10 tarefas, executando o IRACE por 1000 iterações.
As tabelas5.2,5.3,5.4e5.5descrevem os resultados para as pequenas instâncias. A
primeira coluna refere-se ao algoritmo aplicado, a segunda contem as respostas médias entre as instâncias solucionadas, na terceira coluna é apresentada a porcentagem de respostas não ótimas e a última mostra o gap médio obtido, que representa a diferença entre a resposta ótima do CPLEX e a do algoritmo avaliado. A célula destacada em cada coluna representa o melhor resultado obtido para o critério avaliado. A linha com o título "Melhores ACOs" avalia a combinação entre os resultados dos candidatos elite simulados para o respectivo conjunto de instâncias e as duas últimas linhas das tabelas contêm os dados para a aplicação da camada OAA.
Tabela 5.2: Análise da Qualidade de Resposta para o Conjunto com 10 Tarefas (6240 instâncias)
Algoritmo Resposta Média Não Ótimo Gap Médio
CPLEX 60,705 — —
NEH-T + SLS 63,464 10,03% 43,33%
ACO10t1k 60,794 0,87% [gray].75 16,78%
ACO10t5k [gray].75 60,778 [gray].75 0,50% 24.15%
ACO10t10k 61,015 2,61% 19,46% ACO11t1k 60,838 1,17% 18,64% ACO12t5k 61,085 2,07% 30,10% ACO10-12t10k 60,876 1,30% 21,58% Melhores ACOs 60,708 0,02% 26,36% OAA(ACO,rápido) 60,973 1,91% 22,99% OAA(ACO,padrão) 60,728 0,22% 16,94%
Para as instâncias com 10 tarefas, o algoritmo com melhor desempenho foi ACO10t5k, mas ACO10t1k retornou menor gap médio. Ainda que o segundo algoritmo tenha
apresentado mais respostas não ótimas, os resultados se mantiveram mais próximos ao ótimo para o ACO10t1k.
Tabela 5.3: Análise da Qualidade de Resposta para o Conjunto com 11 Tarefas (6240 instâncias)
Algoritmo Resposta Média Não Ótimo Gap Médio
CPLEX 59,797 — —
NEH-T + SLS 63,025 12,63% 40,56%
ACO11t1k [gray].75 60,112 2,34% [gray].75 22,42%
ACO11t5k 60,317 3,48% 24,82% ACO11t10k 60,281 2,98% 26,96% ACO10t5k 60,135 [gray].75 1,84% 30,55% ACO12t5k 60,452 3,51% 30,90% ACO10-12t10k 60,181 2,63% 24,31% Melhores ACOs 59,803 0,05% 20,62% OAA(ACO,rápido) 59,904 0,80% 22,30% OAA(ACO,padrão) 59,880 0,77% 18,13%
Tabela 5.4: Análise da Qualidade de Resposta para o Conjunto com 12 Tarefas (3120 instâncias)
Algoritmo Resposta Média Não Ótimo Gap Médio
CPLEX 59,066 — — NEH-T + SLS 62,771 15,42% 38,29% ACO12t1k 60,578 9,20% 27,14% ACO12t5k 59,884 5,61% 24,37% ACO12t10k 60,013 7,18% 21,98% ACO10t5k 59,771 [gray].75 4,26% 27,70%
ACO11t1k [gray].75 59,623 4,62% [gray].75 20,25%
ACO10-12t10k 59,825 5,35% 23,72%
Melhores ACOs 59,088 0,26% 14,39%
OAA(ACO,rápido) 59,406 2,40% 23,86%
OAA(ACO,padrão) 59,183 1,35% 14,68%
Nas instâncias com 11 tarefas, o melhor resultado foi apresentado pelo ACO11t1k, porém o ACO10t5k alcançou mais respostas ótimas. ACO11t1k também obteve melhor desempenho que as outras configurações adquiridas com a afinação específica para os
125
conjuntos contendo 12 tarefas e com tamanhos variados entre 10 e 12 ordens. As tabelas
5.4e5.5mostram que, apesar da afinação conduzida para estes conjuntos ter produzido
bons candidatos para os parâmetros do algoritmo, as versões elite para as pequenas instâncias foram ACO10t5k e ACO11t1k.
Apenas para o conjunto com 10 tarefas, a camada OAA com a velocidade rápida obteve resultados inferiores as versões singulares do ACO, para os conjuntos de 11, 12 e 10 a 12 tarefas as respostas médias da camada OAA superam todos os candidatos elite obtidos com o IRACE.
Para os blocos com casos de 10, 11, 12 e 10 a 12 tarefas, a camada OAA com a velo- cidade padrão apresentou resultados significativamente melhores que as configurações singulares do ACO, mostrando que esta estratégia é eficaz em classificar conjuntos de parâmetros obtidos para instâncias no passado, mas também obter novas configurações para a meta-heurística se necessário. Nestas instâncias, as soluções apresentadas pela camada OAA se mantiveram muito próximas a combinação de seis candidatos elite fornecidos pelo IRACE.
Tabela 5.5: Análise da Qualidade de Resposta para o Conjunto com 10 a 12 Tarefas (3120 instâncias)
Algoritmo Resposta Média Não Ótimo Gap Médio
CPLEX 61,028 — — NEH-T + SLS 64,380 12,53% 41,55% ACO10-12t1k 61,717 3,88% 28,78% ACO10-12t5k 62,264 7,92% 25,08% ACO10-12t10k 61,500 3,17% 24,18% ACO10t5k 61,428 2,24% 29,00%
ACO11t1k [gray].75 61,349 [gray].75 2,18% [gray].75 23,99%
ACO12t5k 61,692 3,69% 29,21%
Melhores ACOs 61,051 0,16% 23,26%
OAA(ACO,rápido) 61,261 1,41% 26,97%
OAA(ACO,padrão) 61,092 0,45% 23,50%
melhoria significativa, visualizada pela junção dos resultados obtidos pelos candidatos elite fornecidos pelo IRACE, mas também pelos resultados da camada OAA que realiza operações com o ACO utilizando múltiplos vetores de parâmetros. Vale observar que para os casos com 10 tarefas, os melhores resultados dos seis ACOs em conjunto ofereceram apenas uma resposta não ótima dentre 6240 avaliadas e a camada OAA mostrou-se eficaz em seu propósito, destacando que melhorias em seus processos podem ainda aumentar sua eficiência.
Avaliando as instâncias de grande porte, o método exato se torna impraticável devido ao custo computacional para sua execução. Nestas instâncias a heurística construtiva serviu como padrão de comparação. No entanto, como os resultados do algoritmo NEH- T+SLS não são comprovadamente ótimos, vitórias e derrotas podem ser distinguidos nas tabelas5.6,5.7,5.8,5.9,5.10e5.11. Empates entre os algoritmos são o complemento
da soma das colunas três e quatro, não possuindo gap. A quinta coluna nestas tabelas apresenta quanto melhor foi o desempenho do ACO para as instâncias onde ele obteve melhor resultado que a heurística, na sexta coluna é mostrado o contrário. Menores gaps para as derrotas demonstram melhor desempenho para o ACO, enquanto maior diferença para as vitórias tem o mesmo significado.
Tabela 5.6: Análise da Qualidade de Resposta para o Conjunto com 20 Tarefas (1040 instâncias)
Algoritmo Resp. Média Vitórias Derrotas GapV Médio GapD Médio
NEH-T + SLS 75,526 — — — —
ACO20t1k 67,356 30,87% 6,15% 42,27% [gray].75 14,89%
ACO20t5k 68,364 30,87% 8,46% 41,95% 29,24%
ACO20t10k [gray].75 65,423 [gray].75 36,63% [gray].75 3,65% 44,00% 18,54%
ACO40t5k 67,230 32,02% 6,06% 42,91% 23,09% ACO60t10k 67,456 32,60% 6,63% 42,29% 27,46% ACO80t5k 66,020 34,42% 4,42% 44,93% 24,14% ACO100t10k 67,117 33,17% 6,25% 43,18% 28,72% ACO20-100t10k 65,803 35,10% 4,23% [gray].75 44,67% 21,34% Melhores ACOs 62,867 41,25% 0,48% 48,92% 9,54% OAA(ACO,rápido) 65,052 36,35% 3,94% 46,41% 19,46% OAA(ACO,padrão) 64,816 37,40% 2,50% 44,98% 11,99%
127
as velocidades para a camada OAA retornaram respostas significativamente melhores que as configurações singulares do ACO para todos os critérios avaliados. No entanto, a melhoria proporcionada pela combinação de oito candidatos elite obtidos com o IRACE ainda supera os resultados da camada OAA.
Nos casos com 40 tarefas, apesar do ACO40t5k ter apresentado melhor resultado em um dos critérios, ACO80t5k retornou melhores respostas para a maioria dos aspectos avaliados. Para os casos com 40 tarefas ou mais, a camada OAA apresentou resultados inferiores quando comparado a algumas versões do ACO. Possibilidades para esta queda de desempenho são: a heurística de controle (NEH-T+SLS) também apresenta queda de qualidade para instâncias de maior porte e, além disso, os processos que compõem a camada OAA são demasiadamente simplificados. Investimentos nesta proposta de implementação podem contornar barreiras observadas nesta pesquisa e são sugeridos no próximo capítulo.
Tabela 5.7: Análise da Qualidade de Resposta para o Conjunto com 40 Tarefas (1040 instâncias)
Algoritmo Resp. Média Vitórias Derrotas GapV Médio GapD Médio
NEH-T + SLS 121,936 — — — — ACO40t1k 112,392 28,75% 15,19% 42,99% 25,46% ACO40t5k 108,441 32,98% 6,73% 41,04% [gray].75 16,23% ACO40t10k 109,530 32,40% 11,54% 43,26% 23,33% ACO20t10k 110,561 31,63% 8,46% 37,27% 17,74% ACO60t10k 104,488 35,19% 7,60% 52,62% 23,99% ACO80t5k [gray].75 103,817 [gray].75 36,06% [gray].75 6,63% 52,72% 23,47% ACO100t10k 105,201 34,33% 9,52% [gray].75 53,20% 24,72% ACO20-100t10k 107,826 32,50% 9,42% 46,85% 22,73% Melhores ACOs 98,314 39,71% 1,63% 61,04% 12,98% OAA(ACO,rápido) 107,811 33,94% 8,08% 44,60% 25,20% OAA(ACO,padrão) 107,235 34,52% 6,54% 44,67% 26,14%
Entre os casos com 60 tarefas, ACO60t10k alcançou a melhor resposta média para as meta-heurísticas testadas, mas outras configurações também mostraram resultados significativos. ACO80t5k apresentou o melhor resposta média e número de vitórias para as instâncias de 40 tarefas, mas nos casos com 80 ordens outra configuração apresentou melhores resultados.
Tabela 5.8: Análise da Qualidade de Resposta para o Conjunto com 60 Tarefas (624 instâncias)
Algoritmo Resp. Média Vitórias Derrotas GapV Médio GapD Médio
NEH-T + SLS 168,960 — — — — ACO60t1k 179,135 12,66% 28,21% 23,81% 30,83% ACO60t5k 166,490 20,35% 20,35% 28,82% 21,53% ACO60t10k [gray].75 149,170 32,05% 12,82% 52,90% 28,78% ACO20t10k 162,654 23,72% 17,63% 28,54% [gray].75 16,41% ACO40t5k 155,127 29,81% [gray].75 11,22% 36,78% 18,22% ACO80t5k 150,564 31,09% 13,46% 51,47% 28,11% ACO100t10k 149,519 [gray].75 32,69% 14,58% [gray].75 53,05% 29,76% ACO20-100t10k 155,490 29,97% 15,71% 43,24% 27,35% Melhores ACOs 139,367 36,86% 4,97% 59,61% 14,84% OAA(ACO,rápido) 166,511 26,28% 16,83% 31,27% 40,09% OAA(ACO,padrão) 161,994 31,09% 16,35% 38,21% 46,36%
O desempenho da camada OAA para as grandes instâncias é razoavelmente superior a heurística NHE-T+SLS, utilizada como algoritmo de controle. Quando comparando a camada OAA com a velocidade padrão e as versões singulares do ACO para as instâncias de grande porte, pode-se observar que a porcentagem de derrotas resultantes da camada OAA foi menor que a melhor configuração do ACO para todos os conjuntos, exceto para aquele com 60 tarefas.
A camada OAA apresentou respostas similares as configurações singulares do ACO para as grandes instâncias. No entanto, os gaps observados são maiores para as derrotas e menores em relação as vitórias, conforme aumenta o tamanho das instâncias tratadas. Tabela 5.9: Análise da Qualidade de Resposta para o Conjunto com 80 Tarefas (416 instâncias)
Algoritmo Resp. Média Vitórias Derrotas GapV Médio GapD Médio
NEH-T + SLS 206,409 — — — —
ACO80t1k 199,440 23,56% 24,28% 46,06% 30,30% ACO80t5k 190,017 26,68% 17,79% 50,02% 26,54% ACO80t10k 190,550 27,64% 21,15% 51,49% 27,95% ACO20t10k 205,889 17,79% 20,91% 23,35% 18,66%
ACO40t5k 194,036 24,52% [gray].75 13,22% 35,75% [gray].75 18,08% ACO60t10k 188,236 28,37% 17,31% 50,57% 27,09% ACO100t10k [gray].75 187,353 [gray].75 28,85% 18,75% [gray].75 53,09% 27,44% ACO20-100t10k 199,829 22,84% 21,39% 41,44% 28,84% Melhores ACOs 175,385 31,25% 6,01% 59,76% 16,42% OAA(ACO,rápido) 201,260 25,96% 12,50% 34,97% 52,17% OAA(ACO,padrão) 202,399 27,40% 11,06% 33,61% 65,39%
129
Tabela 5.10: Análise da Qualidade de Resposta para o Conjunto com 100 Tarefas (416 instâncias)
Algoritmo Resp. Média Vitórias Derrotas GapV Médio GapD Médio
NEH-T + SLS 264,209 — — — —
ACO100t1k 254,873 22,36% 23,08% 42,23% 25,03% ACO100t5k 250,038 26,68% 20,43% 48,81% 36,01% ACO100t10k [gray].75 241,017 [gray].75 28,85% 19,71% [gray].75 53,81% 29,92% ACO20t10k 266,322 16,11% 22,84% 22,71% 19,49%
ACO40t5k 248,632 24,76% [gray].75 13,94% 34,60% [gray].75 16,52% ACO60t10k 241,740 28,85% 18,99% 52,18% 30,31% ACO80t5k 246,300 27,40% 18,75% 47,36% 30,45% ACO20-100t10k 258,608 22,12% 23,08% 40,39% 29,32% Melhores ACOs 223,764 30,77% 7,69% 62,76% 16,06% OAA(ACO,rápido) 264,988 25,00% 12,98% 33,36% 66,52% OAA(ACO,padrão) 255,678 29,33% 7,93% 36,94% 94,52%
Contando as células destacadas nas tabelas para as instâncias de grande porte, ACO100t10k é o melhor candidato para os parâmetros do ACO, seguido pelas configu- rações ACO40jobs5k e ACO80jobs5k foram os candidatos elite para os casos de grande porte.
Tabela 5.11: Análise da Qualidade de Resposta para o Conjunto com 20 a 100 Tarefas (624 instâncias)
Algoritmo Resp. Média Vitórias Derrotas GapV Médio GapD Médio
NEH-T + SLS 163,421 — — — —
ACO20-100t1k 165,804 26,76% 25,48% 34,39% 41,76% ACO20-100t5k 147,737 32,05% 15,87% 50,51% 35,13% ACO20-100t10k 150,793 30,93% 14,42% 42,38% 32,83% ACO20t10k 157,087 26,60% 14,26% 25,66% 19,58%
ACO40t5k 148,941 30,93% [gray].75 8,49% 36,14% [gray].75 17,14% ACO60t10k 145,381 33,81% 13,94% 50,31% 33,02%
ACO80t5k 146,542 33,49% 11,70% 46,21% 33,83% ACO100t10k [gray].75 145,272 [gray].75 34,13% 14,26% [gray].75 51,48% 35,61% Melhores ACOs 132,702 38,30% 3,37% 61,85% 16,08% OAA(ACO,rápido) 150,745 33,81% 8,97% 39,77% 56,16% OAA(ACO,padrão) 151,995 31,89% 7,85% 37,97% 58,47%
Estes experimentos mostraram que, apesar das versões do ACO obtidas pelo trei- namento com instâncias de tamanhos variados (os conjuntos com 10 a 12 e 20 a 100 tarefas) terem apresentado desempenho satisfatório, estes não foram os candidatos elite avaliados. Mostrando que simplesmente realizar o processo de afinação com uma grande variedade de tamanhos para as instâncias não garantiu o maior desempenho sobre todos
os conjuntos de teste.
Ainda que a maior parte das configurações do ACO tenha apresentado melhor desempenho que a heurística, até os melhores candidatos do ACO falharam em retornar respostas superiores ou similares ao algoritmo NEH-T+SLS para alguns casos. No entanto, quando combinando os esforços dos ACOs, o número de vitórias aumenta e o de derrotas cai significativamente. Um fato importante extraído destes experimentos é a melhoria apresentada pela combinação de candidatos elite para a meta-heurística, observando as vantagens do processo automático para afinação de algoritmos.
A camada OAA também conta com um algoritmo para parametrização automática, o meta-ACO que é operado de maneira autônoma por outro processo inteligente. Este algoritmo possibilitou obter respostas significativamente melhores que as versões obtidas pelo IRACE para ACO nas pequenas instâncias. Enquanto, para os casos de maior porte, a camada OAA retornou respostas similares aos candidatos elite extraídos pelo IRACE, mas é observada uma queda para a qualidade das respostas na medida que a escala dos problemas aumenta.
Outro ponto interessante pode ser observado nos gaps onde a heurística retornou melhores respostas. Olhando nas tabelas5.7 a5.11, ACO20t10k e ACO40t5k superam
os demais candidatos para os gaps das derrotas. Observa-se que, um candidato elite configurado para as grandes instâncias (60, 80 e 100) é complementar a um candidato elite encontrada para as menores instâncias (20 e 40), analisando que os candidatos configurados para as casos de 60, 80 e 100 tarefas alcançam maior taxa de respostas ótimas nestes conjuntos, mas os candidatos resultantes da configuração para 20 e 40 tarefas são mais eficazes em retornar respostas com menores gaps para as derrotas.
Esta observação aponta fortemente para o fato de que não existe apenas um me- lhor candidato para os parâmetros de operação da meta-heurística e a combinação de candidatos elite representa uma melhoria significativa para o desempenho do ACO. A combinação dos candidatos elite fornecidos pelo IRACE se mostrou superior aos
131
resultados obtidos com a camada OAA e o meta-ACO desenvolvidos neste projeto. No entanto, muitas oportunidades de melhoria destacadas no próximo capítulo podem aumentar a eficiência desta implementação. A principal vantagem fornecida por esta proposta é eliminar a necessidade de configurar e avaliar um AE antes de colocá-lo em operação, reduzindo fortemente o tempo necessário para o processo de desenvolvimento desse tipo de algoritmo.
A tabela 5.12 avalia separadamente os processos que compõem a camada OAA:
Parametrização (P); Classificação (C); Ranqueamento (R) e Solução (S). A primeira coluna da tabela 5.12 contem os conjuntos de instâncias solucionados e a segunda
apresenta o modo de operação aplicado na camada OAA. A terceira coluna apresenta quantas vezes o processo de parametrização foi invocado e a quarta detalha o número de iterações médio para estas chamadas. Da quinta a oitava coluna são apresentadas as médias de iterações do ACO para os quatro processos dentro da camada OAA, observando que a parametrização não é executada para todas as instâncias, mas os demais processos são invocados para todos os novos caso. Por fim, a última coluna desta tabela mostra a quantidade de falhas encontradas pelo algoritmo 10 no processo
de parametrização.
Não encontrar nenhum vetor de parâmetros que permita à meta-heurística fornecer resultados equivalentes ao fornecido pela heurística de controle, pode significar que esta meta-heurística não é adequada as características do espaço de busca da instância específica. Como na camada OAA a otimização de um determinado cenário é controlada por uma solução limitante, é possível identificar instâncias com maior complexidade para a meta-heurística empregada. Esta funcionalidade consiste em outra vantagem muito importante dentro desta proposta.
Sem uma metodologia com controle de qualidade não é possível detectar se candi- datos elite, obtidos com experimentos em instâncias de treinamento, garantem boas respostas para casos inéditos. Com a opção de controle, instâncias com maior complexi-
Tabela 5.12: Análise dos processos que compõem a camada OAA.
Instâncias Operação Chamadas de Parametrização Média de Iter. por Chamada Média de Execuções Falhas P. C. R. S. 10t OAA(ACO,rápido) 56 46,68 0,42 37,82 18,77 18 0 OAA(ACO,padrão) 190 90,56 2,76 143,43 56,45 30 0 11t OAA(ACO,rápido) 92 60,76 0,90 37,65 19,36 18 0 OAA(ACO,padrão) 181 88,70 2,57 144,08 55,32 30 0 12t OAA(ACO,rápido) 120 18,42 0,71 40,13 18,96 18 0 OAA(ACO,padrão) 238 47,06 3,59 141,89 54,28 30 0 10-12t OAA(ACO,rápido) 114 24,77 0,91 41,78 19,66 18 0 OAA(ACO,padrão) 172 35,27 1,94 137,76 52,95 30 0 20t OAA(ACO,rápido) 43 67,37 2,79 36,58 18,23 18 0 OAA(ACO,padrão) 97 180,45 16,83 148,88 57,14 30 0 40t OAA(ACO,rápido) 133 177,11 22,65 64,20 19,65 18 5 OAA(ACO,padrão) 187 271,24 48,77 225,02 58,38 30 4 60t OAA(ACO,rápido) 127 363,02 73,88 85,77 19,71 18 14 OAA(ACO,padrão) 145 440,12 102,27 357,43 49,06 30 19 80t OAA(ACO,rápido) 110 323,42 85,52 140,00 19,74 18 12 OAA(ACO,padrão) 131 386,79 121,80 503,32 56,03 30 14 100t OAA(ACO,rápido) 134 300,62 96,83 124,63 20,70 18 20 OAA(ACO,padrão) 158 342,42 130,06 658,46 53,94 30 20 20-100t OAA(ACO,rápido) 135 238,07 51,51 84,03 20,42 18 12 OAA(ACO,padrão) 184 293,39 86,51 281,20 61,11 30 12
dade podem ser detectadas e mais esforços direcionados à estes casos, seja solucionando um cenário específico de otimização ou em relação ao aprofundamento do estudo das razões de algumas instâncias serem mais complexas para determinadas meta-heurísticas.
A tabela 5.12 mostra que as falhas ocorreram apenas para as instâncias de maior
porte, a partir de 40 tarefas. Havendo um total de 132 falhas que correspondem a 4,2% das 3120 instâncias avaliadas nos conjuntos onde foram detectadas falhas na parame- trização para alguma instância (0,58% avaliando o total de 22880 casos simulados).
Na tabela 5.12é possível observar que a parametrização da meta-heurística é mais
complexa para os casos de maior porte. Enquanto os processos de classificação e ran- queamento estão sujeitos aos valores das variáveis que definem a velocidade da camada OAA, dependendo principalmente do número de famílias e vetores de parâmetros arma- zenados. Já o processo de solução depende apenas da quantidade dos melhores vetores explorados pelo processo e o número de avaliações executadas por vetor.
A classificação das famílias de vetores foi o processo mais custoso da camada OAA e deve ser alvo de futuras melhorias para potencializar a eficiência do sistema. De forma
133
geral, os algoritmos implementados são bastante simplificados e melhorias poder ser facilmente incorporadas pois o sistema possui uma arquitetura definida em camadas.
A camada OAA elimina a necessidade de parametrização do algoritmo, função que foi integrada de maneira inteligente dentro do processo implementado. Além disso, esta proposta permite a detecção de instâncias problemáticas que devem ser tratadas com maior cuidado. Este projeto demonstrou com sucesso a aplicabilidade deste novo para- digma, a Otimização com Aprendizado Autônomo. Pesquisas futuras podem ampliar o escopo das implementações apresentadas, aumentando a eficiência deste processo.
Mais informações podem ser reveladas com futuras análise dos dados experimentais e devem compor novos estudos. A fase de projeto para uma meta-heurística representa um problema drástico e o avanço da ciência nesta direção pode prover melhor compreensão para este processo.