a tabu search heuristic for the vehicle routing problem with private fleet and common carrier

6
Production, Manufacturing and Logistics A tabu search heuristic for the vehicle routing problem with private fleet and common carrier Jean-François Côté, Jean-Yves Potvin * Département d’informatique et de recherche opérationnelle, Université de Montréal, C.P. 6128, Succursale Centre-ville, Montréal, Québec, Canada H3C 3J7 article info Article history: Received 15 March 2007 Accepted 9 September 2008 Available online 19 September 2008 Keywords: Vehicle routing Private fleet Common carrier Tabu search abstract This paper describes a tabu search heuristic for a vehicle routing problem where the owner of a private fleet can either visit a customer with one of his vehicles or assign the customer to a common carrier. The owner’s objective is to minimize the variable and fixed costs for operating his fleet plus the total costs charged by the common carrier. The proposed tabu search is shown to outperform the best approach reported in the literature on 34 benchmark instances with a homogeneous fleet. Ó 2008 Elsevier B.V. All rights reserved. 1. Introduction In this work, we consider the vehicle routing problem with pri- vate fleet and common carrier (VRPPC), where each customer is served by one of the vehicles of an internal fleet or by an external common carrier. When a customer is assigned to the common car- rier, a penalty cost is incurred which represents all costs associated with this assignment (since the specific route followed by the com- mon carrier is not known). The objective of the private fleet’s own- er is to minimize the sum of fixed vehicle costs, travel costs and common carrier costs. Clearly, customers must be referred to the common carrier if the total demand from the customers exceeds the internal fleet capacity. However, it can also be more economi- cal to do so. A single-vehicle version of this problem is first mentioned in [17] and later solved to optimality with a branch-and-bound algo- rithm in [9] for problems with up to 200 customers. In [2], the problem is introduced as a special case of the prize collecting TSP (PCTSP), which is defined in [1] as follows: ‘‘A salesman who trav- els between pairs of cities at a cost depending only on the pair, gets a prize in every city that he visits and pays a penalty to every city that he fails to visit, wishes to minimize his travel costs and penal- ties, while visiting enough to collect a prescribed amount of prize money”. When there is no prize associated with the vertices or, alternatively, when the prescribed amount is null, the single-vehi- cle version of the problem is obtained. The multi-vehicle version is first reported and solved in [6] with a savings-based construction heuristic, followed by intra- and in- ter-route customer exchanges. The authors in [3] do better by using two different initial solutions that are then improved with more sophisticated customer exchanges. Finally, even better re- sults are reported in [4] on a set of benchmark instances with vehi- cle fleets that are either homogeneous or heterogeneous. A perturbation metaheuristic combines a local descent based on dif- ferent neighborhood structures with two diversification strategies, namely a randomized construction procedure and a perturbation mechanism where a number of pairs of customers are swapped. A variant of the problem is finally addressed in [13] in a context where the customers are partitioned into sectors and the private and common carrier fleet size must be determined for each sector. In this paper, we present a new metaheuristic approach, based on tabu search, for solving the VRPPC with a homogeneous fleet of vehicles. It is empirically demonstrated on a set of benchmark in- stances that this metaheuristic outperforms the best known ap- proach reported in the literature with regard to solution quality and computation time. The remainder of this paper is organized as follows. In Section 2, the problem is formally introduced. Then, our problem-solving methodology is described in Section 3. Computational results are reported in Section 4. Finally, a conclusion follows. 2. Problem formulation The problem can be stated as follows. Let G ¼ðV ; AÞ be a direc- ted graph, with V ¼f1; 2; ... ; ng the vertex set and A the arc set. Vertex 1 is the depot and the other vertices are customers to be vis- ited. A travel cost c ij is defined between each pair of vertices i; j 2 V , ij. Each customer i 2 V nf1g is characterized by a demand q i and a penalty cost e i when it is assigned to the common carrier. A fixed 0377-2217/$ - see front matter Ó 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2008.09.009 * Corresponding author. E-mail address: [email protected] (J.-Y. Potvin). European Journal of Operational Research 198 (2009) 464–469 Contents lists available at ScienceDirect European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Upload: jean-francois-cote

Post on 21-Jun-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: A tabu search heuristic for the vehicle routing problem with private fleet and common carrier

European Journal of Operational Research 198 (2009) 464–469

Contents lists available at ScienceDirect

European Journal of Operational Research

journal homepage: www.elsevier .com/locate /e jor

Production, Manufacturing and Logistics

