Uma abordagem heurística para o Team Orienteering Problem

Documentos relacionados
Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

por exemplo, a natureza dos bens que são transportados pela frota, bem como a qualidade com que o serviço deva ser prestado, seja ele de entrega ou

5 VNS com Filtro e Reconexão por Caminhos

Algoritmo Evolucionário no Tratamento do Problema de Roteamento de Veículos com Janela de Tempo

6 Experimentos realizados

Experimentos e Resultados

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

Avaliação de Heurísticas de Melhoramento e da Metaheurística Busca Tabu para Solução de PRV

Francisco Henrique de Freitas Viana. Modelos e Algoritmos para o Team Orienteering Problem. Tese de Doutorado

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

3 Extensões dos modelos matemáticos

META-HEURÍSTICA SIMULATED ANNEALING APLICADA AO PROBLEMA DO ROTEAMENTO DE VEÍCULOS CAPACITADOS COM RESTRIÇÕES DE CARREGAMENTO BIDIMENSIONAL

Um Estudo da Aplicação de Heurísticas Construtivas e de Melhoramento para um Problema de PRV

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

Introdução aos Problemas de Roteirização e Programação de Veículos

Problemas de otimização

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

Aula 17: Planos de Corte

Uma Introdução à Busca Tabu André Gomes

UMA ABORDAGEM METAHEURÍSTICA PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM JANELAS DE TEMPO E MÚLTIPLOS ENTREGADORES

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

XLVII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

Algoritmo Genético: um experimento comparativo entre a execução paralela com troca de indivíduos de populações e a não paralela.

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

INVESTIGANDO O PROBLEMA DA MOCHILA IRRESTRITA EM SUA VERSÃO BIDIMENSIONAL

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

MODELAGEM E SOLUÇÃO DO PROBLEMA DE SELEÇÃO DE PONTOS DE PARADA DE ÔNIBUS CONTRATADOS PARA TRANSPORTE DE FUNCIONÁRIOS

Otimização de horários Seminário. Clarisse Resende 25/01/2013

Heurística GRASP-VND para o Problema de Roteamento de Veículos com Cross-Docking

UMA HEURÍSTICA GRASP PARA O PROBLEMA DO CAIXEIRO VIAJANTE PERIÓDICO

PROJETO E ANÁLISE DE ALGORITMOS (INF 2926)

Departamento de Engenharia de Produção UFPR 22

Problema do Caixeiro Viajante (The Travelling Salesman Problem-TSP) (Problema Del viajante)

RESOLUÇÃO DO PROBLEMA DAS P-MEDIANAS POR MEIO DE ALGORITMOS BASEADOS EM GRASP, ILS E MULTI-START

Nuno Miguel Duarte Sequeira André VARIABLE NEIGHBOURHOOD SEARCH

UMA SOLUÇÃO DO PROBLEMA DE ROTEAMENTO ABERTO DE VEÍCULOS COM JANELAS DE TEMPO UTILIZANDO METAHEURÍSTICAS GRASP E ILS

4 Métodos Existentes. 4.1 Algoritmo Genético

Algoritmo Evolutivo para o Problema de Corte de Estoque Unidimensional com Redução do Número de Padrões de Corte

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Pesquisa Operacional Aplicada à Mineração

Um Algoritmo Simulated Annealing Eficiente para o Problema de Roteamento de Veículos com Janela de Tempo

Algoritmos Exatos 3.1. Relaxação Lagrangeana

GRASP para o Problema do Caixeiro Viajante com Limite de Calado

DECISÕES SOBRE TRANSPORTES (PARTE III) Mayara Condé Rocha Murça TRA-53 Logística e Transportes

Aula 12: Programação Inteira

UMA HEURISTICA APLICADA AO PROBLEMA DO CAIXEIRO VIAJANTE

RESOLUÇÃO DO PROBLEMA DE ROTEAMENTO DE VEÍCULOS UTILIZANDO A HEURÍSTICA DE SAVINGS

META-HEURÍSTICA CLUSTERING SEARCH APLICADA AO PROBLEMA DE ROTULAÇÃO CARTOGRÁFICA DE PONTOS

ANÁLISE DE RESULTADOS NA CONSTRUÇÃO DE ROTA PARA O PROBLEMA DO CAIXEIRO VIAJANTE

Problema de Roteamento de Veículos com Tempos Adicionais em Fronteiras

Um Estudo Empírico de Métodos Hiper-Heurísticos

Parte II. Aplicações em Roteamento de Veículos

HEURÍSTICA ITERATED LOCAL SEARCH PARA RESOLVER O PROBLEMA MINIMUM BRANCH VERTICES

Um Arcabouço para o Problema de Roteamento Dinâmico de Veículos com Janelas de Tempo e Tempos de Viagem Variáveis

