Paralelização de Metaheurísticas para Execução Autonômica em Grades Computacionais - Araújo, Aletéia P. F.; Ribeiro, Celso; Boeres, Cristina; Rebello, Vinod (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD), 2008)
Na busca por melhores serviços ou maiores lucros, a utilização de metaheurísticas tem sido um importante aliado da indústria para resolver questões operacionais complexas em tempos computacionais aceitáveis. O desenvolvimento de metaheurísticas paralelas eficientes é difícil e, para executar instâncias reais, os algoritmos necessitam de muito poder computacional. Enquanto a computação em grades pode oferecer tal poder computacional, suas características específicas criam uma complexidade adicional para desenvolver aplicações eficientes. Este trabalho propõe uma estratégia simples de paralelização para executar metaheurísticas seqüenciais em grades computacionais. O objetivo é eliminar a necessidade do desenvolvedor encarar a tarefa de paralelizar uma metaheurística, e mostrar que executando múltiplas instâncias de uma metaheurística seqüencial de forma coordenada em paralelo é possível reduzir o tempo para alcançar boas soluções. A paralelização proposta é composta de duas camadas: um middleware de gerenciamento da execução na grade e a estratégia de coordenação das metaheurísticas seqüenciais. Para validar essa proposta foram desenvolvidas duas novas metaheurísticas paralelas, uma para o problema do torneio com viagens espelhado e a outra para o problema da árvore geradora de custo mínimo com restrição de diâmetro. Ambas as paralelizações foram capazes de melhorar, para várias instâncias, os melhores resultados conhecidos na literatura.