A tabu search heuristic for the vehicle routing problem with private fleet andcommon carrier

Jean-François Côté, Jean-Yves Potvin *

Département d’informatique et de recherche opérationnelle, Université de Montréal, C.P. 6128, Succursale Centre-ville, Montréal, Québec, Canada H3C 3J7

a r t i c l e i n f o a b s t r a c t

Article history:Received 15 March 2007Accepted 9 September 2008Available online 19 September 2008

Keywords:Vehicle routingPrivate fleetCommon carrierTabu search

0377-2217/$ - see front matter � 2008 Elsevier B.V. Adoi:10.1016/j.ejor.2008.09.009

* Corresponding author.E-mail address: [email protected] (J.-Y. Pot

This paper describes a tabu search heuristic for a vehicle routing problem where the owner of a privatefleet can either visit a customer with one of his vehicles or assign the customer to a common carrier. Theowner’s objective is to minimize the variable and fixed costs for operating his fleet plus the total costscharged by the common carrier. The proposed tabu search is shown to outperform the best approachreported in the literature on 34 benchmark instances with a homogeneous fleet.

� 2008 Elsevier B.V. All rights reserved.

1. Introduction

In this work, we consider the vehicle routing problem with pri-vate fleet and common carrier (VRPPC), where each customer isserved by one of the vehicles of an internal fleet or by an externalcommon carrier. When a customer is assigned to the common car-rier, a penalty cost is incurred which represents all costs associatedwith this assignment (since the specific route followed by the com-mon carrier is not known). The objective of the private fleet’s own-er is to minimize the sum of fixed vehicle costs, travel costs andcommon carrier costs. Clearly, customers must be referred to thecommon carrier if the total demand from the customers exceedsthe internal fleet capacity. However, it can also be more economi-cal to do so.

A single-vehicle version of this problem is first mentioned in[17] and later solved to optimality with a branch-and-bound algo-rithm in [9] for problems with up to 200 customers. In [2], theproblem is introduced as a special case of the prize collecting TSP(PCTSP), which is defined in [1] as follows: ‘‘A salesman who trav-els between pairs of cities at a cost depending only on the pair, getsa prize in every city that he visits and pays a penalty to every citythat he fails to visit, wishes to minimize his travel costs and penal-ties, while visiting enough to collect a prescribed amount of prizemoney”. When there is no prize associated with the vertices or,alternatively, when the prescribed amount is null, the single-vehi-cle version of the problem is obtained.

The multi-vehicle version is first reported and solved in [6] witha savings-based construction heuristic, followed by intra- and in-

ll rights reserved.

vin).

ter-route customer exchanges. The authors in [3] do better byusing two different initial solutions that are then improved withmore sophisticated customer exchanges. Finally, even better re-sults are reported in [4] on a set of benchmark instances with vehi-cle fleets that are either homogeneous or heterogeneous. Aperturbation metaheuristic combines a local descent based on dif-ferent neighborhood structures with two diversification strategies,namely a randomized construction procedure and a perturbationmechanism where a number of pairs of customers are swapped.

A variant of the problem is finally addressed in [13] in a contextwhere the customers are partitioned into sectors and the privateand common carrier fleet size must be determined for each sector.

In this paper, we present a new metaheuristic approach, basedon tabu search, for solving the VRPPC with a homogeneous fleet ofvehicles. It is empirically demonstrated on a set of benchmark in-stances that this metaheuristic outperforms the best known ap-proach reported in the literature with regard to solution qualityand computation time.

The remainder of this paper is organized as follows. In Section 2,the problem is formally introduced. Then, our problem-solvingmethodology is described in Section 3. Computational results arereported in Section 4. Finally, a conclusion follows.

2. Problem formulation

The problem can be stated as follows. Let G ¼ ðV ;AÞ be a direc-ted graph, with V ¼ f1;2; . . . ;ng the vertex set and A the arc set.Vertex 1 is the depot and the other vertices are customers to be vis-ited. A travel cost cij is defined between each pair of vertices i; j 2 V ,i–j. Each customer i 2 V n f1g is characterized by a demand qi anda penalty cost ei when it is assigned to the common carrier. A fixed

Page 2: A tabu search heuristic for the vehicle routing problem with private fleet and common carrier

J.-F. Côté, J.-Y. Potvin / European Journal of Operational Research 198 (2009) 464–469 465