Análise empírica de algoritmos de ordenação

Modelo Matemático para o Problema de Roteamento de Veículos com Frota Heterogênea Fixa e Restrições de Carregamento Bidimensional

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

ALGORITMOS HEURÍSTICOS UTILIZANDO BUSCA LOCAL ALEATÓRIA EM VIZINHANÇA VARIÁVEL PARA O PROBLEMA DO CAIXEIRO VIAJANTE COM GRUPAMENTOS

Resolução de Problemas de Busca

2 Problema de Roteamento de Veículos com Restrição de Capacidade

Algoritmo heurístico para agrupamento de ordens de serviço em concessionárias de distribuição de energia elétrica considerando priorização

7 Experimentos Computacionais

Simulated annealing aplicado à resolução do problema de roteamento de veículos com janela de tempo

Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível

Orivalde Soares da Silva Júnior. Algoritmos para os Problemas de Roteirização Estática e Dinâmica de Veículos com Janelas de Tempo.

Um algoritmo pseudo-periférico genérico para a heurística de Snay

Desenvolvimento de um algoritmo baseado em Hill-Climbing para o problema de roteamento periódico de veículos

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo

Edgar Wchua Pires Guilherme. O Problema de Orientação de Equipas Capacitado com Janelas Temporais Aplicado à Recolha e Transporte de Leite Cru.

3 Metaeurísticas e Resolvedores MIP

METAHEURÍSTICAS VNS-VND E GRASP-VND PARA PROBLEMAS DE ROTEAMENTO DE VEÍCULOS COM COLETA E ENTREGA SIMULTÂNEA

Grafos e Caminhos Mínimos na Modelagem e Determinação de Custos Improdutivos em Alocação de Frotas no Transporte Coletivo de Passageiros

ANÁLISE ESTATÍSTICA DA DECISÃO PARA TRATAR O PROBLEMA DE ROTEAMENTO E COBERTURA COM MÁXIMO RETORNO ÀS ÁREAS SENSÍVEIS

UMA METAHEURÍSTICA HÍBRIDA GRASP+TABU PARA O PROBLEMA DE ROTEAMENTO PERIÓDICO DE UMA FROTA DE VEÍCULOS

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Um Método Exato para o Problema do Caixeiro Viajante com Grupamentos Euclidiano e Simétrico

Uma heurística para o problema sequenciamento de tarefas com restrições adicionais em um centro de distribuição

Complexidade de Tempo e Espaço

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1

PCC173 - Otimização em Redes

Busca Tabu. Marcone Jamilson Freitas Souza. Universidade Federal de Ouro Preto

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS

3. Resolução de problemas por meio de busca

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Alexandre Altoé Pigatti. Modelos e Algoritmos para o Problema de Alocação Generalizada (PAG) e Aplicações DISSERTAÇÃO DE MESTRADO

Projeto e Análise de Algoritmos

Optimização de um Plano de Marketing Directo para o Sector da Banca Daniel Barata

PROBLEMA DE ROTEAMENTO DE VEÍCULO UNIVERSIDADE PRESIDENTE ANTONIO CARLOS

Otimização Combinatória - Parte 3

Problema do Caixeiro Viajante

Caixeiro Viajante. Estruturas de Dados II. Prof. a Mariella Berger. 1. Objetivo

Otimização Combinatória - Parte 4

Capítulo 5. Hibridização dos Métodos 63

DESENVOLVIMENTO DE UM ALGORITMO DE BUSCA LOCAL ITERADA PARA O PROBLEMA DIAL-A-RIDE

Estudo e implementação de heurísticas para determinação do caminho de menor custo para atender a rotas pré estabelecidas. Por: Charles Pereira

BCC204 - Teoria dos Grafos

Transcrição:

