As formula¸c˜oes F1 PML, F2 PML, F3 PML e F4 PML s˜ao o eixo de liga¸c˜ao entre os quatro problemas que s˜ao apresentados neste trabalho. Todos os problemas desta tese
Tabela 2.5: Resultados - Instˆancias QAPLIB Modificadas
Instˆancia Tempo (s) Limite Otimo´ Lim Inf Tempo (s) Solu¸c˜ao Itera¸c˜oes Gap (%)
CPLEX Inferior / ´Otimo (%) CPLEX LP GRASP GRASP LS / ´Otimo
m-had12 0.12 82.66 88 6.64 0.02 88 2 0.00 m-had12 0.41 109.98 125 12.10 0.03 125 1 0.00 m-had16 0.24 140.71 146 3.62 0.06 146 1 0.00 m-had20 4.69 215.12 232 7.28 0.13 232 13 0.00 m-rou12 0.22 947.75 1099 13.76 0.03 1099 23 0.00 m-rou15 1.23 1068.5 1274 16.13 0.07 1274 13 0.00 m-scr12 0.13 78 78 0.00 0.02 78 3 0.00 m-scr15 0.50 122 122 0.00 0.06 122 11 0.00 m-scr20 1.78 210 210 0.00 0.06 210 13 0.00 m-nug12 0.08 78 78 0.00 0.02 78 3 0.00 m-nug14 0.12 105 105 0.00 0.03 105 0 0.00 m-nug15 0.33 121 121 0.00 0.04 121 1 0.00 m-nug16a 0.55 136.28 138 1.25 0.05 138 1 0.00 m-nug17 0.51 154 154 0.00 0.06 154 1 0.00 m-nug18 0.73 171 171 0.00 0.08 171 4 0.00 m-nug20 0.98 210 210 0.00 0.13 210 0 0.00 m-nug21 1.57 232 232 0.00 0.15 232 142 0.00 m-nug22 0.33 253 253 0.00 0.22 253 0 0.00 m-nug24 4.44 300 300 0.00 0.25 300 0 0.00 m-nug25 6.55 326 326 0.00 0.29 326 4 0.00 m-nug27 4.60 379 379 0.00 0.43 379 265 0.00 m-nug30 28.55 465 465 0.00 0.63 465 263 0.00 m-sko42 1637.33 903 903 0.00 2.92 903 0 0.00 m-sko49 2763.15 1226 1226 0.00 6.61 1230 0 0.33 m-sko56 18343.65 1596 1596 0.00 10.57 1602 0 0.37 m-sko64 53128.41 2080 2080 0.00 18.80 2080 0 0.00 m-sko72 ***** 2628 2628 0.00 36.34 2628 0 0.00 m-sko81 ***** 3322 ***** 0.18** 63.62 3328 0 0.18** m-sko90 ***** 4095 ***** 0.19** ***** 4103 0 0.19** m-sko100a ***** 5050 5050 0.00 200.10 5050 0 0.00 m-tho30 26.24 465 465 0.00 0.67 465 398 0.00 m-tho40 271.55 820 820 0.00 2.42 820 45 0.00 m-tho150 ***** 11325 11325 0.00 20960.02* 11325 0 0.00 m-will50 ***** 1275 ***** 0.16** 6.29 1277 5097 0.16**
ter˜ao formula¸c˜oes derivadas da formula¸c˜ao F3 PML. A F1 PML ´e a formula¸c˜ao mais sim- ples, mas ´e a vers˜ao multiproduto dela, F3 PML, que ´e a base para algumas formula¸c˜oes apresentadas nos cap´ıtulos posteriores. A F1 PML ´e uma formula¸c˜ao que usa da id´eia simples de fazer um fluxo percorrer por uma rede, garantindo a conserva¸c˜ao desse fluxo e calculando os custos no decorrer desse caminho. O fraco desempenho tanto nos gaps de relaxa¸c˜ao linear quanto no tempo de computa¸c˜ao est´a associado tanto ao ´ınfimo n´umero de vari´aveis e restri¸c˜oes - na formula¸c˜ao F1 PML s˜ao usadas apenas restri¸c˜oes para ga- rantir a conserva¸c˜ao do fluxo e inibir subciclos ilegais - como tamb´em est´a associado `a caracter´ıstica uniproduto da formula¸c˜ao. A formula¸c˜ao F2 PML tamb´em ´e de extrema importˆancia para este trabalho. O acr´escimo das vari´aveis p e das restri¸c˜oes (2.18)-(2.22) na formula¸c˜ao F1 PML, melhorando tanto o tempo para calcular o ´otimo inteiro como diminuindo o gap de relaxa¸c˜ao linear, ser´a usado nos cap´ıtulos posteriores impactando de forma muito positiva os resultados computacionais. A formula¸c˜ao F3 PML, por ser multi- produto, mostrou-se mais forte que as anteriores, mas n˜ao necessariamente mais r´apida. A formula¸c˜ao F4 PML, tamb´em multiproduto, se mostrou mais r´apida que a F3 PML, mas nem sempre mais r´apida que a F2 PML.
O primeiro modelo baseado no PQA, (2.60)-(2.65), obteve resultados muito expressi- vos. Seus limites de relaxa¸c˜ao linear n˜ao ultrapassaram, em m´edia, 2% do ´otimo. Com ele foram resolvidas, at´e a otimalidade, instˆancias de tamanho 30. Quando foi utilizado o modelo M2 PML, isto ´e, o modelo (2.66)-(2.74), conseguiu-se resolver, at´e a otimalidade, instˆancias de at´e 60 v´ertices. Apesar de o algoritmo de Fischetti et al. [FLM93] tamb´em apresentar resultados de 60 v´ertices com um tempo computacional menor, utilizando uma m´aquina mais antiga, os modelos apresentados tˆem como for¸ca seus limites inferiores. O
gap de relaxa¸c˜ao linear desses modelos foi extremamente baixo, na m´edia menos de 2%,
mesmo para instˆancias de tamanho 60. Esse gap mostra que o modelo (2.66)-(2.74) e, prin- cipalmente, o modelo (2.60)-(2.65) s˜ao bem fortes e abrem caminhos para novas t´ecnicas que se aproveitem desses limites inferiores para calcular solu¸c˜oes ´otimas, ou mesmo solu¸c˜oes heur´ısticas, mas com uma boa garantia de limites. Al´em disso, at´e onde se sabe, n˜ao foram encontrados para o PML limites inferiores t˜ao justos quantos os limites calculados pela formula¸c˜ao M1 PML.
Apesar de os modelos M2 PML e M3 PML terem o mesmo limite inferior que o modelo apresentado por Bianco, Mingozzi e Ricciardelli [BMR93], M4 PML, uma contribui¸c˜ao deste trabalho ´e apresentar a equivalˆencia, em rela¸c˜ao aos limites de programa¸c˜ao linear, entre esses modelos e a Formula¸c˜ao Relaxada. Esta ´ultima, que deriva do modelo M1 PML,
´e baseada no Problema Quadr´atico de Atribui¸c˜ao.
Os modelos que apresentaram melhores resultados em termos de tempo de computa¸c˜ao foram os modelos M3 PML e M4 PML. Esses dois modelos s˜ao baseados no Problema do Caminho M´ınimo e geraram os mesmos limites de programa¸c˜ao linear para todas as instˆancias testadas. Esses limites, ali´as, s˜ao os mesmos da Formula¸c˜ao Relaxada e, con- seq¨uentemente, s˜ao os mesmos da formula¸c˜ao M2 PML. Apesar da equivalˆencia em termos de limites de programa¸c˜ao linear entre as formula¸c˜oes M3 PML e M4 PML, elas foram escritas de forma diferente. A primeira se baseou no grafo multin´ıvel G′ apresentado na
se¸c˜ao (2.6). A segunda se baseou no grafo normal G. Isso explica a varia¸c˜ao das m´edias dos tempos de computa¸c˜ao para cada conjunto de 10 instˆancias analisado. Apesar de essas m´edias serem, em geral, muito pr´oximas, elas n˜ao revelam a discrepˆancia dos tempos de computa¸c˜ao entre as formula¸c˜oes e entre os tipos de configura¸c˜oes do resolvedor CPLEX. Por exemplo: a ´ultima instˆancia testada com 45 v´ertices teve um tempo de computa¸c˜ao de 273.52 segundos utilizando a formula¸c˜ao M3 PML com os parˆametros padr˜oes para o CPLEX; j´a a mesma instˆancia usando os mesmos parˆametros do CPLEX mas utilizando a formula¸c˜ao M4 PML levou 696.68 para ser resolvida. A mesma instˆancia, mas com os parˆametros do CPLEX modificados, levou 222.8 segundos para ser resolvida usando a formula¸c˜ao M3 PML e 109.64 utilizando a formula¸c˜ao M4 PML.
Com os modelos M3 PML e M4 PML, foi poss´ıvel encontrar o ´otimo inteiro para instˆancias assim´etricas de at´e 80 v´ertices. Pelo que se sabe, at´e hoje ainda n˜ao tinham sido resolvidas instˆancias assim´etricas maiores que 55 v´ertices. Para as instˆancias baseadas no PQA o resultado foi ainda mais impressionante. Para elas foi poss´ıvel provar a otimali- dade para instˆancias de at´e 150 v´ertices. Isso foi poss´ıvel devido `a for¸ca do limite inferior calculado pela relaxa¸c˜ao linear utilizando a formula¸c˜ao M3 PML e, tamb´em, `a for¸ca do limite superior, utilizando o algoritmo GRASP. Na instˆancia m − tho150, esses limites se igualaram provando a otimalidade da mesma.
O algoritmo GRASP tamb´em se mostrou eficiente. Na maioria das instˆancias o limite superior encontrado foi idˆentico `a solu¸c˜ao ´otima. Por exemplo: at´e grafos de 45 v´ertices foram testadas 90 instˆancias baseadas no trabalho de Fischetti et al. [FLM93]. Dentre essas 90 instˆancias somente em trˆes delas n˜ao foi encontrado o ´otimo inteiro pela heur´ıstica. Mesmo para as instˆancias maiores, entre 50 e 60 v´ertices, o gap entre as solu¸c˜oes ´otimas e os valores encontrados pelo algoritmo estiveram, em m´edia, pr´oximos dos 1.5%. O algoritmo GRASP foi especialmente eficiente nas instˆancias baseadas na QAP LIB. Para essas instˆancias, na maioria dos casos, o algoritmo GRASP encontrou a solu¸c˜ao ´otima e,
caso n˜ao tenha encontrado, em nenhum caso, o gap entre a solu¸c˜ao encontrada e o ´otimo foi superior a 0.37%. Duas instˆancias devem ser observadas: nas instˆancias sko81 e sko90, n˜ao foram encontradas as solu¸c˜oes ´otimas. Apesar disso, ´e sabido que a solu¸c˜ao encontrada, para essas instˆancias, n˜ao est´a mais de 0.18% e 0.19%, respectivamente, da solu¸c˜ao ´otima. O papel da heur´ıstica GRASP n˜ao foi somente encontrar limites superiores justos para o PML. Quando se utiliza a solu¸c˜ao encontrada pelo m´etodo GRASP como primeira solu¸c˜ao para resolver o problema, via CPLEX, conseguiram-se, em m´edia, resultados exatos mais r´apidos. Isso acontece quando essa solu¸c˜ao foi melhor que a primeira solu¸c˜ao que o CPLEX calcularia caso n˜ao tivesse recebido esse limite superior. Por exemplo: na instˆancia P60- 2, o CPLEX gerou um gap inicial entre a primeira solu¸c˜ao inteira e o valor do limite de programa¸c˜ao linear de 68.28%. Nesse caso, ele levou 17790.2 segundos para provar a otima- lidade dessa instˆancia; j´a quando o CPLEX se utilizou do limite superior pr´e-computado pelo GRASP, ele levou somente 6872.25 segundos para provar a otimalidade dessa instˆancia. Nesse caso, o CPLEX s´o precisou ”fechar”um gap de 4.72%. O ganho, nesse caso, foi de 61.37% em rela¸c˜ao ao tempo total. Como pode-se ver na Tabela (2.2), sempre a m´edia dos tempos de solu¸c˜ao do CPLEX, quando esse utilizou como limite superior o valor encon- trado pelo GRASP, ´e menor. Apesar disso, nem sempre ´e mais vantajoso utilizar o limite superior pr´e-computado pelo algoritmo GRASP. Em alguns casos, a primeira solu¸c˜ao in- teira que o CPLEX calcula ´e melhor que a solu¸c˜ao passada pelo GRASP. Nesses casos, o uso desse limite superior pr´e-computado n˜ao ´e vantajoso. Pela Tabela (2.2), notou-se que, em geral, `a medida que os problemas crescem, o uso de um limite superior pr´e-computado ´e mais vantajoso. A exce¸c˜ao est´a nas instˆancias de 60 v´ertices, que obtiveram um ganho de apenas 7.61% utilizando o limite superior pr´e-computado pelo GRASP. Isso se deve principalmente `a instˆancia P60-5 que, utilizando a solu¸c˜ao do GRASP, teve um tempo de computa¸c˜ao 62% pior. O interessante nesse fato ´e que essa instˆancia foi uma das duas instˆancias desse conjunto em que a solu¸c˜ao passada para o CPLEX estava a mais de 3% do ´otimo. Em alguns casos, por exemplo, mesmo quando a solu¸c˜ao passada para o CPLEX ´e a ´otima, o CPLEX gasta mais tempo do que quando utiliza o m´etodo original. Prova- velmente essa diferen¸ca de tempo est´a associada `a execu¸c˜ao, em paralelo, de processos da m´aquina, interferindo no desempenho do algoritmo. Para mais detalhes sobre as instˆancias, vide o apˆendice A.