homogeneous private fleet of m vehicles, initially located at the de-pot, is available to serve the customers, where each vehicle hascapacity Q. Also, a fixed cost f is incurred each time a vehicle fromthe private fleet is used. The goal of the VRPPC is to find a set of atmost m routes for the private fleet such that:

� a vehicle from the private fleet serves a single route that startsand ends at the depot;

� every customer is visited exactly once either by a vehicle of theprivate fleet or by the common carrier;

� the total demand on each vehicle route of the private fleetshould not exceed the capacity Q;

� the sum of travel costs, fixed vehicle costs and common carriercosts is minimized.

The problem can be mathematically formulated as follows [4].Let

� xkij be 1 if vehicle k visits vertex j immediately after vertex i, 0

otherwise, i; j ¼ 1; . . . ;n, i–j; k ¼ 1; . . . ;m;� yk

i be 1 if vehicle k visits vertex i, 0 otherwise, i ¼ 1; . . . ;n;k ¼ 1; . . . ;m;

� zi be 1 if customer i is assigned to the common carrier, 0 other-wise, i ¼ 2; . . . ;n; k ¼ 1; . . . ;m;

� uki P 0 be an upper bound on the load of vehicle k upon leaving

customer i, i ¼ 2; . . . ;n; k ¼ 1; . . . ;m.

We then have:

minXm

k¼1

fkyk1 þ

Xm

k¼1

Xn

i¼1

Xn

j ¼ 1j–i

cijxkij þ

Xn

i¼2

eizið1Þ

subject to

Xm

k¼1

Xn

j¼2

xk1j ¼

Xm

k¼1

Xn

i¼2

xki1 6 m; ð2Þ

Xn

j ¼ 1j–h

xkhj ¼

Xn

i ¼ 1i–h

xkih; h ¼ 1; . . . ;n; k ¼ 1; . . . ;m; ð3Þ

Xm

k¼1

yki þ zi ¼ 1; i ¼ 2; . . . ; n; ð4Þ

Xn

i¼2

qiyki 6 Q ; k ¼ 1; . . . ;m; ð5Þ

uki � uk

j þ Qxkij 6 Q � qj; i; j ¼ 2; . . . ; n; i–j; k ¼ 1; . . . ;m: ð6Þ

In this formulation, the objective function (1) minimizes the sum ofvehicle fixed costs, travel costs and common carrier costs (note thatyk

1 is 1 when vehicle k is used, 0 otherwise). Constraints (2) statethat at most m vehicles from the private fleet can be used. Con-straints (3) specify that the same vehicle must enter and leave agiven vertex. Constraints (4) assign each customer either to a vehi-cle from the private fleet or to the common carrier. Constraints (5)ensure that the vehicle capacity is not exceeded. Finally, constraints(6) eliminate subtours that do not include the depot.

In the following section, a tabu search heuristic for solving thisproblem is introduced.

3. Tabu search

The problem is solved with a tabu search heuristic based on theunified tabu search framework of Cordeau et al. [7,8]. The maincomponents of this framework will now be described. We assume

that the reader is already familiar with the tabu search metaheuris-tic, otherwise a detailed presentation is provided in [11]. To sim-plify the notation, the ‘‘vehicle” mþ 1 stands for the commoncarrier in the following.

3.1. Search space

During the search, infeasible solutions are allowed. Accordingly,let us define gðsÞ ¼ f ðsÞ þ aqðsÞ, where f ðsÞ is the original objectivevalue of solution s, as defined in Eq. (1), a is a positive parameterand qðsÞ is a penalty term for exceeding vehicle capacity, that is,

qðsÞ ¼Xm

k¼1

Xn

i¼2

qiyki � Q

" #þ

with ½x�þ ¼maxf0; xg. Clearly, when s is feasible, both f ðsÞ and gðsÞcoincide, otherwise a positive penalty is incurred.

At each iteration, the value of a is modified by a factor 1þ d > 1.When the current solution is feasible, the value of a is divided by1þ d, otherwise it is multiplied by 1þ d.

3.2. Initial solution

First, a number of customers are assigned to the common car-rier, if the total demand exceeds the capacity of the private fleet.Then, routes are created for the private fleet with the remainingcustomers. More precisely:

(1) IfPn

i¼2qi > mQ , then

(1.1) Reindex the customers in increasing order of ratio

eiqi; i ¼ 2; . . . ;n.

(1.2) Assign the first h customers to the common carrierwhere

Xh

i¼2

qi PXn

i¼2

qi �mQ PXh�1

i¼2

qi:

(2) Create vehicle routes for the remaining customers through a