Uma abordagem heurística para o Team Orienteering Problem Francisco Henrique de Freitas Viana 1, Marcus Vinícius Soledade Poggi de Aragão 1 1 Departamento de Informática Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) Rio de Janeiro, Brasil fviana@inf.puc-rio.br, poggi@inf.puc-rio.br Resumo. O Team Orienteering Problem é uma variante do Vehicle Routing Problem em que um conjunto de rotas de veículos são construídas de tal forma que o lucro total obtido pela visitação de um subconjunto dos clientes é maximizada. Cada ponto representa um cliente e cada cliente tem um lucro associado. Todas as rotas tem que terminar dentro de um dado limite de tempo. Cada cliente pode ser visitado por no máximo um veículo. Este trabalho propõe uma abordagem heurística para resolver esse problema. Esse algoritmo é subdividido em duas partes. Primeiramente, executa-se uma Busca Tabu que utiliza operadores tais como troca, inserção e movimentação. Soluções viáveis e inviáveis são exploradas nesse processo. Em segundo lugar, é executada uma busca local para melhorar essa solução. Experimentos computacionais foram realizados com instˆancias padrão. Os resultados mostram que a abordagem obtém soluções que, em média, tḙm um desvio de 10.86% em comparação com as melhores soluções conhecidas. PALAVRAS CHAVE. Metaheurísticas. Team Orienteering Problem. Busca Tabu. Área de Classificação Principal (Metaheurísticas) Abstract. O Team Orienteering Problem is a variant of the Vehicle Routing Problem in which a set of vehicles routes is constructed such that the total collected reward received from visiting a subset of customers is maximized. Each point represents a customer and each customer has a associated profit. All of routes has to finish within a given time limit. Each customer can be visited by one vehicle at most. We propose an heuristic approach to solve this problem. This algorithm is subdivided in two parts. Firstly, we execute a tabu search that utilizes operators like swap, insertion and 1-move. Feasible and infeasible solutions are explored in this process. Secondly, we run a local search to improve this solution. Computational experiments were made on standard instances. The results show that the our approach gets solutions that are 10.86% (on the average) below comparing with the best known solutions. KEYWORDS. Metaheuristics. Team Orienteering Problem. Tabu Search. Main Area (Metaheuristics) XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2169

1. Introdução Os problemas de roteamento de veículos têm sido amplamente estudados.essa classe de problemas geralmente considera a obrigatoriedade de se visitar um dado conjunto de clientes, utilizando uma frota de veículos de modo a minimizar o custo total do roteamento. Existem alguns problemas de roteamento que não se enquadram nessa regra. Tais problemas, associam um lucro à visitação de um cliente. Nessa linha, existem problemas que lidam apenas com um veículo, os chamados Traveling Salesman Problem with profits, bem como os problemas que consideram múltiplos veículos. Dentre os problemas que consideram múltiplos veículos, pode-se enquadrar o TOP, no qual o objetivo é maximizar o lucro total obtido pela visita dos clientes, considerando que se tem um número fixo de veículos na frota e que, cada rota, não pode eceder um limite de tempo máximo determinado a priori. Devido à essa restrição que limita o tempo final das rotas, evidentemente, em uma solução do TOP, todos os pontos não tem que ser necessariamente visitados. Figura 1. À esquerda uma solução do VRP e à direita uma solução do TOP. O Team Orienteering Problem - TOP foi proposto no artigo de Butt and Cavalier (1994) ainda com o nome de Multiple Tour Maximum Collection Problem. Posteriormente, Chao et al. (1996) introduziram formalmente esse problema. O TOP é uma versão do Orienteering Problem considerando-se que existem múltiplos veículos. No Orienteering Problem considera-se que as visitas são realizadas por um único veículo. Como referência do Orienteering Problem pode-se citar o algoritmo exato proposto por Fischetti et al. (1998). O primeiro trabalho experimental sobre o TOP foi realizado por Chao et al. (1996). Este trabalho também propôs as instâncias que ainda são utilizadas atualmente. Nesse trabalho, é apresentado um algoritmo conhecido como heurística de cinco passos para o Orienteering Problem. Mais tarde, Tang and Miller-Hooks (2005) propuseram uma Busca Tabu combinada com um procedimento de memória adaptativa. Presentemente, os resultados mais relevantes são encontrados em Archetti et al. (2005). Nesse trabalho, são apresentadas duas variantes de Busca Tabu, bem como uma rápida e uma lenta Variable Neighbourhood Search - VNS. A primeira variação da Busca Tabu percorre apenas o espaço de soluções viáveis, enquanto que, a segunda variação, aceita soluções inviáveis no decorrer da busca. A VNS, por sua vez, considera somente soluções viáveis. O ponto forte desse algorimo está no fato de que pontos não visitados pela solução corrente são também agrupados em rotas, ao passo que, nas outras abordagens, somente os pontos vistados estão alocados às rotas. Vansteenwegen et al. (2009) apresentaram uma VNS para o TOP que obtém resultados comparáveis com os encontrados em Archetti et al. (2005) em um tempo computacional muito reduzido (inferior a um minuto). Todavia, em geral, a qualidade das soluções apresentadas Archetti et al. (2005) é ainda superior. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2170

