Estudo, análise e implementação de algoritmo baseado no método de otimização Iterated Local Search para resolver problemas do caixeiro viajante - Patricia Nunes Damasceno (Universidade Federal do Amazonas, 2016)
O Problema do Caixeiro Viajante (PCV) é um clássico problema de otimização. Informalmente, um PCV é dado 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 o PCV é 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). Para o PCV, a melhor solução, também conhecida como solução ótima, é a rota de menor custo possível obtido por meio de uma função objetivo que avalia as soluções obtidas pelas combinações dos diferentes valores para as variáveis do problema (Arenales et al., 2007). Uma alternativa para encontrar uma solução ótima para uma instância do PCV seria analisar todas as soluções factíveis e extrair a que tenha o melhor valor de otimização. No entanto, essa análise é impraticável para muitas instâncias do PCV, pois o tempo computacional é bastante alto, visto que o número de diferentes soluções factíveis é o resultado de uma função fatorial que depende do número de cidades do problema (Winston, 1994). Esse tempo pode ser reduzido com a geração de uma boa solução, próxima a uma solução ótima. Para isso, existem diferentes abordagens, dentre as quais existem os métodos exatos e os métodos heurísticos. Os métodos exatos processam soluções de forma determinística por meio de mecanismos subjacentes aos mesmos que direcionam as buscas no espaço de soluções. Os métodos heurísticos são aplicáveis quando não se tem um modelo exato, pois possuem a flexibilidade para manipular problemas cujas características são difíceis de serem incorporadas em um modelo exato de otimização. No entanto, as heurísticas não podem garantir que uma solução ótima ou mesmo uma boa solução factível seja encontrada, pois muitas vezes não se conhece uma solução ótima para comparar e avaliar a qualidade da solução gerada (Arenales et al., 2007). Por isso, muitas vezes, meta-Heurísticas (MHs) são usadas para obter uma boa solução para 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 para 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 diferentes MHs está o método Iterated Local Search (ILS), que tem sido usado com sucesso em problemas de roteamento de veículos (Subramanian et al., 2010). Esse método consiste em melhorar as soluções de um procedimento de busca local a partir novas soluções, realizando diversas perturbações em uma dada solução ótima local. O mecanismo de perturbação deve ser forte o suficiente para permitir escapar do ótimo local corrente a fim de explorar outras regiões promissoras. Além disso, essa perturbação precisa ser fraca o suficiente para guardar características da solução ótima local.