least-cost insertion heuristic based on the cijs (travel costs).This is the starting solution for the improvement step thatfollows.

(3) While there is an improvement do:

(3.1) Apply a first-improvement local descent based on the

unified tabu search neighborhood structure, asdescribed in Section 3.4.

(3.2) Apply a first-improvement local descent based on 4-opt* exchanges to each vehicle route.

The 4-opt* exchanges [15] in Step 3.2 are a subset of 4-opt ex-changes [14], where four arcs are removed from a route and fourarcs are introduced to reconnect the subpaths and produce anew route. The subset is obtained by limiting the number of verti-ces in a subpath and by ensuring that at least one added arc isshorter than a removed arc. More precisely, consider a subpathði0; i1; . . . ; iu; iuþ1Þ, where u 6 w and w is the parameter which limitsthe number of vertices in a subpath. Consider also a second sub-path ðik; ikþ1; ikþ2Þ with no vertex in common with the first one. Ifminfci1 ikþ1

; ciuikþ1g < maxfci0 i1 ; ciuiuþ1 ; cikikþ1

; cikþ1 ikþ2g, then arcs ði0; i1Þ,

ðiu; iuþ1Þ, ðik; ikþ1Þ, ðikþ1; ikþ2Þ are removed and replaced by thecheapest of arcs ði1; ikþ1Þ and ðiu; ikþ1Þ plus three other arcs to gen-erate a new tour.

3.3. Attribute set of a solution

With each solution s is associated an attribute set B(s) = {(i,k)ji =2,. . .,n; k = 1,. . .,m + 1 and customer i is served by vehicle k}. The

Page 3: A tabu search heuristic for the vehicle routing problem with private fleet and common carrier

Table 2Benchmark instances

Instance n� 1 m Q f

CE-01 50 4 160 120CE-02 75 9 140 100CE-03 100 6 200 140CE-04 150 9 200 120CE-05 199 13 200 100CE-06 50 4 160 140CE-07 75 9 140 120

466 J.-F. Côté, J.-Y. Potvin / European Journal of Operational Research 198 (2009) 464–469

transition from the current solution s to a solution in the neighbor-hood then corresponds to the removal and addition of attributes inset BðsÞ.

3.4. Neighborhood

The union of two different neighborhoods is considered. Theseneighborhoods are:

(1) Remove customer i ¼ 2; . . . ;n from vehicle routek ¼ 1; . . . ;mþ 1 and insert it at least cost into another route.The size of this neighborhood is OðnÞ.

(2) Exchange customers i in vehicle route k and i0 in vehicleroute k0, with i; i0 ¼ 2; . . . ;n; k, k0 ¼ 1; . . . ;mþ 1, k–k0. Thatis, customers i and i0 are first removed from routes k and k0

and inserted at least cost in routes k0 and k, respectively.The size of this neighborbood is Oðn2Þ.

The second neighborhood is essential to the success of our algo-rithm. In fact, it is almost impossible to add a customer to anothervehicle route through the first neighborhood (apart from the com-mon carrier) when the capacity constraints are tight.

3.5. Tabu duration

A tabu duration is associated with each attribute. Basically, ifcustomer i is removed from route k, attribute ði; kÞ is tabu and itis forbidden to reinsert customer i in route k for the next h itera-tions. The last iteration for which attribute ði; kÞ is tabu is noted sk

i .

3.6. Aspiration criterion

The tabu status of an attribute can be revoked if a transforma-tion leads to a feasible solution which is better than the best feasi-ble solution found with this attribute. The aspiration level ofattribute ði; kÞ is noted rk

i .

3.7. Diversification

If the value of a neighbor solution �s is worse than or equal to thevalue of the current solution s, this neighbor is penalized by a fac-tor related to the addition frequency of its attributes, as suggestedin [16]. Let qk

i be the number of times attribute ði; kÞ has been intro-

Table 1Notation

Notation Interpretation

BðsÞ Attribute set of solution sf ðsÞ Travel cost of solution sqðsÞ Penalty cost of solution s for overcapacitygðsÞ f ðsÞ þ aqðsÞhðsÞ gðsÞ þ c (diversification term)NðsÞ Neighborhood of solution sMðsÞ Subset of NðsÞs Current solution�s Solution in MðsÞs0 Best solution in MðsÞs00 Solution obtained from s0 after applying 4-opt*s� Best solution founda Penalty parameter for overcapacityc Adjustment parameter for diversification termd Update parameter for ah Tabu durationkmax Total number of iterationsk Iteration counterqk