Esse artigo está organizado da seguinte forma. Na seção 2, o problema é definido formalmente. A seção 3 explica a abordagem heurística proposta para o TOP. A seção 4 descreve os cenários de teste, relata acerca dos experimentos computacionais e faz uma comparação dos resultados com as melhores soluções reportadas na literatura para o problema. A seção 5 traz as conclusões e tendências de trabalhos futuros. 2. Team Orienteering Problem (TOP) - Definição Seja um grafo completo G(V,E), no qual V = {0,...,n} representa o conjunto de vértices e E = {(i,j) i,j V } representa o conjunto de arestas. O vértice 0 representa o ponto de partida das rotas e o vértice n representa o ponto final de todas as rotas e os demais vértices representam clientes em potencial. A cada cliente é associado um lucro não negativo e o peso das arestas representa o tempo de viagem entre as duas localidades conectadas. Uma frota contendo m veículos está disponível para visitar os clientes. Cada veículo deve efetuar uma rota visitando um subconjunto dos clientes, sendo que a duração total da rota não pode ultrapassar um limite de tempo pré-estabelecido. O objetivo do problema abordado é, portanto, maximizar o lucro total coletado pelos veículos, satisfazendo a duração limite (T max ) em cada rota. 3. Abordagem heurística para o TOP A heurística aqui proposta é subdividida em duas partes: A parte I consiste em uma Busca Tabu que relaxa um pouco a restrição da duração máxima das rotas. Ao término dessa fase, utiliza-se um procedimento para tornar viável a solução que menos tiver violado a restrição da duração limite das rotas. A parte II é composta por três fases. Na primeira fase, uma busca local com o objetivo de minimizar o tempo final da menor rota da solução. Essa busca local utiliza operadores de troca e de movimentação. Na segunda fase, procura-se inserir novos clientes à solução. Quando a inserção não é mais possível, devido à restrição do tempo máximo das rotas, executa-se a terceira fase que consiste em remover pontos de modo a reduzir as rotas. Isso permite que o algoritmo volte à primeira fase. Esse ciclo se repete até que termine o tempo definido para a execução da heurística. 3.1. Parte I - Busca Tabu A Busca Tabu utiliza operadores de inserção, remoção, troca, movimentação e de troca de clientes visitados. Esta busca parte de uma solução inicial trivial com todas as rotas vazias e, portanto, com nenhum ponto visitado. A função de avaliação da Busca Tabu é dada pela seguinte expressão: 1 w l lucro total + w d distancia total + w i tempo excedido total (1) onde: lucro total = r s(r) c r p(c), onde s(r) é o conjunto de rotas da solução s e p(c) é o lucro obtido pela visitação do cliente c. O lucro está multiplicado por -1 para que possamos trabalhar com a minimização da função objetivo. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2171

distancia total = d(r), onde d(r) é a distância total percorrida pelo veículo que r R realiza a rota r. tempo excedido total = r R pré-estabelecido e final(r) é o tempo final da rota r. T max final(r), onde T max é o tempo limite das rotas Os multiplicadores w l, w d e w i são respectivamente o peso dado ao lucro coletado e as penalizações sobre a distância percorrida e sobre o tempo total que as rotas excedem o valor de T max. O valor de w i varia no decorrer da execução da Busca Tabu. Nas primeiras iterações, penaliza-se pouco a violação da restrição do tempo máximo das rotas. Entretanto, essa penalização tende a aumentar de modo que, nas últimas iterações, o algoritmo possa convergir para uma solução viável ou que não viole demasiadamente essa restrição. As figuras 2, 3, 4, 5 e 6, abaixo, ilustram os operadores utilizados nessa busca. Nessas figuras, os pontos pretos representam os pontos inicial e final das rotas, os pontos em cinza são aqueles ques participam da operação e os pontos em branco são aqueles que não estão diretamente envolvidos na operação. Cada grafo representa uma solução contendo duas rotas. Uma rota tem as arestas em preto e a outra tem as arestas pontilhadas. O grafo da esquerda representa a solução antes da aplicação do operador e o grafo da direita retrata a solução resultante da operação. A seguir, descreve-se formalmente cada um dos operadores. 3.1.1. Operador de Inserção Esse operador insere em uma rota um cliente que não está sendo visitado por nenhuma rota na solução atual s. Denota-se esse operador pela expressão r + c, onde r é a rota na qual é inserido o cliente c. Assim, a solução resultante após a aplicação desse operador pode ser escrita como s r + c (Figura 2). Figura 2. Operador de inserção 3.1.2. Operador de Remoção Esse operador remove um cliente de uma determinada rora r pertencente à solução atual s. A expressão que representa o operador é r c, onde r é a rota da qual é removido o cliente c. Assim, a solução resultante após a aplicação desse operador é denotada por s r c (Figura 3). Figura 3. Operador de remoção XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2172

