Escolar Documentos
Profissional Documentos
Cultura Documentos
RESUMO
Este trabalho apresenta uma comparao de trs algoritmos que combinam
caractersticas de algoritmos memticos, em conjunto com procedimentos de busca local para
tratar o Problema do Caixeiro Viajante com Seleo de Hotis PCVSH. O PCVSH uma
generalizao do clssico Problema do Caixeiro Viajante PCV, que um problema de
otimizao muito explorado na literatura. No PVC, o objetivo determinar um ciclo
hamiltoniano de custo mnimo em um grafo onde os vrtices representam os clientes a serem
visitados. No PCVSH, considera-se um limite mximo para a durao da viagem, o que obriga a
diviso dos clientes em dias de visitao. Desta forma, hotis devem ser adicionados no percurso
entre dois dias consecutivos. Os resultados obtidos com as heursticas propostas foram
comparados com os resultados de um Algoritmo Memtico com Busca Tabu, proposto na
literatura. Nos experimentos computacionais, possvel verificar a competitividade das
heursticas propostas neste trabalho.
PALAVRAS CHAVE. Problema do Caixeiro Viajante com Seleo de Hotis, Heursticas,
Algoritmo Memtico.
rea principal (Metaheursticas, Otimizao Combinatria, Logstica e Transportes)
ABSTRACT
This work presents a comparison of three algorithms that combines characteristics of
memetic algorithms with local search procedures to process the Travelling Salesperson Problem
with Hotel Selection TSPHS. The TSPHS is a generalization of classic Travelling Salesperson
Problem TSP, which is an optimization problem very studied. The TSPs objective is to
determine a hamiltonian cycle of minimum costs in a graph where vertices represents the clients
to be visited. In the TSPHS, a maximum limit is considered to duration trip that forces a division
of clients in visiting days. This way, hotels should be added on route between two consecutive
days. The results obtained with the proposed heuristics were compared with results of a Memetic
Algorithm with Tabu Search proposed on literature. In the computational experiments is possible
verify the competitiveness of proposed heuristics in this work.
KEYWORDS. Travelling Salesperson Problem with Hotel Selection. Heuristics. Memetic
Algorithm.
Main area (Metaheuristics, Combinatorial Optimization, Logistics and Transports)
1. Introduo
O problema do caixeiro viajante (PCV) sem dvida um dos problemas melhor
estudados em toda a matemtica computacional (VANSTEENWEGEN et al., 2012). Pode ser
definido como um problema de fcil compreenso e descrio, que possui uma grande
aplicabilidade no meio dos transportes.
No PCV, o caixeiro inicia sua jornada de trabalho em um ponto de partida, visita um
grupo de clientes pr-definidos e volta para o ponto de onde partiu. Em situaes onde h um
limite de tempo imposto para a jornada de trabalho, podem ocorrer situaes em que no
possvel atender todos os clientes em apenas um dia de trabalho. Torna-se necessrio, ao final de
uma jornada, procurar um hotel para aguardar o incio de uma nova jornada, de onde ser
possvel continuar o atendimento aos clientes no dia seguinte. Assim, no final de cada jornada,
uma deciso deve ser tomada: voltar ao ponto de partida ou ficar em um hotel que esteja
localizado em sua rota de atendimento aos clientes. Este problema representa uma nova variante
para o PCV e pode ser definido como Problema do Caixeiro Viajante com Seleo de Hotis
(PCVSH)(VANSTEENWEGEN et al., 2012).
No Brasil, o problema pode ser aplicado ao transporte rodovirio, que atualmente
estabelece um tempo mximo de viagem durante um dia de trabalho. Os autores em
(VANSTEENWEGEN et al., 2012) introduziram na literatura o PCVSH e apresentaram algumas
aplicaes interessantes para o problema, sendo estas relacionadas a entrega de jornais e
transporte de combustvel.
Os autores apresentaram uma formulao matemtica para o problema e uma heurstica
simples. A heurstica composta por dois procedimentos capazes de construir uma soluo
inicial e por um procedimento que busca a melhora da soluo por meio da aplicao de diversos
operadores de busca pelas vizinhanas. Dentre os operadores utilizados, existem operadores que
foram projetados especificamente para o PCVSH e operadores de vizinhana que so comumente
utilizados na literatura para o PCV. No trabalho, foi comparada a performance da heurstica com
o modelo matemtico, utilizando grupos de instncias criadas, a partir de instncias do PCV,
especialmente para o PCVSH. A heurstica apresentou solues com qualidade superior s
obtidas pelo modelo matemtico, demandando menor tempo computacional.
Em Castro et al., (2012) os autores apresentaram um procedimento para soluo do
PCVSH baseado numa heurstica de duas fases, que consiste em utilizar a heurstica Greedy
Randomized Adaptative Search Procedure (GRASP) combinada com operadores de vizinhana
para definir uma soluo para o PCVSH, e posteriormente, aplicar uma heurstica Variable
Neighbourhood Descent (VND) para melhorar a soluo produzida pelo GRASP. Foi constatado
aumento no desempenho em relao ao trabalho de Vansteenwegen et al., (2011) para maioria
das instncias conhecidas.
No trabalho de Castro et al., (2013) foi apresentada uma heurstica que consiste em um
Algoritmo Memtico com uma Busca Tabu (BT) embutida. Neste algoritmo, a populao inicial
definida utilizando as heursticas de Lin Kernighan (1973) e insero sequencial. Dois
cromossomos da populao so escolhidos por meio de torneio binrio para cruzamento, gerando
duas novas solues. No cruzamento dos cromossomos escolhidos, considera-se apenas a troca
de hotis. Para otimizar as solues geradas, utilizado o procedimento de busca tabu que
contm operadores de vizinhana utilizados em Castro et al., (2012). Para instncias de tamanho
pequeno onde a soluo tima conhecida, a heurstica capaz de encontrar a soluo tima e
para as instncias restantes encontra-se melhores resultados que os contidos na literatura.
Neste trabalho, prope-se a comparao dos resultados alcanados pela
reimplementao do trabalho de Castro et al., (2013) com os resultados alcanados pelas
heursticas propostas, as quais combinam caractersticas de Algoritmos Memticos (AM) com as
metaheursticas BT e VND.
A organizao estrutural do artigo feita da seguinte forma: na seo 2 apresentada
uma definio formal do problema abordado e um modelo de programao linear inteira para o
PCVSH, a seo 3 descreve as heursticas propostas, a seo 4 detalha os experimentos
problema. Dado
uma varivel binria que recebe o valor 1 se, em uma viagem d, uma visita a
um cliente ou hotel i seguido pela visita a um cliente ou hotel j ou valor 0, caso contrrio. A
varivel binria recebe o valor 1 se na viagem d no mnimo um cliente ou hotel visitado ou
0, caso contrrio. Assim, receber o valor zero se nenhuma viagem for necessria no dia d. A
constante D representa o nmero mximo de viagens contidas na soluo. Com o intuito de
priorizar solues que apresentam um menor nmero de viagens, uma constante M com valor
suficientemente grande, que multiplica o nmero de viagens, foi inserida na funo objetivo.
min
=1 + =1((,) )
. .
=1 = 1,
= , , = 1, ,
\{}
= , = 1, ,
\{} = , = 1, ,
(,)( + )
, = 1, ,
1
\{0} 0 = 1
\{0} 0
+1 , = 1, , 1
+1
+
+ +1 , , = 1, , 1
+1
1 +1 , , = 1, , 1
, (, ) , = 1, ,
+1 , = 1, , 1
{}
|| 1 , , 2 || || 1, = 1, ,
{0,1}, (, ) , = 1, ,
{0,1}, = 1, ,
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(5) garantem que cada viagem inicia e termina em um dos H hotis disponveis. A restrio (6)
impe um limite superior no tamanho de cada viagem. As restries (7) e (8) definem que a rota
deve iniciar e terminar no hotel 0. Restries (9) e (10) indicam que se uma viagem termina em
um dado hotel, ento a prxima viagem deve, obrigatoriamente, iniciar neste hotel. As restries
(11) marcam uma viagem como sendo utilizada se, e somente se, h no mnimo a visita a um
cliente ou a um hotel naquele dia. Restries (12) garantem que as viagens sero executadas em
dias consecutivos, iniciando no dia 1. As restries (13) que envolvem subconjuntos do grupo
C de clientes, definem a clssica restrio de eliminao de ciclos aplicada a cada viagem. Como
uma soluo vivel do PCVSH pode conter ciclos iniciando e terminando no mesmo hotel, os
subgrupos na restrio de eliminao de rotas internas (13) envolve apenas clientes. Por fim, as
restries (14) e (15) indicam o domnio das variveis.
O modelo apresentado capaz de encontrar resultados timos para instncias com
nmero limitado a no mximo 30 clientes. A medida que o nmero de clientes aumenta, torna-se
mais difcil para o mtodo exato encontrar solues relevantes em tempo computacional
aceitvel. Heursticas trabalham muito bem para pequenas instncias e so eficientes
computacionalmente para instncias com maior nmero de clientes. Assim, o foco deste trabalho,
a comparao de abordagens heursticas para o PCVSH.
3. Heursticas Propostas
Como o problema tratado neste trabalho uma generalizao do PCV, que
reconhecidamente um problema classificado como NP-Difcil (GAREY E JOHNSON, 1979),
logo o PCVSH tambm classificado como NP-Difcil (VANSTEENWEGEN et al., 2012).
Neste trabalho prope-se duas abordagens que so compostas pela ideia geral de um
Algoritmo Memtico (MERZ, 2002; AMORIN et al., 2012) e das metaheursticas TB (GLOVER,
1989; GLOVER, 1990) e VND (HANSEN E MLADENOVIC, 2003). O AM um algoritmo
evolucionrio que, a cada gerao, procura melhorar a populao inicial por meio de cruzamentos
e aplicao de operadores de vizinhana, convergindo a populao para melhores solues. A BT
uma metaheurstica que utiliza estruturas de vizinhana de forma adaptativa para explorar um
espao de busca e o VND uma metaheurstica baseada em sucessivas execues de buscas
locais utilizando diferentes estruturas de vizinhanas.
Nas heursticas propostas, denominadas AM_BT e AM_RVND utilizam-se
respectivamente: a estrutura de BT utilizada em Castro et al., (2013) e uma variante do VND
similar a utilizada no trabalho de Campos et al., (2013), estratgia que vem apresentando bons
resultados para problemas de roteamento (PENNA et al., 2013; SUBRAMANIAN et al., 2010).
Na variante RVND (Random Variable Neighborhood Descent) a ordem de execuo das
estruturas de vizinhana que sero aplicadas soluo definida de forma aleatria a cada
iterao do algoritmo.
O pseudocdigo baseado em Amorin et. al., (2012) apresentado no Algoritmo 1. O
algoritmo recebe como entrada quatro parmetros: tamanho da populao (p), o nmero mximo
de iteraes sem melhora (maxIsm), o percentual de mutao (mut) e a probabilidade de busca
local (bl). A diferena entre as abordagens est no procedimento de busca local que aplicado.
3.1. Operaes do Algoritmo Memtico
Um detalhamento do funcionamento das operaes observadas no Algoritmo 1
apresentado nesta seo.
3.1.1. Mtodos Construtivos
Para gerar uma soluo para o Problema do Caixeiro Viajante com Seleo de Hotis
(PCVSH) so utilizados dois mtodos distintos, chamados 1 e 2 .
O primeiro mtodo construtivo 1 define uma soluo vivel para o PCVSH com base
em uma rota definida para o PCV, desconsiderando-se os hotis. Nesta rota o hotel inicial e final
so fixados (0 ) e todos os clientes devem obrigatoriamente ser visitados, sem levar em
considerao o tempo limite de uma viagem. A rota PCV encontrada por meio da aplicao da
heurstica de Lin e Kernighan (1973) (LKH), da forma como foi implementada em Applegate et
al., (2006). A rota gerada definida por R = <0 , 1 ,..., >, para maioria das instncias invivel
para o PCVSH (0 representa o hotel inicial e final e 1 ,..., representa os n clientes contidos
rota).
Algoritmo 1: Algoritmo_Memetico(p, maxIsm, mut, bl)
P populacao inicial;
1:
Aplicar 2-opt em |P| * 0.2;
2:
ism 0;
3:
Enquanto (ism < maxIsm), faa
4:
P elite(P);
5:
Seleo: 1 e 2 de P;
6:
P cruzamento: 1 2 ;
7:
Aplicar mutao;
8:
Melhorar soluo com RVND ou BT;
9:
Preencher o restante da populacao P;
10:
P P;
11:
12:
Fim_Enquanto
Para os casos em que a rota gerada PCV no representa uma soluo do PCVSH, ou
seja, cuja durao ultrapassa o limite L, um procedimento de particionamento da rota em viagens
viveis, ou seja, onde L seja satisfeito, utilizado. Este procedimento utiliza uma adaptao do
algoritmo de Dijkstra (1959), que completamente detalhado em Castro et al., (2013).
O segundo mtodo construtivo 2 define uma soluo para o PCV utilizando a
heurstica de insero mais barata (TALBI, 2009). Na heurstica de insero mais barata, a rota
construda de forma iterativa. Inicialmente, a rota composta pelo hotel inicial e final (0 ) e por
dois clientes escolhidos de forma aleatria dentre os |C| clientes. O restante dos |C| - 2 clientes
so inseridos em ordem aleatria na posio em que seja menor o acrscimo no tamanho total da
rota, considerando todas as possibilidades de insero na rota para cada cliente.
Aps a insero de todos os clientes rota, ainda sem considerar o limite L, aplicado
o operador de vizinhana 3-opt (LIN, 1965) com o objetivo de determinar uma sequncia de
clientes com menor tamanho total. De forma semelhante ao primeiro mtodo construtivo, a rota
PCV gerada pode ou no representar uma soluo vivel para o PCVSH. O procedimento de
particionamento apresentado no primeiro mtodo baseado no algoritmo de Dijkstra ento
aplicado rota gerada, criando uma rota que atende restrio de tamanho imposta a cada
viagem.
3.1.2. Gerao da Populao Inicial
Para a gerao da populao inicial do AM, linha 1 do Algoritmo 1, so utilizados os
dois mtodos construtivos descritos na seo anterior. A cada cromossomo pi da populao P est
associado uma rota R.
O primeiro membro da populao gerado utilizando o mtodo 1 . Este membro
corresponde a uma soluo para o PCVSH e garante que todas as viagens estejam dentro do
limite de tamanho mximo definido pela instncia. A soluo gerada considerada de boa
qualidade e define um bom limite superior para o nmero de viagens (CASTRO et al., 2013).
A rota gerada passa a fazer parte da populao P e o restante da populao t 1 deve
ser gerada. Para gerar o restante da populao o mtodo 1 no pode ser utilizado, por ser um
mtodo determinstico. Logo, os cromossomos restantes devem ser gerados utilizando o mtodo
2 . Aps aplicar o 2 , verificado se a rota gerada contm um nmero maior de viagens em
relao a rota gerada por 1 . Caso o nmero de viagens seja maior, os clientes pertencentes s
rotas excedentes devem ser realocados para as viagens onde seu custo de insero gere o menor
impacto no tamanho total da rota, ou seja, onde a modificao cause menor inviabilidade.
Finalmente, a 20% da populao P aplicado o procedimento de busca local 2-opt (TALBI,
2009), linha 2 do Algoritmo 1, com o intuito de melhorar as solues. Para compor a nova
populao P que ser gerada, a populao P ordenada considerando o menor nmero de
viagens e tamanho total da rota. A populao ento dividida em trs classes: Classe A ou elite
(20% das melhores solues), Classe B ou intermediria (65%) e Classe C (15% das solues
com pior qualidade).
A cada iterao do AM, linhas 4 a 12 do Algoritmo 1, uma nova populao gerada
(P). A classe elite da populao atual P clonada na nova populao P (linha 5). A classe C
reconstruda utilizando-se o mtodo construtivo 2 (linha 10). A classe intermediria obtida a
partir da seleo, cruzamento, mutao e melhoramento, linhas 6 a 9, como descrito nas prximas
sees.
3.1.3. Seleo e cruzamento
Para compor a populao P, novos membros (65%) sero gerados por meio de
cruzamentos de membros da populao P. Para a escolha dos membros que devem participar do
cruzamento, linha 6 do Algoritmo 1, realizada a seleo aleatria de um membro da elite de P e
outro membro que est na Classe B ou C de P.
O cruzamento utilizado, linha 7 Algoritmo 1, realiza a troca considerando apenas os
clientes, sendo os hotis intermedirios retirados das rotas antes da operao. O operador de
cruzamento de dois pontos (AMORIN et al., 2012) aplicado aos membros selecionados
produzindo novas solues, 1 e 2 , denominadas proles. Novamente, o procedimento de
particionamento da rota PCV aplicado s proles 1 e 2 , tornando-as solues para o PCVSH.
Aps realizar o cruzamento e particionamento, as novas solues so inseridas em P.
3.1.4. Mutao da Soluo
Para evitar que a populao fique homognea, um operador de mutao deve ser
aplicado, linha 8 do Algoritmo 1, para permitir que outras solues tambm possam ser
exploradas (TALBI, 2009). Um mtodo de mutao foi desenvolvido com base nos movimentos
da vizinhana 4-opt. Este mtodo define aleatoriamente 4 pontos na rota onde sero removidas as
arestas e testa o tamanho total da rota para cada forma possvel de reconectar os pontos de acordo
com a estratgia 4-opt. A forma de reconectar os pontos que apresentar o menor tamanho total
aplicada a rota. A quantidade de membros de P que sero sujeitos a mutao definida
considerando o valor mnimo entre (0.2 * |p|) e (mut * |ism|). Para evitar que a melhor soluo de
P seja alterada, esta no pode ser escolhida para sofrer mutao.
3.1.5. Melhoramento da Populao
Aps a mutao, um procedimento de melhoria (RVND para AM_RVND ou BT para
AM_BT), linha 9 do Algoritmo 1, aplicado a uma porcentagem (|p|*bl) dos membros de P,
excluindo os membros da elite. O procedimento de Busca Tabu (BT) utilizado descrito em
Castro et al., (2013) e o procedimento RVND detalhado na seo 3.2.
Aps o procedimento de melhora, a populao P ainda no conter os p membros. Para
preencher a populao P, o mtodo de insero mais barata (descrito na Seo 3.1.1) utilizado.
Antes de iniciar uma nova iterao do algoritmo, a qualidade da melhor soluo de P
comparado com a qualidade da melhor soluo de P, caso sejam diferentes a varivel ism ser
zerada, caso contrrio, ser incrementada. Por fim, os membros de P so substitudos pelos
membros de P e uma nova iterao do algoritmo realizada.
3.2. VND com Ordenao Aleatria das Vizinhanas (RVND)
No VND, a ordem de aplicao das estruturas de vizinhana definida de acordo com
algum critrio de ordenao. Ao explorar a primeira estrutura de vizinhana contida na ordem
pr-definida, se no houver melhora da soluo, ento a prxima vizinhana deve ser explorada.
Caso contrrio, deve-se voltar a primeira estrutura de vizinhana, executando novamente o
procedimento, que somente ser finalizado quando nenhuma das estrutura de vizinhana for
capaz de melhorar a soluo corrente. Nesta abordagem (RVND), a ordem de utilizao das
estruturas definida de forma aleatria a cada vez que o procedimento requisitado.
10 e 15 clientes. Para este nmero de clientes as heursticas obtiveram uma melhora percentual
em mdia igual a 0,3%, quando comparadas com o AM+BTLit.
Tabela 1: Resultados computacionais para as instncias do SET_1.
Instncia
c101
r101
rc101
c201
r201
rc201
pr01
pr02
pr03
pr04
pr05
pr06
pr07
pr08
pr09
pr10
Mdia
AM+BTLit
Tam
T (s)
9593,3
20,6
1742,4
53,4
1684,1
20,7
9563,7
18,1
1651,0
18,0
1651,5
16,9
2,2
1412,2
2571,1
17,0
3456,2
53,2
4288,6 129,1
5077,9 290,8
6056,0 489,2
2082,8
7,3
3414,9
52,4
4488,4 177,8
6035,4 511,1
117,4
V
9
8
8
3
2
2
2
3
4
5
6
7
3
4
5
7
V
9
9
8
3
2
2
2
3
4
5
6
7
3
4
5
7
AM_BT
Tam
T (s) GAP (%)
9587,9
26,3
-0,06
87,3
-0,49
1733,9
37,6
-0,50
1675,6
22,7
-0,03
9560,4
43,8
-0,62
1640,8
23,4
-0,46
1643,9
2,1
0,00
1412,2
26,9
-1,08
2543,3
3435,5
74,8
-0,60
-1,46
4225,8 189,0
-1,55
4999,4 727,2
-0,97
5997,2 969,0
8,1
-0,60
2070,3
73,3
-0,96
3382,2
-1,02
4442,5 631,5
-1,42
5949,6 1104,5
253,0
-0,74
V
9
8
8
3
2
2
2
3
4
5
6
7
3
4
5
7
AM_RVND
Tam T(s) GAP(%)
6,3
-0,06
9587,7
1734,2
8,0
-0,47
1679,2
3,4
-0,29
9561,5
8,8
-0,02
1641,2
8,0
-0,59
1645,1
5,7
-0,39
0,8
0,00
1412,2
2551,7
4,4
-0,75
-0,68
3432,8 13,3
4228,1 49,2
-1,41
5000,6 109,4
-1,52
6032,9 132,2
-0,38
2,3
-0,60
2070,3
3385,6 14,5
-0,86
4462,9 26,6
-0,57
5994,3 140,0
-0,68
33,3
-0,58
V
1
2
1
1
1
1
1
1
1
1
1
1
1
AM+BTLit
Tam T (s)
956,8
0,0
0,0
272,8
0,0
237,5
0,0
426,6
0,0
661,9
0,0
553,3
0,0
476,4
0,0
528,9
604,1
0,0
688,9
0,0
0,0
573,4
0,0
645,5
0,0
461,5
0,0
V
1
2
1
1
1
1
1
1
1
1
1
1
1
Tam
955,1
272,8
237,5
426,6
661,9
553,3
476,4
528,9
597,4
670,2
573,4
645,5
461,5
AM_BT
T (s)
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
GAP (%)
-0,18
0,00
0,00
0,00
0,00
0,00
0,00
0,00
-1,11
-2,71
0,00
0,00
0,00
-0,31
V
1
2
1
1
1
1
1
1
1
1
1
1
1
AM_RVND
Tam T (s) GAP (%)
0,0
-0,18
955,1
0,0
0,00
272,8
0,0
0,00
237,5
0,0
0,00
426,6
0,0
0,00
661,9
0,0
0,00
553,3
0,0
0,00
476,4
0,0
0,00
528,9
0,0
-1,11
597,4
0,0
-2,71
670,2
0,0
0,00
573,4
0,0
0,00
645,5
0,0
0,00
461,5
0,0
-0,31
V
2
2
2
1
1
1
1
1
1
1
1
1
1
AM+BTLit
Tam T (s)
0,1
1452,2
0,1
379,8
0,1
303,2
0,0
590,4
0,0
745,6
0,0
632,9
693,2
0,0
623,1
0,0
0,0
685,2
800,4
0,0
715,7
0,0
0,0
771,7
0,0
611,9
0,0
V
Tam
2 1452,2
2 379,8
2 303,2
1 590,4
1 745,6
1 632,9
1 683,4
1 621,2
1 685,2
1 795,3
1 707,2
1 771,7
1 611,9
AM_BT
T (s) GAP (%)
0,1
0,00
0,1
0,00
0,1
0,00
0,0
0,00
0,0
0,00
0,0
0,00
0,0
-1,41
0,0
-0,30
0,0
0,00
0,0
-0,64
0,0
-1,19
0,0
0,00
0,0
0,00
0,0
-0,27
AM_RVND
V
Tam T (s)
GAP (%)
2 1452,2
0,0
0,00
2 379,8
0,0
0,00
2 303,2
0,0
0,00
1 590,4
0,0
0,00
1 745,6
0,0
0,00
1 632,9
0,0
0,00
1 683,4
0,0
-1,41
1 621,2
0,0
-0,30
1 685,2
0,0
0,00
1 795,3
0,0
-0,64
1 707,2
0,0
-1,19
1 771,7
0,0
0,00
1 611,9
0,0
0,00
0,0
-0,27
V
3
4
4
1
2
1
2
1
2
2
2
2
1
AM+BTLit
Tam
T (s)
2868,8
0,6
663,3
0,6
683,8
0,8
974,6
0,0
1083,1
0,7
972,9
0,0
0,6
1091,6
936,6
0,0
1065,3
0,6
1130,4
0,7
1006,2
0,7
1091,4
0,6
918,9
0,0
0,5
V
3
3
4
1
2
1
2
1
2
2
2
2
1
AM_BT
Tam T (s) GAP (%)
1,0
-0,08
2866,5
656,1
2,2
-1,09
684,4
0,6
0,09
0,4
-1,01
964,8
0,5
-0,02
1082,9
0,4
-2,10
952,5
0,4
0,00
1091,6
0,4
-1,27
924,7
0,5
-0,20
1063,2
0,4
0,00
1130,4
0,3
0,00
1006,2
0,5
0,00
1091,4
0,4
0,00
918,9
0,6
-0,44
V
3
3
4
1
2
1
2
1
2
2
2
2
1
AM_RVND
Tam T (s)
GAP (%)
2869,4 0,1
0,02
-1,22
655,2 0,1
-3,89
657,2 0,1
-1,01
964,8 0,0
-0,02
1082,9 0,1
-2,10
952,5 0,1
0,00
1091,6 0,0
-1,27
924,7 0,0
1065,3 0,1
0,00
0,00
1130,4 0,1
0,00
1006,2 0,0
0,00
1091,4 0,0
0,00
918,9 0,0
0,1
-0,73
V
4
4
4
2
2
2
2
2
2
2
2
2
2
AM+BTLit
Tam
T (s)
3872,3
1,4
874,2
1,6
851,1
1,3
1165,1
1,3
1,3
1336,9
1,3
1303,4
1,4
1259,5
1,5
1200,7
1,5
1242,9
1,3
1407,2
1,6
1222,2
1,3
1284,4
1,4
1200,4
1,4
V
4
4
4
2
2
2
2
2
2
2
2
2
2
AM_BT
Tam T (s) GAP (%)
1,1
-0,16
3866,1
878,5
2,2
0,49
1,0
-0,02
850,9
1,1
-0,39
1160,5
1,0
0,00
1336,9
1,0
0,00
1303,4
1,1
0,00
1259,5
1,5
0,00
1200,7
1,0
0,00
1242,9
1,1
0,00
1407,2
1,3
0,00
1222,2
1,8
0,00
1284,4
2,6
0,00
1200,4
1,4
-0,01
V
4
4
4
2
2
2
2
2
2
2
2
2
2
AM_RVND
Tam T (s) GAP (%)
3868,0 0,3
-0,11
-0,23
872,2 0,3
851,2 0,1
0,01
-0,39
1160,5 0,1
0,00
1336,9 0,1
0,00
1303,4 0,1
0,00
1259,5 0,1
0,00
1200,7 0,1
0,00
1242,9 0,1
0,00
1407,2 0,1
0,00
1222,2 0,1
0,00
1284,4 0,2
0,00
1200,4 0,1
0,1
-0,06
AM+BTLit
V
Tam
T (s)
5
454
3,4
4
3,9
7658
4
676
15,1
5
578
10,4
4 108272
10,0
4 21319
28,2
5 21453
18,6
5 21732
19,6
5
8314
19,6
5
670
20,4
5 14650
25,0
5
6931
67,5
5
4097
188,1
5
2785
353,9
5 54855 1606,6
5 278458 43874,5
2891,6
AM_BT
V
Tam
T (s) GAP (%)
4
3,4
-4,34
435
4
3,2
0,00
7658
4
7,6
-0,16
675
5
31,8
-3,91
555
4 108159
10,0
-0,10
4 21307
16,3
-0,05
4 20749
26,6
-3,28
4 21325
32,2
-1,87
4
30,0
-4,86
7910
5
44,6
-2,25
655
4 14380
21,7
-1,84
5
6669
76,1
-3,77
5
425,7
-2,59
3991
5
2659
1058,8
-4,52
5 52929
4704,0
-3,51
5 270958 117781,1
-2,69
7767,1
-2,49
AM_RVND
V
Tam
T (s)
4
0,6
435
4
0,3
7658
4
0,7
675
5
561
1,6
4 108157
1,2
4 21319
3,7
4 20749
4,5
4 21396
2,9
4
4,2
7910
5
656
7,9
4 14380
2,5
5
12,5
6552
5
4010
73,6
5
194,5
2635
5 52664
506,9
5 267165 17435,3
1140,8
GAP (%)
-4,34
0,00
-0,16
-2,96
-0,11
0,00
-3,28
-1,55
-4,86
-2,06
-1,84
-5,47
-2,14
-5,39
-3,99
-4,06
-2,6
AM+BTLit
V
Tam
T (s)
6
446
7,7
6
4,5
7543
6
8,5
675
7
592
10,9
7 110134
9,9
7 21590
19,7
6 20749
41,4
6 21450
44,3
7
8208
19,8
7
678
45,4
7 14712
23,9
8
7068
64,4
7
4145
247,6
8
2819
372,7
7 54519 1783,0
7 275286 43726,8
2901,9
AM_BT
V
Tam
T (s)
6
435
4,6
6
3,3
7543
6
8,0
675
6
26,4
552
6 108157
15,8
6 21294
26,4
6 20749
24,9
6 21302
32,7
6
30,0
8039
7
57,5
663
6 14438
24,4
7
6649
169,6
7
557,7
4013
7
798,2
2716
7 52870 10231,4
7 272327 87987,3
6249,9
GAP (%)
-2,44
0,00
0,00
-6,70
-1,80
-1,37
0,00
-0,69
-2,06
-2,15
-1,86
-5,93
-3,18
-3,65
-3,02
-1,07
-2,25
AM_RVND
V
Tam
T (s)
GAP (%)
6
0,4
-0,52
443
6
0,4
0,00
7543
6
1,0
0,00
675
6
580
1,7
-2,03
6 108157
1,7
-1,80
6
5,1
-1,37
21294
6
4,1
0,00
20749
6
21389
3,4
-0,28
6
8045
2,8
-1,98
7
665
7,9
-1,80
6
3,2
-1,86
14438
6
24,1
-6,41
6616
7
4064
68,3
-1,94
7
2741
58,8
-2,75
7
53113
906,5
-2,58
7 271111 27045,1
-1,52
1758,4
-1,68
Tabela 8: Resultados computacionais para as instncias do SET_3 com 10 hotis extras. Asterisco indica soluo
com nmero menor de viagens.
Instncia
eil_51
berlin_52
st_70
eil_76
pr_76
kroa_100
kroc_100
krod_100
rd_100
eil_101
lin_105
ch_150
tsp_225
a_280
pcb_442
pr_1002
Mdia
AM+BTLit
V
Tam
T (s)
12
490
7,3
9
7543
3,8
11
709
17,9
13
596
13,8
11 115665*
26,5
11
21282
30,6
12
21335
23,5
12
21808
31,7
11
8248
21,6
12
685
45,8
10
24,6
14391
11
7105
145,0
13
4174
209,9
14
2887
432,2
13
55640 3404,0
13 284444 48331,6
3298,1
AM_BT
V
Tam
T (s)
12
473
6,4
8
7991
9,2
11
20,2
698
12
575
18,1
12 112846
13,9
11
23,0
21281
12
21027
24,8
11
29,5
21294
10
29,9
7910
12
658
86,4
10
31,7
14391
11
165,0
6592
12
469,2
4056
12
1797,8
2732
12
53124 11575,5
13 274070 213179,6
14217,5
GAP (%)
-3,41
5,94
-1,52
-3,61
-2,44
0,00
-1,45
-2,36
-4,10
-3,96
0,00
-7,22
-2,84
-5,40
-4,52
-3,65
-2,53
AM_RVND
V
Tam
T (s) GAP (%)
12
1,1
-4,20
470
8 7980*
1,1
5,80
11
709
1,6
0,00
12
2,3
-4,28
571
12 114177
2,6
-1,29
11 21281
2,6
0,00
12 20922
4,0
-1,94
11 21294
8,7
-2,36
10
4,1
-4,10
7910
11
6,7
-6,51
641
10 14391
3,6
0,00
11
6781
17,0
-4,56
12
4143
78,6
-0,75
12
2735
255,9
-5,27
12 54060
727,9
-2,84
13 275556 14985,3
-3,12
1006,4
-2,21
V
6
7
7
6
7
6
6
6
6
6
6
8
7
7
7
AM+BTLit
Tam
T (s)
443
3,9
4,3
8586
7,7
721
557
10,9
118386
9,8
22147
25,8
21509
21,4
21804
21
8514
24,5
667
21,7
6729
59
4873
226,2
2920
409,7
59670 2207,9
308998 52028,5
3672,2
AM_BT
V
Tam
T (s)
6
7,2
430
7
8641
3,4
7
9,9
721
6
19,4
549
7 116596
15,6
6
25,1
22118
6
26,7
20961
6
40,3
21585
6
29,9
8255
6
46,5
649
6
184,6
6604
7
4705
966,9
6
2757
1631,9
6
58682
4671,5
7 304489 187197,0
12991,7
GAP (%)
-3,13
0,65
0,00
-1,37
-1,51
-0,13
-2,55
-1,00
-3,05
-2,68
-1,86
-3,45
-5,61
-1,66
-1,46
-1,92
AM_RVND
V
Tam
T (s) GAP (%)
6
432
1,2
-2,50
7
8641
0,8
0,65
7
727
1,4
0,85
6
552
3,6
-0,74
7 116618
3,7
-1,49
6
22223
4,0
0,34
6
4,3
-2,55
20961
6
4,0
-1,00
21585
6
8486
5,4
-0,33
6
650
7,3
-2,61
6
6611
31,6
-1,75
7
71,3
-3,87
4684
6
171,5
-7,12
2713
7
989,3
-3,61
57514
7 303615 43596,3
-1,74
2993,0
-1,83
5. Concluso
O PCVSH consiste em um problema de fcil entendimento, mas de difcil otimizao e
que pode ser aplicado em diversas situaes prticas. Neste artigo, so propostas duas heursticas
baseadas em um algoritmo memtico com operadores de vizinhana definidos na literatura.
As heursticas propostas conseguem encontrar solues melhores para a maioria das
instncias. A abordagem AM_RVND destaca-se por demandar um menor tempo de CPU em
relao as outras abordagens, o que fornece uma boa relao entre a qualidade da soluo e o
tempo gasto. A heurstica AM_BT muito eficaz, mas precisa ser refinada com o intuito de
diminuir o seu tempo de CPU.
Os resultados obtidos com as heursticas propostas AM_BT e AM_RVND foram
comparados com os resultados da heurstica AM+BTLit, reimplementada segundo Castro et al.,
(2013). Aps a anlise dos resultados obtidos, concluiu-se que a heursticas propostas so
altamente competitivas tanto na qualidade das solues, quanto em relao ao tempo de CPU.
Sugerimos que novas abordagens heursticas e variaes do problema sejam abordadas.
Pode-se considerar a incluso de caractersticas como janela de tempo para os clientes e custo de
visita aos hotis. possvel adaptar a estratgia proposta para tratar outros problemas, como o
Problema do Caixeiro Viajante Preto e Branco (BOURGEOIS et al., 2001).
Agradecimentos
Os autores agradecem a CAPES pelo apoio financeiro execuo do trabalho.
Referncias
Amorin, L. E., Gonalves, L. B. e Magalhes, S. V. G., (2012), Um algoritmo memtico para
soluo do problema de mnima latncia, Simp. Brasileiro de Pesquisa Operacional, 2247-2258.
Angelelli, E. e Grazia, S. M. (2002), The periodic vehicle routing problem with intermediate
facilities, European Journal of Operational Research, 137, 233-247.
Applegate, D., Bixby, R., chvtal, V. e Cook, W., Concorde TSP solver,
(http://www.tsp.gatech.edu/concorde, 2006).
Bektas, T. (2006), The multiple traveling salesman problem: an overview of formulations na
solution procedures, Omega, 34, 209-219.
Bourgeois, M., Laporte, G. e Semet, F. (2001), Heuristics for the black and White traveling
salesman problem, Computers and Operations Research, 30, 1, 75-85.
Campos, S. C., Arroyo, J. E. C. e Gonalves, L. B. (2013), Uma heurstica GRASP-VND para
o problema de sequenciamento de tarefas num ambiente assembly flowshop com trs estgios e
tempos de setup dependentes da sequncia, Simp. Bras. de Pesquisa Operacional, 2147-2158.
Castro, M., Sorensen, K., Vansteenwegen, P. e Goos, P. (2012), A simple GRASP+VND for
the TSPHS, Working paper 2012/24, Faculteit Toegepaste Economische Wetenschappen,
Universiteit Antwerpen.
Castro, M., Sorensen, K., Vansteenwegen, P. e Goos, P. (2013), A memetic algorithm for the
travelling salesperson problem with hotel selection, Computers and Operations Research, 40,
1716-1728.
Cordeau, J. F., Gendreau, M. e Laporte, G. (1997), A tabu search heuristic for periodic and
multi-depot vehicle routing problems. Networks, 30, 105-119.
Cordeau, J. F., Laporte, G. e Mercier, A. (2001), A unified tabu search heuristic for vehicle
routing problems with time Windows, J. of the Operational Research Society, 52, 8, 928-936.
Dijkstra, E. W. (1959), A note on two problems in connexion with graphs, Numerische
Mathematik, 1, 1, 269-271.
Gajpal, Y. e Abad, P. L. (2009), Multi-ant colony system (MACS) for a vehicle routing problem
with backhaus, European Journal of Operations Research, 196, 1, 102-117.
Garey, M. R. e Johnson, D. S., Computers and Intractability. A guide to the theory of NPCompleteness, W. H. Freeman and Company, 1979.
Glover, F. (1989), Tabu search part I, ORSA Journal on Computing, 1, 3, 190-206.
Glover, F. (1990), Tabu search part II, ORSA Journal on Computing, 2, 1, 4-32.
Hansen, P., Mladenovi, N., Variable Neighborhood Search. In Handbook of Metaheuristics,
145-184, 2003.
Lin, S., (1965), Computer solutions of the traveling salesman problem, Bell System Technical
Journal, 44, 10, 2245-2269.
Lin, S. e Kernighan, B. W. (1973), An effective heuristic algorithm for the travelling salesman
problem, Operations Research, 21, 2, 498-516.
Merz, P., (2002), A comparison of memetic recombination operators for the traveling salesman
problem, Proc. of the Genetic and Evolutionary Computation Conference, GECCO 02, 472-479.
Nagy, G. e Salhi, S. (2007), Location-routing: Issues, models and methods, European Journal of
Operational Research, 177, 649-672.
Penna, P. H. V., Subramanian, A. e Ochi, L. S. (2013), Na iterated local search heuristic for
the heterogeneous fleet vehicle routing problem, Journal of Heuristics, 19, 201-232.
Polacek, M., Hartl, R. F., Doerner, K. e Reimann, M. (2004), A variable neighborhood search
for the multi depot vehicle routing problem with time Windows, J Heuristics, 10, 613-627.
Solomon, M. M. (1987), Algorithms for the vehicle routing and scheduling problems with time
window constraints, Operations Research, 35, 2, 254-265.
Subramanian, A., Drummond, L. M. A., Bentes, C., Ochi, L. S. e Farias, R. (2010), A
parallel heuristic for the vehicle routing problem with simultaneous pick-up and delivery,
Computers & Operations Research, 37, 11, 1899-1911.
Talbi, E-G., Metaheuristics: from design to implementation, Jonh Wiley and Sons Inc, (2009).
Toth, P. e Vigo, D. (2002), The vehicle routing problem, SIAM monographs on discrete
mathematics and aplications, SIAM.
Vansteenwegen, P., Souffriau, W. e Sorensen, K. (2012), The travelling salesperson problem
with hotel selection, Journal of the Operational Research Society, 63, 207-217.