Estudo, análise e implementação de algoritmo baseado no método de otimização Tabu Search para resolver problemas do caixeiro viajante - Joicilene Nunes Santos (Universidade Federal do Amazonas, 2016)
O Problema do Caixeiro Viajante (PCV) é um clássico problema de otimização, que pode ser definida por um conjunto de cidades, um conjunto de conexões entre pares de cidades e o custo de viagem associado a cada conexão. Uma solução factível para um PCV corresponde a uma rota que inicia em uma das cidades do problema, vista as demais cidades uma única vez e retorna para a cidade inicial (Gutin e Punnen, 2002). A melhor solução (solução ótima) para o PCV é aquela que tem a rota de menor custo possível obtida por meio de uma função objetivo. Essa função avalia as soluções representadas por meio de uma combinação de valores para as variáveis do problema (Arenales et al., 2007). Para as instâncias grandes é difícil encontrar a melhor solução (solução ótima), pois o tempo computacional aumenta exponencialmente de acordo com o número de cidades do problema (Winston, 1994). Entretanto, esse tempo pode ser reduzido se, ao invés da solução ótima, for aceita uma boa solução com qualidade próxima à melhor solução. Para isso, existem abordagens tais como: métodos exatos e métodos heurísticos. Os métodos exatos procuram as soluções de forma determinística por meio de mecanismos subjacentes aos mesmos direcionando as buscas nos espaços de soluções mais promissores. Os métodos heurísticos são aplicáveis quando o esforço computacional exigido para resolver o problema é superior à capacidade de processamento da máquina. A principal vantagem das heurísticas está na flexibilidade em manipular problemas que são difíceis de serem incorporadas em um modelo exato. Por outro lado, as heurísticas não podem garantir que uma boa solução factível seja encontrada, pois muitas vezes se desconhece o valor de uma solução para comparar com a solução encontrada (Arenales et al., 2007). Meta-Heurísticas (MHs) são geralmente usadas para resolver problemas de otimização como o PCV. MHs são técnicas que processam uma interação entre os procedimentos de melhoria local e estratégias de alto nível a fim de criar um mecanismo capaz de escapar das soluções ótimas locais de baixa qualidade e realizar uma busca robusta no espaço de soluções (Gendreau e Potvin, 2010). Dentre as várias MHs para o PCV, temos o Tabu Search, que tem como princípio básico prosseguir a busca em outras regiões mesmo que uma solução ótima local já tenha sido encontrada. Esse processo de diversificação permite a movimentação da solução corrente para outras soluções piores, evitando que a busca fique restrita a uma determinada região do espaço de soluções. Para isso, BT usa uma estrutura de memória, denominada lista tabu que armazena as últimas soluções processadas. O uso dessa memória serve para evitar que a solução se movimente para outra que já tenha sido listada em iterações recentes, ou seja, evita que o algoritmo entre em ciclo.