3.1.3. Operador de Troca entre rotas Nesse operador dois clientes c e c trocam de rotas entre si. Formalmente, uma movimentação é definida como a substituição de r c (s) por r c (s) c + c, bem como a substituição de r c (s) por r c (s) c + c. Denota-se a solução resultante por s (r c (s) c + c,r c (s) + c c ) (Figura 4) Figura 4. Operador de troca 3.1.4. Operador de Movimentação Nesse operador, um cliente c é movido de sua rota para uma outra rota r r c (s). Assim, r c (s) é substituída por r c (s) c e r, por sua vez é substituída por r + c. Uma movimentação pode ser denotada por uma tupla (c,r c (s),r). Desse modo, a solução resultante após a execução desse operador pode ser definida como s (r c (s) c,r + c), onde s é a solução original (Figura 5). Figura 5. Operador de movimentação 3.1.5. Operador de Troca de pontos visitados Dada uma rota r, esse operador remove um cliente c dessa rota e insere na mesma rota um outro cliente c que não estava sendo visitado por nenhuma das rotas pertencentes à solução s. A solução que resulta dessa operação é, portanto, s (r c + c ) (Figura 6). Figura 6. Operador de troca de pontos visitados Após a execução de uma operação, insere-se na lista tabu, para cada ponto envolvido na operacão, o número de iterações que esse ponto não pode participar de nenhuma outra operação. Esse número de iterações tabu é calculado aleatoriamente. Assim, nessa Busca Tabu, quando um ponto participa de uma operação deve permanecer na mesma rota por um número de iterações calculado aleatoriamente. Por exemplo se um cliente c é inserido em uma rota r em uma iteração i, tal ponto não poderá ser removido da rota r as próximas k iterações tabu, onde k é calculado aleatoriamente. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2173

O Critério de Aspiração é usado para determinar quando um movimento será executado, mesmo sendo classificado como proibido por estar na lista tabu. Na Busca Tabu proposta, se a solução formada a partir de um movimento proibido for melhor que a melhor solução encontrada até o momento, o movimento será realizado. A cada iteração da Busca Tabu é escolhido o melhor dentre os movimentos que não estão na lista tabu, ou seja, aquele movimento que irá implicar a maior melhoria no valor da função de avaliação apresentada em 3.1. Um movimento tabu é executado somente se acarretar uma melhoria no custo da melhor solução global já encontrada. Após a execução de cada operador, executase uma otimização da(s) rota(s) afetada(s) pelo referido operador. Para essa otimização, foi utilizado o algoritmo proposto por [Lin and Kernighan, 1973] para o Traveling Salesman Problem. Ao término desta fase, executa-se um procedimento que torna viável a solução que menos tenha violado a restrição do limite de tempo das rotas. Esse procedimento remove pontos das rotas até que a viabilidade seja alcançada. 3.2. Parte II - Busca Local Ao término da Parte I, tem-se uma solução viável para o TOP. Observa-se que, muitas vezes, as rotas dessa solução viável, terminam um pouco antes do tempo limite das rotas T max. Assim, a difernça δ r = T max final(r), onde final(r) representa a duração da rota r, geralmente nao é suficiente para a inclusão de um novo cliente na rota r. Diante dessa problemática, este trabalho propõe uma busca local visando a concentrar essas sobras de tempo (δ) de cada rota em uma única rota. Em outras palavras, o objetivo dessa busca local é minimizar o tempo final da menor entre as m rotas da solução s gerada pela Parte I. Esta busca local corresponde à fase 1 da Parte II do algoritmo.a intuição que se teve para a utilização dessa busca local foi que, ao término dessa busca, há uma maior probabilidade de ser possível efetuar a inserção de novos clientes na menor de todas as m rotas, implicando assim um aumento no lucro total coletado pela solução, que é o objetivo primordial do problema. A Figura 7 ilustra didaticamente essa idéia. Considere que os dois recipientes representam duas rotas de uma solução. Tais recipiente têm uma capacidade que corresponde à duração máxima das rotas. Cada bloco representa um cliente e o tamanho do bloco dá uma idéia de quanto de tempo o veículo vai gastar para visitar esse cliente. Os blocos que já estão em algum dos recipientes são os clientes que já estão alocados a alguma rota. Repare que, na primeira situação, o bloco de número 5 (cliente 5) não pode ser inserido nem no recipiente 1 (rota 1) nem no recipiente 2 (rota 2), sem ultrapassar a duração máxima das rotas. Todavia, na segunda situação, após a movimentação do bloco 4 do segundo para o primeiro recipiente, tornou-se possível a inserção do bloco 5 no segundo recipiente resultando assim em uma solução viável. Quando não há mais nenhuma possibilidade de troca ou de movimentação que venha a acarretar um decréscimo no tempo final da menor rota, tem início a segunda fase que consiste em executar os operadores de inserção ou de troca de pontos visitados semelhantes aos apresentados na Busca Tabu da Parte I do algoritmo. Quando não houver mais movimentos possíveis dessa natureza, é iniciada a terceira fase na qual efetua-se a remoção de clientes. Procura-se remover o(s) ponto(s) que menos contribue(em) para o lucro total da solução. Inicialmente, busca-se retirar um ponto da solução de modo a permitir que haja novas inserções. Caso não seja possível atingir o objetivo com apenas uma remoção, tenta- XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2174