i Number of times attribute ði; kÞ has been introduced into the solutionrk

i Aspiration level of attribute ði; kÞsk

i Last iteration with tabu status for attribute ði; kÞ

duced into a solution during the search process. The penalty is thenproportional to the product of f ð�sÞ,

ffiffiffiffiffiffiffinmp

and qmin, the minimum ofthe qk

i ’s over all attributes that are associated with �s but not with s(i.e., those associated with the movement from s to �s). More pre-cisely, if k is the iteration number, the biased evaluation is:

gð�sÞ þ cffiffiffiffiffiffiffinmp

f ð�sÞ qmin

k ; if gð�sÞ > gðsÞ;gð�sÞ; otherwise:

Note that the qki values tend to diminish with problem size and

the factorffiffiffiffiffiffiffinmp

compensates for it. The parameter c is used to ad-just the intensity of the diversification. The overall effect is to drivethe search toward less explored regions of the search space when alocal optimum is reached.

3.8. Stopping criterion

The search is stopped after a fixed number of iterations.

3.9. Overall algorithm

A step-by-step description of our unified tabu search isprovided below. The notation used is summarized in Table 1.Pseudo-code

0. Create an initial solution s.1. If s is feasible then set s� s.2. Set a 1 and k 0.3. For every attribute ði; kÞ do

3.1 Set qki 0 and sk

i 0.3.2 If ði; kÞ 2 BðsÞ and s is feasible then set rk

i f ðsÞ else setrk

i 1.

CE-08 100 6 200 160CE-09 150 10 200 120CE-10 199 13 200 120CE-11 120 6 200 180CE-12 100 8 200 120CE-13 120 6 200 260CE-14 100 7 200 140

G-01 240 7 550 820G-02 320 8 700 1060G-03 400 8 900 1380G-04 480 8 1000 1720G-05 200 4 900 1620G-06 280 5 900 1700G-07 360 7 900 1460G-08 440 8 900 1480G-09 255 11 1000 60G-10 323 13 1000 60G-11 399 14 1000 80G-12 483 15 1000 80G-13 252 21 1000 60G-14 320 23 1000 60G-15 396 26 1000 60G-16 480 29 1000 60G-17 240 18 200 40G-18 300 22 200 60G-19 360 26 200 60G-20 420 31 2000 60

Page 4: A tabu search heuristic for the vehicle routing problem with private fleet and common carrier

f Operational Research 198 (2009) 464–469 467

4. While k 6 kmax do

4.1 Set MðsÞ ;.4.2 For each �s 2 NðsÞ do� If ðsk

i < kÞ or (�s is feasible and f ð�sÞ < rki ) for all