Figura 7. Idéia da Parte II do algoritmo se remover grupos de dois pontos e assim sucessivamente. Os grupos de pontos candidatos a serem removidos são ordenados em ordem ascendente de lucro e os testes de remoção são efetuados nessa ordem. Após esta fase, deve ser possível retornar às fases 1 e 2, repetindo-se esse ciclo até que expire o tempo pré-definido para a execução do algoritmo. Durante a busca local, são armazenadas duas soluções: a melhor solução viável e a solução inviável que viola menos a restrição do tempo limite das rotas. Vale ressaltar que, tanto ao término da Parte I, como ao término da Parte II, executa-se um procedimento que torna viável a solução que menos tenha violado a restrição do limite de tempo das rotas. A melhor solução encontrada pelo algoritmo é, portanto, a que coleta mais lucro entre a melhor solução viável encontrada e a solução menos inviável depois de ser ajustada, através de remoções, para que se tornasse também viável. 4. Experimentos Computacionais Há seis conjuntos de instâncias, propostos por Chao et al.(1996). Essas instâncias foram utilizadas para possibilitar uma comparação da abordagem aqui apresentada com os melhores resultados da literatura, haja vista que, essas foram as instâncias utilizadas por Archetti et al. (2005). Os conjuntos de dados 1, 2, 3,4, 5, 6 e 7 têm, respectivamente, 32,21,33,100,66,64 e 102 clientes por instância de teste. Os experimentos computacionais foram realizados sobre o conjunto de instâncias proposto por Chao et al. (1996). Os resultados foram comparados com o s obtidos por Chao et al. (1996), de agora em diante referidos como CGH, com os resultados de T ang and Miller-Hooks (2005), doravante TMH e com os resultado de Archetti et al. (2005). Este último artigo apresenta quatro algoritmos que serão referenciados respectivamente por GEN TABU PENALTY, GEN TABU FEASIBLE, FAST VNS e SLOW VNS. O algoritmo SLOW VNS requer vinte minutos no pior caso. O GEN TABU PENALTY e o GEN TABU FEASIBLE executam em menos do que dez minutos, na maioria dos casos. Já o FAST VNS gasta mais do que dois minutos em apenas um caso. O algoritmo proposto nesse artigo será referenciado nas tabelas dos resultados como TS+LS. Vale destacar que o algoritmo TS + LS foi executado somente uma vez para cada instância, enquanto que no artigo de Archetti et al. (2005) foram realizados três testes para cada instância, sendo reportados o valor mínimo e o valor máximo obtido para o lucro total de cada solução. O código fonte desse algoritmo foi desenvolvido em C++, utilizando-se o Microsoft Visual Studio 2005 Professional Edition.A máquina de teste tem processador INTEL(R) CORE(TM)2 CPU T5500 1.66 ghz e 2GB de memória RAM e o sistema operacional da máquina é o Windows Vista. Foi utilizado o código fonte de Helsgaun (2000) que é uma implementação da heurística XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2175

Tabela 1. Avaliação da Busca Tabu e da Busca Local Instância TS TS+LS p1.2.i.txt 135 135 p1.2.l.txt 170 175 p1.3.l.txt 110 115 p1.3.m.txt 140 150 p1.3.p.txt 205 215 p1.4.o.txt 150 150 proposta por Lin and Kernighan (1973). A Tabela 8 lista os principais parâmetros do algoritmo, os pesos da função de avaliação, bem como os tempos de execução de cada parte do algoritmo. Pelo fato de haver elementos aleatórios no algoritmo, estão sendo reportados os melhores resultados obtidos, considerando-se que, para cada instância, foram executados três testes. 4.1. Resultados Nas tabelas 2 a 7, a coluna desvio(%) indica o desvio percentual da solução obtida por TS+ LS em comparação com a melhor solução conhecida.para cada conjunto de dados, mostra-se também o devio médio das instâncias testadas do referido conjunto.o desvio médio, considerando-se todas as intâncias de todos os conjuntos de dados testados foi de 10.86%. As tabelas 2, 3, 4, 5, 6 e 7 listam os resultados obtidos em um quadro comparativo com as principais heurísticas da literatura. Estão em negrito os resultados obtidos pela heurística TS + LS que empatam ou superam os resultados obtidos pelas outras heurísticas consideradas na comparação. Para o conjunto de dados 1, os resultados, em média, estão a 10.29% das soluções obtidas pelas melhores heurísticas e para uma instância, essa abordagem obteve resultado igual ao melhor já conhecido (Tabela 2).Para o conjunto de dados 2, em três instâncias foi obtido resultado igual ao melhor já conhecido e, para uma instância, TS + LS superou o melhor resultado encontrado na literatura (Tabela 3). Em média, as soluções de TS+LS ficaram a 5.91% dos melhores resultados conhecidos. Para o conjunto de dados 3, os resultados obtidos ficaram, em média, a uma distância de 13.75% dos valores obtidos pelos melhores algoritmos encontrados na literatura, não tendo conseguido igualar ou superar tais valores (Tabela 4). Considerando o conjunto de dados 4, em uma instância TS + LS superou o melhor resultado encontrado na literatura (Tabela 5). O desvio médio em relação aos melhores resultados, para esse conjunto, foi de 11.29%. Nos conjuntos de dados 5, 6 e 7, TS + LS teve um desvio de 16.31% 13.24% e 5.26% respectivamente, em relação às demais heurísticas, não chegando a igualar os melhores resultados conhecidos(tabelas 6, 7). A Tabela 1 ilustra o resultado obtido pela Busca Tabu da Parte I e mostra a contribuição da busca local da Parte II que, eventualmente, permite a inserção de mais clientes à solução. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2176