ði; kÞ 2 Bð�sÞ n BðsÞ then set MðsÞ MðsÞ [ f�sg.

J.-F. Côté, J.-Y. Potvin / European Journal o

Table 3Compar

Instanc

CE-01CE-02CE-03CE-04CE-05CE-06CE-07CE-08CE-09CE-10CE-11CE-12CE-13CE-14G-01G-02G-03G-04G-05G-06G-07G-08G-09G-10G-11G-12G-13G-14G-15G-16G-17G-18G-19G-20Avg.

4.3 For each �s 2 MðsÞ do� If gð�sÞP gðsÞ then

– Set qmin minði;kÞ2Bð�sÞnBðsÞqki .

– Set hð�sÞ gð�sÞ þ cffiffiffiffiffiffiffinmp

f ð�sÞ qmin

k .

Else set hð�sÞ gð�sÞ.

4.4 Identify a solution s0 2 MðsÞ which minimizes h.4.5 For each attribute ði; kÞ 2 BðsÞ n Bðs0Þ do

� Remove customer i in route k using the GENI heuristic.� Set sk

i kþ h.

4.6 For each attribute ði; kÞ 2 Bðs0Þ n BðsÞ do� Insert customer i in route k using the GENI heuristic.� Set qk

i qki þ 1.

4.7 Apply a first-improvement local descent based on 4-opt*

exchanges to each modified route in s0 to obtain s00.

4.8 If s00 is feasible then� If f ðs00Þ < f ðs�Þ then set s� s00;� For each ði; kÞ 2 Bðs00Þ, set rk

i minfrki ; f ðs00Þg;

� Set a a1þd;

Else set a að1þ dÞ.

4.9 Set s s00.

4.10 Set k kþ 1.

In this pseudo-code, some initialization tasks are first per-formed from Steps 0 to 3. Then, the tabu search takes place in Step

ative results

e Tabu with 10,000 iterations Tabu w

Best sol. Avg. sol. Avg. CPU (s) Best so

1119.47 1119.47 3.4 1119.41814.52 1821.38 5.0 1814.51926.99 1933.55 14.1 1924.92520.63 2531.11 33.4 2515.53115.50 3124.79 51.2 3097.91207.47 1207.47 4.0 1207.42004.53 2011.37 5.6 2006.52052.05 2063.06 14.6 2055.62429.19 2440.02 32.6 2429.13403.94 3412.45 52.9 3393.42332.26 2335.75 21.3 2330.91955.10 1968.85 9.8 1952.82859.12 2864.22 21.3 2859.12214.14 2237.45 10.1 2214.1

14272.21 14321.55 93.0 14214.419782.38 19830.36 197.6 19609.625427.29 25502.81 372.0 25271.535302.68 35404.61 603.9 35068.414614.69 14669.09 134.0 14486.121860.63 21908.15 227.9 21690.224079.87 24239.44 334.1 24112.730604.67 30664.12 458.0 30466.0

1325.33 1328.33 110.5 1323.51599.51 1605.64 188.2 1592.92179.59 2188.48 290.0 2166.62509.12 2514.79 427.1 2490.02270.39 2275.63 63.1 2271.22699.37 2702.48 100.7 2693.33163.60 3170.12 152.7 3157.33640.69 3650.27 223.6 3637.51632.83 1639.66 64.4 1631.42691.61 2705.40 96.3 2692.43457.28 3469.15 136.2 3452.04287.89 4297.97 183.4 4272.9

0.71% 1.05% 139.3 0.4

4 and the following actions are done for kmax iterations. First, a sub-set MðsÞ of NðsÞ is constructed in Steps 4.1 and 4.2. This subset con-sists of all solutions �s in the neighborhood of the current solutionthat are unlikely to lead to cycling. That is, the attributes intro-duced in the solution by the movement from s to �s are non-tabuor their aspiration criteria are satisfied (in the case of a feasible�s). Step 4.3 implements diversification, as described in Section3.7. In Step 4.4, all admissible movements are evaluated usingstandard insertions and removals of vertices and the best solutionin MðsÞ is identified. Once this best movement is known (i.e. eithermoving a customer to another route or exchanging two customersin two different routes), it is applied to the current solution inSteps 4.5 and 4.6, but using the more powerful GENeralized Inser-tion heuristic (GENI) [10]. Basically, when the best movementstates that vertex i should be moved from route r to route r0, itsinsertion place in r0 is the least-cost one between two of its p clos-est vertices i0 and i00 in the route (p ¼ 3 in our experiments).Although i0 and i00 are not necessarily consecutive in route r0 beforethe insertion, the sequence i0 – i – i00 is part of the route after theinsertion, due to a reoptimization based on arc exchanges aroundi0 and i00. The reverse of this procedure is applied to route r to ac-count for the removal of vertex i. The new solution is then furtheroptimized in Step 4.7 with 4-opt* exchanges. Finally, update oper-ations are performed from Steps 4.8 to 4.10.

4. Computational results

The experiments have been performed on benchmark instanceswith a homogeneous fleet, as produced by Bolduc et al. [4] with the14 VRP instances of Christofides et al. [5] and the 20 VRP instances

ith 25,000 iterations RIP

l. Avg. sol. Avg. CPU (s) Sol. CPU (s)

7 1119.47 8.5 1132.91 252 1816.07 12.5 1835.76 739 1930.28 34.7 1959.65 1070 2526.41 83.3 2545.72 2509 3112.25 128.3 3172.22 4747 1207.47 9.9 1208.33 252 2010.96 14.0 2006.52 714 2063.06 36.9 2082.75 1109 2433.86 83.3 2443.94 2601 3402.72 129.6 3464.90 4784 2336.59 54.6 2333.03 1956 1961.49 24.2 1953.55 1282 2863.96 53.7 2864.21 1884 2220.23 24.8 2224.63 1104 14264.33 237.4 14388.58 6512 19731.28 488.6 19505.00 11780 25405.71 942.2 24978.17 20617 35182.19 1488.2 34957.98 30274 14604.19 341.6 14683.03 5895 21788.71 551.6 22260.19 10219 24169.11 829.5 23963.36 16284 30535.30 1131.0 30496.18 24197 1324.87 274.7 1341.17 8323 1598.14 471.2 1612.09 12946 2174.45 720.2 2198.45 20041 2499.80 1071.4 2521.79 29009 2274.13 157.6 2286.91 8025 2702.50 248.4 2750.75 12511 3162.85 377.1 3216.99 18622 3645.80 556.4 3693.62 27789 1636.84 159.8 1701.58 8069 2697.16 240.3 2765.92 13030 3458.47 340.3 3576.92 19038 4279.74 453.8 4378.13 28006% 0.75% 346.5 1.63% 1047

Page 5: A tabu search heuristic for the vehicle routing problem with private fleet and common carrier

Table 4Best solutions

Instance Tabu RIP

CE-01 1119.47 1119.47CE-02 1814.52 1814.52CE-03 1920.90 1937.23CE-04 2512.64 2528.36CE-05 3097.67 3107.04CE-06 1207.47 1207.47CE-07 2004.53 2006.52CE-08 2052.05 2052.05CE-09 2425.26 2436.02CE-10 3386.08 3407.13CE-11 2330.94 2332.21CE-12 1952.86 1953.55CE-13 2859.12 2858.94CE-14 2213.02 2216.68G-01 14168.07 14160.77G-02 19479.41 19234.03G-03 24985.36 24646.79G-04 34615.23 34607.12G-05 14409.28 14249.82G-06 21555.94 21703.54G-07 24007.92 23549.53G-08 30059.25 30173.53G-09 1321.73 1336.91G-10 1583.82 1598.76G-11 2163.34 2179.71G-12 2479.62 2503.71G-13 2268.70 2268.32G-14 2692.46 2704.01G-15 3153.55 3171.20G-16 3631.47 3654.20G-17 1632.83 1677.22G-18 2691.61 2742.72G-19 3442.16 3528.36G-20 4265.11 4352.95

468 J.-F. Côté, J.-Y. Potvin / European Journal of Operational Research 198 (2009) 464–469

of Golden et al. [12]. In these instances, the travel cost between twovertices corresponds to the Euclidean distance. In all cases, the cus-tomer coordinates, demands and vehicle capacity are those foundin the original instances. The number of vehicles is set to 0:8q

Q , whereq is the total customer demand and Q is the vehicle capacity. Thefixed vehicle cost f is set to the average route length in the bestknown solution for the original instance, rounded to the nearestmultiple of 20. The common carrier cost for customer i is set tof�nþ lic1i where �n is the average number of customers per route inthe best known solution for the original instance and li equals 1,1.5 or 2, depending if the demand of customer i is in the lowest,medium or highest customer demands in the instance [4].

All tests were run on a workstation with a 2.2 GHz DualCoreOpteron AMD Processor 275. The specifications of this processorare similar to those of the 3.6 GHz Xeon used by Bolduc et al. in[4] for running their RIP heuristic. The latter is compared withour unified tabu search in Section 4.3.

4.1. Benchmark instances

The characteristics of the various test instances are shown inTable 2. In this table, n� 1 is the number of customers, m is thenumber of vehicles, and Q and f are the capacity and fixed cost ofeach vehicle, respectively. The names of the instances begin withCE or G, depending if they come from Christofides et al. [5] or Gold-en et al. [12].

4.2. Parameter values

Preliminary experiments, as well as some guidelines in previousstudies on unified tabu search, led to the following parametervalues:

� tabu duration h: random value in the interval [7,14];� adjustment for diversification intensity c: 0.01;� update parameter d (for self-adjusting overcapacity parameter

a): 1.25.

4.3. Experiments

The results of the tabu search based on 10,000 and 25,000 iter-ations are shown in Table 3, along with the results reported in [4]with the RIP heuristic. The latter is a randomized construction,improvement and perturbation heuristic which has produced thebest known results on these benchmark instances. For the unifiedtabu search, we indicate the best and average solution value aswell as the average computation time in seconds over 10 indepen-dent runs. For RIP, we show the solution value and computationtime reported in [4]. The last row, called Avg., summarizes the re-sults over the 34 instances. In the case of solution values, this over-all average is expressed as the average gap in percent over the bestknown solution, as it seems to be more meaningful than averagesolution values. The best known solutions correspond to the boldentries in Table 4.

We can see that the tabu search with 10,000 and 25,000 itera-tions is on average 1.05% and 0.75%, respectively, over the bestknown solutions. This is to be compared with 1.63% for RIP. Fur-thermore, the computation time of the tabu search is significantlylower, even when 25,000 iterations are performed.

In [4], the authors also report the best solutions obtained overthe course of their experiments. Although, we did not put much ef-fort in this regard, Table 4 reports the best solutions ever producedwith our unified tabu search, using different parameter settings.Over the 34 instances, 26 best solutions were produced with ouralgorithm, as compared with 12 for RIP, including 4 ties.

The performance of our algorithm, with regard to both solutionquality and computation time, comes from the exploitation of theunified tabu search framework. Apart from its relative simplicityand the small number of parameters that needs to be tuned, thisframework is known to be both effective and efficient. The secondneighborhood type where customers are exchanged between vehi-cle routes is also very important, when capacity constraints aretight.

5. Conclusion

This paper has described a unified tabu search for solving avehicle routing problem with a private fleet and common carrier.The results show that the tabu search performs well and can reachsolutions within 1% of the best known solutions in reasonable com-putation times (i.e. a few minutes). Our next step will be to tackleproblems with a heterogeneous fleet. However, we want to addressthis issue with a distinctive approach to fully exploit this newcharacteristic.

Acknowledgement

Financial support for this work was provided by the CanadianNatural Sciences and Engineering Research Council (NSERC). Thissupport is gratefully acknowledged.

References

[1] E. Balas, The prize collecting traveling salesman problem, Networks 19 (1989)621–636.

[2] D. Bienstock, M.X. Goemans, D. Simchi-Levi, D. Williamson, A note on the pricecollecting traveling salesman problem, Mathematical Programming 59 (1993)413–420.

Page 6: A tabu search heuristic for the vehicle routing problem with private fleet and common carrier

J.-F. Côté, J.-Y. Potvin / European Journal of Operational Research 198 (2009) 464–469 469

[3] M.C. Bolduc, J. Renaud, F. Boctor, A heuristic for the routing and carrierselection problem. Technical Report 2006-006, Faculté des Sciences del’Administration, Université Laval, Québec, Canada, 2006.

[4] M.C. Bolduc, J. Renaud, F. Boctor, G. Laporte, A perturbation metaheuristic forthe vehicle routing problem with private fleet and common carriers, Journal ofthe Operational Research Society 59 (2008) 776–787.

[5] N. Christofides, A. Mingozzi, P. Toth, The vehicle routing problem, in: N.Christofides, A. Mingozzi, P. Toth, C. Sandi (Eds.), Combinatorial Optimization,Wiley, Chichester, UK, 1979, pp. 315–338.

[6] C.W. Chu, A heuristic algorithm for the truckload and less-than-truckloadproblem, European Journal of Operational Research 165 (2005) 657–667.

[7] J.F. Cordeau, M. Gendreau, G. Laporte, A tabu search heuristic for periodic andmulti-depot vehicle routing problems, Networks 30 (1997) 105–119.

[8] J.F. Cordeau, G. Laporte, A. Mercier, A unified tabu search heuristic for vehiclerouting problems with time windows, Journal of the Operational ResearchSociety 52 (2001) 928–936.

[9] M. Diabi, R. Ramesh, The distribution problem with carrier service: A dualbased penalty approach, ORSA Journal on Computing 7 (1995) 24–35.

[10] M. Gendreau, A. Hertz, G. Laporte, New insertion and postoptimizationprocedures for the traveling salesman problem, Operations Research 40(1994) 1086–1094.

[11] F. Glover, M. Laguna, Tabu Search, Kluwer, Boston, 1997.[12] B.L. Golden, E.A. Wasil, J.P. Kelly, I.M. Chao, The impact of metaheuristics on

solving the vehicle routing problem: Algorithms, problem tests andcomputational results, in: T.G. Crainic, G. Laporte (Eds.), Fleet Managementand Logistics, Kluwer, Boston, 1998, pp. 33–56.

[13] J.G. Klincewicz, H. Luss, M.G. Pilcher, Fleet size planning when outside carrierservices are available, Transportation Science 24 (1990) 169–182.

[14] S. Lin, Computer solutions of the traveling salesman problem, Bell SystemTechnical Journal 44 (1965) 2245–2269.

[15] J. Renaud, F. Boctor, G. Laporte, A fast composite heuristic for the symmetrictraveling salesman problem, ORSA Journal on Computing 8 (1996) 134–143.

[16] É.D. Taillard, Parallel iterative search methods for vehicle routing problems,Networks 23 (1993) 661–673.

[17] T. Volgenant, R. Jonker, On some generalizations of the travelling-salesmanproblem, Journal of the Operational Research Society 38 (1987) 1073–1079.