Table 2. Listagem dos resultados - Conjunto de dados 1 Instância TS+LS GEN TABU PENALTY GEN TABU FEASIBLE FAST VNS SLOW VNS TMH CGW Desvio (%) MIN MAX MIN MAX MIN MAX MIN MAX p1.2.i.txt 135 135 135 135 135 135 135 135 135 135 130 0.00 p1.2.l.txt 175 190 195 195 195 195 195 195 195 190 190 10.26 p1.3.l.txt 115 155 155 155 155 155 155 155 155 155 155 25.81 p1.3.m.txt 150 175 175 175 175 175 175 175 175 170 175 14.29 p1.3.p.txt 215 220 220 220 220 220 220 220 220 220 215 2.27 p1.4.o.txt 150 165 165 165 165 165 165 165 165 165 160 9.09 Desvio Médio 10.29 Table 3. Listagem dos resultados - Conjunto de dados 2 Instância TS+LS GEN TABU PENALTY GEN TABU FEASIBLE FAST VNS SLOW VNS TMH CGW Desvio (%) MIN MAX MIN MAX MIN MAX MIN MAX p2.2.j.txt 260 260 260 260 260 260 260 260 260 260 260 0.00 p2.2.k.txt 185 275 275 275 275 275 275 275 275 270 270 32.73 p2.3.g.txt 135 145 145 145 145 145 145 145 145 140 140 6.90 p2.3.k.txt 200 200 200 200 200 200 200 200 200 200 200 0.00 p2.4.h.txt 120 120 120 120 120 120 120 120 120 120 120 0.00 p2.4.j.txt 125 120 120 120 120 120 120 120 120 120 120-4.17 Desvio Médio 5.91 XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2177

Table 4. Listagem dos resultados - Conjunto de dados 3 Instância TS+LS GEN TABU PENALTY GEN TABU FEASIBLE FAST VNS SLOW VNS TMH CGW Desvio (%) MIN MAX MIN MAX MIN MAX MIN MAX p3.2.c.txt 110 180 180 180 180 180 180 180 180 180 170 38.89 p3.2.j.txt 470 510 510 510 510 510 510 510 510 490 470 7.84 p3.3.e.txt 190 200 200 200 200 200 200 200 200 200 200 5.00 p3.3.g.txt 240 270 270 270 270 270 270 270 270 270 270 11.11 p3.3.h.txt 270 300 300 300 300 300 300 300 300 300 300 10.00 p3.4.j.txt 280 310 310 310 310 310 310 310 310 310 300 9.68 Desvio Médio 13.75 Table 5. Listagem dos resultados - Conjunto de dados 4 Instância TS+LS GEN TABU PENALTY GEN TABU FEASIBLE FAST VNS SLOW VNS TMH CGW Desvio (%) MIN MAX MIN MAX MIN MAX MIN MAX p4.2.a.txt 209 206 206 206 206 206 206 206 206 202 194-1.46 p4.2.c.txt 395 452 452 452 452 452 452 452 452 438 440 12.61 p4.2.j.txt 861 933 946 937 962 954 962 962 962 914 899 10.50 p4.3.j.txt 822 855 858 844 858 855 861 857 861 860 829 4.53 p4.3.m.txt 976 1020 1034 1037 1049 1033 1056 1053 1062 1005 956 8.10 p4.3.p.txt 755 1164 1207 1200 1221 1184 1208 1197 1222 1218 1115 38.22 p4.4.i.txt 614 654 655 656 657 653 657 657 657 627 641 6.54 Desvio Médio 11.29 XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2178

Table 6. Listagem dos resultados - Conjunto de dados 5 Instância TS+LS GEN TABU PENALTY GEN TABU FEASIBLE FAST VNS SLOW VNS TMH CGW Desvio (%) MIN MAX MIN MAX MIN MAX MIN MAX p5.2.j.txt 555 580 580 580 580 580 580 580 580 560 580 4.31 p5.2.l.txt 705 800 800 800 800 800 800 800 800 770 790 11.88 p5.3.i.txt 265 335 335 335 335 335 335 335 335 335 335 20.90 p5.3.l.txt 415 595 595 595 595 585 595 595 595 575 595 30.25 p5.4.p.txt 635 765 765 765 765 760 765 765 765 760 750 16.99 p5.4.r.txt 795 955 960 960 960 960 960 960 960 960 950 17.19 p5.4.s.txt 900 1025 1025 1030 1030 1025 1030 1030 1030 1000 1020 12.62 Desvio Médio 16.31 Table 7. Listagem dos resultados - Conjuntos de dados 6 e 7 Instância TS+LS GEN TABU PENALTY GEN TABU FEASIBLE FAST VNS SLOW VNS TMH CGW Desvio (%) MIN MAX MIN MAX MIN MAX MIN MAX p6.2.j.txt 930 936 948 948 948 948 948 948 948 936 942 1.90 p6.2.l.txt 978 1092 1098 1104 1110 1116 1116 1116 1116 1116 1104 12.37 p6.3.k.txt 774 894 894 894 894 894 894 894 894 876 894 13.42 p6.4.k.txt 408 528 528 528 528 528 528 528 528 522 546 25.27 Desvio Médio 13.24 p7.2.j.txt 644 641 643 644 644 636 643 641 644 638 633 0.00 p7.2.k.txt 692 702 702 704 705 695 704 704 705 702 693 1.84 p7.3.j.txt 536 557 564 560 564 556 562 562 564 563 539 4.96 p7.3.l.txt 577 678 683 673 679 666 681 682 683 681 676 15.52 p7.3.n.txt 775 798 810 805 811 808 814 813 813 789 813 4.79 p7.3.o.txt 835 857 873 862 865 859 871 874 874 874 848 4.46 Desvio Médio 5.26 XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2179

Table 8. Listagem dos parâmetros do algoritmo Parâmetro Valor [w l, w d ] [200,1] w i começa de 0 e aumenta em uma unidade a cada k iterações k 100 Tempo de execução - Parte I 8 min Tempo de execução - Parte II 8 min Máxima Inviabilidade 5% de T max 5. Conclusão A abordagem heurística adotada, em média, apresentou um devio de 10.86% coparada com as melhores heurísticas existentes na literatura para o Team Orienteering Problem. Foi observado que, em geral, as rotas visitam uma quantidade considerável de clientes. Isso sugere a importância de, durante as iterações do algoritmo, garantir uma boa qualidade das rotas. Caso contrário, o algoritmo poderia, por exemplo, deixar de inserir mais clientes a uma rota devido à restrição do tempo limite das rotas, quando, na verdade, a inserção seria possível se a rota estivesse otimizada. Por esse motivo, foi utilizado o algoritmo proposto por Lin and Kern ighan (1973) para manter a qualidade das rotas. Como trabalhos futuros, pretende-se desenvolver outras abordagens heurísticas e uma geracão de colunas para o TOP. Pretende-se também aplicar essa abordagem a outras variações de VRP s e de TSP s com prioridade de visita dos pontos. 6. Referências Archetti, C., Hertz, A., and Speranza, M. G. (2005). problem. Journal of Heuristics, 13:49 76. Metaheuristics for the team orienteering Butt, S. E. and Cavalier, T. M. (1994). A heuristic for the multiple tour maximum collection problem. Computers and Operations Research, 21:101 111. Chao, I. M., Golden, B., and Wasil, E. A. (1996). The team orienteering problem. European Journal of Operational Research, 88:474 474. Fischetti, M., Salazar, J., and Toth, P. (1998). Solving orienteering problem through branch-and-cut. INFORMS Journal on Computing, 10:133 148. Helsgaun, K. (2000). An effective implementation of the lin-kernighan traveling salesman heuristic. European Journal of Operational Research, 126:106 130. Lin, S. and Kernighan, B. (1973). An effective heuristic algorithm for the traveling salesman problem. Operations Research, 21:498 516. Tang, H. and Miller-Hooks, E. (2005). A tabu search heuristic for the team orienteering problem. Computers and Operations Research, 32:1379 1407. Vansteenwegen, P., Souffriou, W., Vanden Berghe, G., and Van Oudheusden, D. (2009). A guided local search metaheuristic for the team orienteering problem. European Journal of Operational Research, 196(1):118 127. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2180