scatter search for the fleet size and mix vehicle routing problem with time windows

18
CEJOR (2007) 15:351–368 DOI 10.1007/s10100-007-0036-9 ORIGINAL PAPER Scatter search for the fleet size and mix vehicle routing problem with time windows Patrícia Prado Belfiore · Luiz Paulo Lopes Fávero Published online: 22 September 2007 © Springer-Verlag 2007 Abstract This work proposes a scatter search (SS) approach to solve the fleet size and mix vehicle routing problem with time windows (FSMVRPTW). In the FSMVRPTW the customers need to be serviced in their time windows at minimal costs by a heterogeneous fleet. Computational results on 168 benchmark problems are reported. Computational testing revealed that our algorithm presented better results compared to other methods published in the literature. Keywords Scatter search · Vehicle routing · Heterogeneous fleet · Time windows 1 Introduction The classical vehicle routing problem (VRP) aims to find a set of routes at a minimal cost (finding the shortest path, minimizing the number of vehicles, etc) beginning and ending the route at the depot, so that the known demand of all nodes are fulfilled. Each node is visited only once, by only one vehicle, and each vehicle has a limited capacity. Some formulations also present constraint on the maximum traveling time. P. P. Belfiore (B ) Department of Production Engineering, FEI University Center, Av. Humberto de Alencar Castelo Branco, 3972, Assunção, São Bernardo do Campo 09850-901, Brazil e-mail: patricia.belfiore@labfin.com.br L. P. L. Fávero Department of Accountancy, School of Economics, Business and Accounting, University of São Paulo, Av. Prof. Luciano Gualberto, 908, FEA 3 - Sala 237, Cidade Universitária, São Paulo 05508-900, Brazil e-mail: [email protected] 123

Upload: patricia-prado-belfiore

Post on 14-Jul-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Scatter search for the fleet size and mix vehicle routing problem with time windows

CEJOR (2007) 15:351–368DOI 10.1007/s10100-007-0036-9

ORIGINAL PAPER

Scatter search for the fleet size and mix vehicle routingproblem with time windows

Patrícia Prado Belfiore · Luiz Paulo Lopes Fávero

Published online: 22 September 2007© Springer-Verlag 2007

Abstract This work proposes a scatter search (SS) approach to solve the fleet size andmix vehicle routing problem with time windows (FSMVRPTW). In the FSMVRPTWthe customers need to be serviced in their time windows at minimal costs by aheterogeneous fleet. Computational results on 168 benchmark problems are reported.Computational testing revealed that our algorithm presented better results comparedto other methods published in the literature.

Keywords Scatter search · Vehicle routing · Heterogeneous fleet · Time windows

1 Introduction

The classical vehicle routing problem (VRP) aims to find a set of routes at a minimalcost (finding the shortest path, minimizing the number of vehicles, etc) beginning andending the route at the depot, so that the known demand of all nodes are fulfilled. Eachnode is visited only once, by only one vehicle, and each vehicle has a limited capacity.Some formulations also present constraint on the maximum traveling time.

P. P. Belfiore (B)Department of Production Engineering, FEI University Center,Av. Humberto de Alencar Castelo Branco, 3972, Assunção,São Bernardo do Campo 09850-901, Brazile-mail: [email protected]

L. P. L. FáveroDepartment of Accountancy, School of Economics, Business and Accounting,University of São Paulo, Av. Prof. Luciano Gualberto, 908, FEA 3 - Sala 237,Cidade Universitária, São Paulo 05508-900, Brazile-mail: [email protected]

123

Page 2: Scatter search for the fleet size and mix vehicle routing problem with time windows

352 P. P. Belfiore, L. P. L. Fávero

Contrary to the classical vehicle routing problem (VRP), the objective of the VRPwith heterogeneous fleet is to minimize the sum of fixed vehicle costs and variablerouting costs. The vehicle costs are the total acquisition and maintenance costs of aheterogeneous fleet. The routing costs are related to the total distance traveled.

In the literature, three variants of VRP with heterogeneous fleet have been studied.The first one was introduced by Golden et al. (1984), in which variable costs areuniformly given over all vehicle types with the number of available vehicles assumedto be unlimited for each type. This version is the one dealt with in this paper and is calledthe fleet size and mix vehicle routing problem (FSMVRP), vehicle fleet mix (VFM) orthe fleet size and composition VRP. The second version considers the variable costs,dependent on vehicle type, which is neglected in the first version. The third one, calledheterogeneous fixed fleet vehicle routing problem (HFFVRP), generalizes the secondversion by limiting the number of available vehicles of each type.

Lenstra and Rinnooy Kan (1981) have analyzed the complexity of the vehiclerouting problem and provided that practically all the vehicle routing problems areNP-hard (among them the classical vehicle routing problem).

Gendreau et al. (1999), Dullaert et al. (2002) and Taillard (1999) affirm that the fleetsize and mix vehicle routing problem (FSMVRP), the FSMVRP with time windows(FSMVRPTW) and the heterogeneous fixed fleet vehicle routing problem (HFFVRP),respectively, are also NP-hard since they are extensions of VRP, which justifies theuse of heuristics and metaheuristics in order to solve the problem.

Liu and Shen (1999) designed the first initial heuristic for the fleet size and mixvehicle routing problem with time windows, yielding good feasible solutions. Theymodified the original instances proposed by Solomon (1987) generating 168 newbenchmark instances. Dullaert et al. (2002) proposed an adaptation of the Solomon’ssequential insertion heuristic for the fleet size and mix vehicle routing problem withtime windows. The present paper develops a scatter search (SS) algorithm to solvethe FSMVRPTW. The method is tested on the same Liu and Shen’s problem set. Theresults are compared with those proposed by Liu and Shen (1999) and Dullaert et al.(2002) providing very good solutions. The initial solutions of SS are generated by twoconstructive heuristics: the sequential insertion heuristic of Dullaert et al. (2002) andan adaptation of Golden et al.’s heuristic.

The paper is organized as follows. Section 2 describes the literature review forVRP with heterogeneous fleet and its extensions. Section 3 gives the formulation ofthe problem, besides some definitions and notation. In Sect. 4, a scatter search overviewis presented. The next two sections describe the scatter search approach proposed inorder to solve the model and present the computational results, respectively. Finally,some conclusions and future research are drawn in the last section.

2 Literature review for VRP with heterogeneous fleet and its extensions

Golden et al. (1984) developed a savings heuristic to solve the fleet size and mixvehicle routing problem as well as techniques for generating a lower bound and anunderestimate of optimal solutions. A new savings heuristic for the FSMVRP based

123

Page 3: Scatter search for the fleet size and mix vehicle routing problem with time windows

Scatter search for the fleet size and mix vehicle routing problem 353

on successive route fusion is presented by Desrochers and Verhoog (1991). At eachiteration, the best fusion is selected by solving a weighted matching problem.

A mathematical programming formulation for the FSMVRP was presented byGheysens et al. (1984). Gheysens et al. (1986) developed a two-stage general assi-gnment based heuristic that uses Golden et al.’s lower bound procedure to determinethe fleet composition to be used in a generalized assignment heuristic in the secondphase.

A seven phase improvement heuristic for the fleet size and mix vehicle routingproblem is developed by Salhi and Rand (1993). The idea is to match the total demandof a given route to an appropriate vehicle capacity; to eliminate an entire route bydropping its customers to insert into other routes; to reallocate customers from a givenroute into other routes to allow such a route to be served by a smaller vehicle, if thisis profitable; and, to either combine routes with small total demand into fewer routeswith larger total demand or split larger routes into smaller ones.

Rochat and Semet (1994) proposed a tabu search approach for delivering pet foodand flour in Switzerland. The company serves its customers from one depot with a hete-rogeneous fixed fleet. The customers have time windows and accessibility constraints.The last constraint refers to some customers that cannot be served by some vehicle.

A tabu search procedure for the multi-trip vehicle routing and scheduling problem(MTVRSP) is proposed by Brandão and Mercer (1997), in which each vehicle canmake several trips per day.

Gendreau et al. (1999) have proposed the tabu search algorithm for the FSMVRP.The initial solution is obtained through the generalized insertion (GENI) algorithm.A post-optimization phase called unstringing and stringing (US) is implemented afterGENI. Tabu search is based on adaptive memory procedure (AMP) developed byRochat and Taillard (1995). New variants of tabu search for the FSMVRP are developedby Wassan and Osman (2002). These variants use a mix of different components,including reactive tabu search concepts, variable neighborhoods, special data memorystructures and hashing functions.

A several insertion-based savings heuristics for the fleet size and mix vehicle routingproblem with time window constraints (FSMVRPTW) was described by Liu and Shen(1999). The method is a generalization of the traditional insertion viewpoint instead ofthe combining concept used in the Clarke and Wright (1964) savings-based heuristics.A certain number of candidate fleet compositions are recorded in the constructionphase, followed by applying a composite improvement scheme on them to enhancethe solution quality. The heuristics were tested on 168 sample problems. Dullaert et al.(2002) proposed three insertion-based heuristics for the FSMVRPTW. The heuristicsare an extension of Solomon’s (1987) sequential insertion heuristic I1 with adaptedformulations of Golden et al.’s savings concepts. The heuristics were tested on thesame Liu and Shen’s problem set.

Taillard (1999) has presented a heuristic column generation method for solvingthe heterogeneous fixed fleet vehicle routing problem (HFFVRP). The method alsosolved the fleet size and mix vehicle routing problem. A new metaheuristic calledback-tracking adaptative threshold accepting (BATA) was developed by Tarantiliset al. (2004) in order to solve the HFFVRP.

123

Page 4: Scatter search for the fleet size and mix vehicle routing problem with time windows

354 P. P. Belfiore, L. P. L. Fávero

3 Problem formulation and definitions

In this section we define the problem under study, and the notation used throughoutthe paper.

3.1 Customers

The problem is given by a set of customers N = {1, . . . , n}, residing at n differentlocations. Every pair of locations (i, j), where i, j ∈ N and i �= j , is associated with atravel time ti j and a distance traveled di j that are symmetrical (ti j = t j i and di j = d ji ).The cost of travel from customer i to customer j is denoted by ci j and it is proportionalto the distance traveled (we assume that the variable routing cost is independent ofthe vehicle type used). Denote by qi , i = 1, . . . , n, the demand at point i . The centraldepot is denoted by 0.

3.2 Fleet of vehicles

The customers are served from one depot with a heterogeneous and unlimited fleet.The vehicles leave and return to the depot. There are several types of vehicles, withT = {1, . . . , m} denoting the set of such types. Each vehicle type k ∈ T has a capacityak and a fixed acquisition cost fk .

We let Ri = {ri (1), . . . , ri (ni )} denote the route for vehicle i , where ri ( j) is theindex of the j th customer visited and ni is the number of customers in the route. Weassume that every route finishes at the depot, i.e., ri (ni + 1) = 0.

3.3 Time windows

Each customer i ∈ N has a time windows, i.e., an interval [ei , li ], where ei ≤ li whichcorresponds, respectively, to the earliest and latest time to start to service customer i .Let si be the service time at customer i . Let be bk

i the moment at which service beginsat customer i by vehicle k.

The objective of the model is to minimize the sum of fixed vehicle costs and travelcosts of servicing the customers within the time window limits.

The decision variables of the model are:

xki j = 1, if j is supplied after i by vehicle k, i = 1, . . . , n k = 1, . . . , m

0, otherwise.

bki = moment at which service begins at customer i by vehicle k, i = 1, . . . , n

k = 1, . . . , m

The objective of the model is to minimize the sum of fixed vehicle costs and travelcosts of servicing the customers within the time window limits. The mathematicalprogramming formulation is presented below.

123

Page 5: Scatter search for the fleet size and mix vehicle routing problem with time windows

Scatter search for the fleet size and mix vehicle routing problem 355

The objective function can be written as follows:

minm∑

k=1

fk

n∑

j=1

xk0 j +

n∑

i=0

n∑

j=0

m∑

k=1

ci j xki j (1)

The model constraints are:

n∑

j=1

xk0 j = 1 k = 1, . . . , m (2)

m∑

k=1

n∑

i=0

xki j = 1 j = 0, . . . , n (3)

m∑

k=1

n∑

j=0

xki j = 1 i = 0, . . . , n (4)

n∑

i=0

xkip −

n∑

j=0

xkpj = 0 p = 1, . . . , n; k = 1, . . . , m (5)

n∑

i=1

n∑

j=0

qi xki j ≤ ak k = 1, . . . , m (6)

bki + si + ti j − Mi j (1 − xk

i j ) ≤ bkj i = 1, . . . , n; j = 1, . . . , n; k = 1, . . . , m

(7)

ei ≤ bki ≤ li i = 1, . . . , n (8)

bki ≥ 0 i = 1, . . . , n; k = 1, . . . , m (9)

xki j ∈ {0, 1} i = 0, . . . , n; j = 0, . . . , n; k = 1, . . . , m (10)

Constraints (2)–(5) ensure that each customer is visited exactly once and that avehicle enters and departs from each customer location and from the depot. Constraint(6) guarantees that the vehicle capacities are not exceeded. Equation (7) imposes aminimum time for beginning the customer service j in a determined route and alsoguarantees that there will be no subtours. The constant Mi j is a large enough number,for instance, Mi j = li + ti j − e j . Constraint (8) guarantees that all customers will beserved within their time windows. Equation (9) ensures that the decision variable bk

iis positive. Finally Eq. (10) guarantees that the decision variable xk

i j is binary.

4 Scatter search overview

Scatter search (SS) is a novel instance of evolutionary methods, because it vio-lates the premise that evolutionary approaches must be based on randomization—though they likewise are compatible with randomized implementations. Glover (1977,1998) proposed the first description of the method and a scatter search template. SSoperates on a set of reference solutions to generate new solutions by weighted linear

123

Page 6: Scatter search for the fleet size and mix vehicle routing problem with time windows

356 P. P. Belfiore, L. P. L. Fávero

Step 1: Generate solutions – generate a set P of Psize diverse trial solutions through the diversification

generation method.

Step 2: Improve solutions – apply the improvement method to improve solutions generated in Step 1.

Step 3: Build the reference set: Put 1b best solutions and 2b diverse solutions P in the reference set

(RefSet). Number of iterations = 0.

NewSolutions = TRUE

While (number of iterations < MaxIter) do

While NewSolutions in RefSet do

Step 4: Combine solutions

Step 5: Improve solutions – Apply the improvement method for each combined solution.

Step 6: Update reference set

End while

Step 7: Rebuild reference set: Remove the worst 2b solutions from the RefSet. Generate PSize

diverse trial solutions and apply the improvement method (step 1 and 2). Choose 2b diverse solutions and

add them to RefSet. Number of iterations = Number of iterations + 1.

End while

Fig. 1 Scatter search algorithm

combinations of structured subsets of solutions. It uses strategies for search diver-sification and intensification that have proved effective in a variety of optimizationproblems.

The following parameters are used in the method discussion:P Size = size of the set of diverse solutions generated by the diversification gene-

ration methodb = size of the reference set (RefSet)b1 = size of the high-quality subset of RefSetb2 = size of the diverse subset of RefSetMaxIter = maximum number of iterationsA sketch of the scatter search method is presented in Fig. 1. The first step (diver-

sification generation method) generates a set P of diverse trial solutions, with PSizeelements, using one or more arbitrary trial solutions as an input. The improvementmethod (step 2) is applied to transform a trial solution into one or more enhanced trialsolutions. If no improvement occurs for a given trial solution, the enhanced solutionis considered to be the same as the one submitted for improvement. Step 3 chooses bsolutions from P , according to their quality or diversity, in order to build the referenceset (RefSet). The subset of quality solutions (Ref Set1) contains the b1 best solutionsand the subset of diverse solutions (Ref Set2) contains the b2 diverse solutions. Theb2 elements are chosen from P aiming to maximize the minimum distance to Ref-Set. In the step 4, solutions are combined. For each combined solution we apply theimprovement method (step 5). At this point, the reference set can be updated (step6) depending on the quality or diversity of the new combined solution. In this work,dynamic and static RefSet updating are implemented, as described in Sect. 5.3. If thesearch converges, i.e., no new solutions are found for inclusion in RefSet, then Step7 rebuilds RefSet. The algorithm stops when a termination criterion—the maximumnumber of iterations, MaxIter, is reached.

123

Page 7: Scatter search for the fleet size and mix vehicle routing problem with time windows

Scatter search for the fleet size and mix vehicle routing problem 357

5 Solution method

The initial reference set is composed of solutions generated using two differentconstruction heuristics to generate the initial solutions. The Dullaert et al.’s (2002)sequential insertion heuristic is applied to generate quality solutions. To increase thediversity of the solution pool in the reference set, an adaptation of Golden et al.’s heu-ristic is also used to generate different solutions. The solution methods are describedbelow.

5.1 Sequential insertion heuristic of Dullaert et al. (2002)

Dullaert et al. (2002) have extended the Solomon’s (1987) sequential insertion heuristicfor a fleet size and mix vehicle routing problem with time windows.

The parameters ei , li , si , ti j , di j used here are the same described in the Sect. 3.The moment at which service begins at customer j, b j , equals max

{e j , bi + si + ti j

}

and the waiting time w j is equal to max{0, e j − (bi + si + ti j )

}.

The Dullaert et al.’s heuristic starts by initializing the current route for the smallestvehicle type. Routes can be initialized with the customer farthest from the depot or theone with the earliest deadline. After starting the current route with the initializationcriterion, the sequential insertion heuristic uses the insertion criterion c1(i, u, j) tocalculate for each unrouted customer u the best place and associated cost for insertionbetween two adjacent customers i and j in the current partial route (i0, i1, . . . , im)

in which i0 and im represent the origin and destination location of the vehicle (eg thedepot).

The insertion criterion c1(i, u, j) takes into account the addition of distancec11(i, u, j) and time c12(i, u, j) caused by the insertion of a customer u, besidesa third component c13(i, u, j) that considers a possible addition to the fixed cost ofthe vehicle. Solomon (1987) equates the additional time needed, c12(i, u, j), to thedifference between the new time at which service begins at customer j after insertingu, bnew

j , and the original start of service at j, b j .The third component c13(i, u, j) of the insertion cost c1(i, u, j) is an adaptation to

the saving concept of Golden et al. (1984). Dullaert et al. (2002) have implementedthree variations of the savings concept: adapted combined savings—ACS, adaptedoptimistic opportunity savings—AOOS and adapted realistic opportunity savings—AROS. This paper implements only the adapted optimistic opportunity savings—AOOS, due to results obtained by Dullaert et al.

According to the authors, the actual load of a vehicle and its maximum capacityare called Q and Q̄, respectively. The new load of the vehicle and its possible newcapacity after the insertion of a new customer are represented by Qnew and Q

new,

respectively.The adapted combined savings—ACS is defined as the difference between the fixed

cost of the vehicle able to carry the load of the fleet after and before the insertion of thecustomer u, ACS = f (Qnew) − f (Q), where f (qu) is the fixed cost of the smallestvehicle able to deliver the demand qu .

123

Page 8: Scatter search for the fleet size and mix vehicle routing problem with time windows

358 P. P. Belfiore, L. P. L. Fávero

The adapted optimistic opportunity savings—AOOS is an extension of the ACSsubtracting f (Q

new − Qnew) which can be defined as the fixed cost of the smallestvehicle able to carry the load not used of the new vehicle. Therefore, we have:

AOOS = (f (Qnew) − f (Q)

) − f (Qnew − Qnew) (11)

The cheapest insertion cost and the associated insertion place is determined for eachunrouted customer u as:

c1(i, u, j) = minp

⌊c1

(i p−1, u, i p

)⌋, p = 1, . . . , m (12)

in which

c1(i, u, j) = α1c11(i, u, j) + α2c12(i, u, j) + α3c13(i, u, j) (13)

where

c11(i, u, j) = diu + du j − udi j , u ≥ 0 (14)

c12(i, u, j) = bnewj − b j (15)

c13(i, u, j) = AOOS (16)

Different from the heuristic proposed by Solomon (1987), there is no restriction to theaddition of weights αi being 1.

The best customer is selected according to the selection criterion c2(i, u, j). Theselected customer u∗ is then inserted in the route between i and j .

c2(i, u∗, j) = maxu

[c2(i, u, j)] u unrouted and feasible (17)

c2(i, u, j) = λ(d0u + t0u) + su + f (qu) − c1(i, u, j), λ ≥ 0 (18)

where su is the service time of customer u.If no remaining unrouted customer has a feasible insertion place, a new route is

initialized and identified as the current route.

5.2 Adaptation of Golden et al.’s heuristic

The second constructive heuristic proposed is an adaptation of Golden et al.’s algo-rithm.

Golden et al. (1984) extended the Clarke and Wright (1964) savings technique forthe FSMVRP. Table 1 presents the savings algorithms proposed by Golden et al.

We implement only the ROS-γ algorithm aiming to generate diversity. The ROS-γalgorithm uses a route shape parameter that changes the Clarke and Wright savingsexpression to si j = c0i + c0 j − γ ci j . In our tests, γ was allowed to vary from 0.0 toP Size/2−1

10 , by tenths, generating a total of P Size/2 trial solutions.

123

Page 9: Scatter search for the fleet size and mix vehicle routing problem with time windows

Scatter search for the fleet size and mix vehicle routing problem 359

Table 1 Summary of the savings algorithm

Algorithm Savings formula

Clarke and Wright—CW s1i j = ci0 + c j0 − ci j

Combined savings—CS s2i j = s1

i j + F(zi ) + F(z j ) − F(zi + z j )

Optimistic opportunity savings—OOS s3i j = s2

i j + F(P(zi + z j ) − zi − z j )

Realistic opportunity savings—ROS if P(zi + z j ) > max(P(zi ), P(z j ))then s4i j = s3

i j +F(P(zi + z j ) − zi − z j ) otherwise s4

i j = s3i j

ROS-γ s5i j = s4

i j + (1 − γ )ci j

F(z), the fixed cost of the smallest vehicle that can service a demand of size z; P(z), the capacity of thesmallest vehicle that can service a demand of z

We adapt the ROS-γ algorithm for the FSMVRPTW, adding time windowsconstraints. First, due to the existence of time windows we must consider the routeorientation. Second, it is necessary to verify if the time windows constraints are respectby joining customers i and j .

5.3 Scatter search procedure

We discuss below critical components of our scatter search procedure to solve theFSMVRPTW.

5.3.1 Diversification generation method

The initial population must be a wide set of disperse individuals. However, it must alsoinclude good individuals. So, the individuals for the population are created by using arandom procedure in the constructive heuristics to achieve a certain level of diversity.In the next step, an improvement method must be applied to these individuals in orderto get better solutions.

Two diversification generation methods are proposed to generate a set P with Psizeelements. P Size/2 solutions are generated from Dullaert et al.’s heuristic by incor-porating a random version in the original heuristic, called DH-random, and the otherP Size/2 solutions are generated from Golden et al.’s adapted heuristic, varying theparameter γ , as described in Sect. 5.2.

The DH-random version may be achieved by modifying the initialization criterionand the insertion criterion. In DH-random customer j is randomly selected from acandidate list. The candidate list is created by first defining r_first and r_last as the firstand last customer in the list. If the initialization criterion considers the customer withthe earliest deadline, r_first and r_last are the customers with the earliest and latestdeadline, respectively. If the initialization criterion considers the customer farthestfrom the depot, r_first and r_last are the customers farthest and nearest from thedepot, respectively. In the insertion criterion, r_first and r_last are the customers withthe cheapest and more expensive insertion cost, respectively. A possible customer i is

123

Page 10: Scatter search for the fleet size and mix vehicle routing problem with time windows

360 P. P. Belfiore, L. P. L. Fávero

added to the list if:

ri ≤ r_first + α(r_first − r_last) (19)

where α(0 ≤ α ≤ 1) is the parameter that controls the amount of randomizationpermitted. If α is set to a value of zero, DH-random becomes the deterministic proce-dure described in Sect. 5.1. On the contrary, the candidate list reaches its maximumpossible cardinality when α is set to a value of one.

5.3.2 Improvement method

To each one of the PSize solutions obtained through the diversification generationmethod we apply the improvement method that is composed by three phases: swap inthe same route, route elimination and combination and insertion. The first exchangeprocedure is once again applied in the end of the process.Swap in the same route. This exchange procedure has the goal of reducing the lengthof a route. The procedure is applied to each route Rk , for k = 1, . . . , m. From i =1, . . . , nk − 1 and j = i + 1, . . . , nk , the procedure tests the reduction of the lengthof a route Rk produced by exchanging the positions of rk(i) and rk( j). If the length isreduced and the constraints are respected, the positions are exchanged. The procedurestops when no more feasible exchanges are possible that result in a shorter route length.Route elimination and combination.This exchange procedure aims to eliminate routeswith vehicles smaller than the second largest vehicle of the fleet. The eliminationcriterion can also be applied to routes with n or less customers and routes with idlecapacity. For each possible route R j eliminated (we begin with the longest route, thatis, the one with the maximum length), we aim to combine it to another route Rk ,chosen through a candidate list. This candidate list is based on the ideas of Corberánet al. (2002) and is described below.

For each one of the routes evaluated (R j ), there is a candidate list, based on thebest pairs of routes (R j , Rk). The best pair is the one with the minimum distancebetween two routes. When the routes have only one customer, the distance betweenthe routes is simply the distance between two customers. When a route has more thanone customer, we consider the extreme points (first and last customer) to calculate theminimum distance. The minimum distance between routes R j and Rk is given by:

min{dr j (1)rk (nk), drk (1)r j (n j )

}(20)

where:dr j (1)rk (nk) is the distance between the first customer on route R j to the last one on

route Rk

drk (1)r j (n j ) is the distance between the first customer on route Rk to the last one onroute R j .

For each route R j , we randomly choose a candidate route Rk from the candidatelist. We attempt to merge the routes, considering R j first and then Rk . If the mergingis feasible, we stop and go to the next route R j . A feasible merging of routes R j andRk is such that the resulting route does not violate the capacity and time windows

123

Page 11: Scatter search for the fleet size and mix vehicle routing problem with time windows

Scatter search for the fleet size and mix vehicle routing problem 361

constraints. If the merging is not feasible, we choose another candidate route Rk fromthe candidate list, while it will have a candidate route Rk .Insertion. This exchange method is based on removing a customer from one routeand inserting it into another route. The insertion movement is implemented for eachroute R j , where all the feasible customers will be tested in all positions of anotherroute Rk , chosen through a candidate list, similar to the one described in the routeselimination and combination procedure. We begin with the longest route R j , whichis the one with the maximum length, and for each route R j chosen we begin with thefarthest customer i from the depot. We select the best insertion position of customer iin route Rk . The customer is only inserted if the total distribution cost is reduced andall the constraints are respected.

5.3.3 Reference set update method

The reference set consists of a total of b1 best solutions from the Dullaert et al.’sheuristic and b2 diverse solutions from Golden et al.’s adapted heuristic. The distancebetween two solutions is calculated by adding the number of non-common arcs ofeach solution before the combination.

There are two main aspects that must be considered when update the RefSet. Thefirst one refers to the timing of the update. There are two possibilities: static update(S) and dynamic update (D). The second aspect deals with choosing the criterion foradding to and deleting elements from RefSet. We consider two types of updates: byquality (Q) and by quality and diversity (QD).

In the static update (S), the reference set doesn’t change until all solutions combi-nations of RefSet were done. In the dynamic update (D), the reference set is updatewhen a new better solution is found.

In the quality update (Q), if a new solution is better than the worst element ofRef Set1, then the worst element of Ref Set1 is substituted by the new solution. In thequality and diversity update (QD), if a new solution is better than the worst elementof Ref Set1, then the worst element of Ref Set1 is substituted by the new solution.If a new solution is worse than the worst element of Ref Set1, but it increases theminimum distance between the solutions in Ref Set2, the solution with the minimumdistance in Ref Set2 is substituted by the new solution.

5.3.4 Solution combination method

The solution combination method is applied to all pairs of solutions in the currentreferent set.

This method is divided into two steps. Step 1 aims to combine only the commonelements of the combined routes and step 2 serves all the customers that weren’t servedby step 1. The combination method was based on the ideas of Corberán et al. (2002)and Rego and Leão (2000).

Step 1 Let A be a solution with m routes and B a solution with n routes, where Ai

is the i th route for solution A, i = {1, . . . , m}, and Bk is the kth route for solutionB, k = {1, . . . , n}. The solutions A and B are combined. The combination procedure

123

Page 12: Scatter search for the fleet size and mix vehicle routing problem with time windows

362 P. P. Belfiore, L. P. L. Fávero

of step 1 is built from a matrix A×B. The component (Ai , Bk) of this matrix representsthe number of common elements between the route i of solution A and route k ofsolution B. Firstly we define which routes are combined, that is, which component(Ai , Bk) is chosen. It begins with the component with a greater number of commonelements. If there is a tie, we choose randomly one of the combinations.

The combined route is formed by the routes’ common elements. The route of thecombined solution is similar to the one of the best solution and, if there is a tie,we choose randomly the route of one of the solutions. The designated vehicle isthe smallest one able to fulfill the total demand of the route. Each combined route isexcluded from the list (we delete the line and column referring to components Ai , Bk).The procedure follows while there are routes (which have not been combined yet) withcommon elements.

Step 2 This step aims to fulfill the customers who have not been served by step 1.This is done through an insertion procedure. Customer i is the farthest one from thedepot, and is going to be inserted. Based on the initial solutions A and B (beforecombination), all the routes in which customer i is inserted are verified and also all thearcs in which xi j = 1 (customer i is attended before customer j) or x ji = 1 (customeri is attended after customer j). Therefore, for each j belonging to one of the combinedroutes in the step 1, we calculate the cost for inserting customer i (addition of fixedcost, routing cost and time) before customer j (when xi j = 1) or the cost for insertingcustomer i after customer j (when x ji = 1).

For each possible position of customer insertion i , we choose the one with theminimum cost, since the time window and vehicle capacity constraints have beenrespected. If there are no feasible positions of customer insertion i , we add anotherroute.

The combination method guarantees the feasibility of the final solutions. For eachcombined solution we apply the improvement method.

The algorithm stops when Max I ter = 5 or when reaching the maximum time of15 min, until the last iteration is finished.

6 Computational results

The algorithm was coded in Delphi 7 and run on a AMD Athlon with a 1 GHz processorand 512 MB of RAM memory. The method has been applied to solve the benchmarkinstances proposed by Liu and Shen (1999), derived from the vehicle routing problemwith time windows (VRPTW) instances by Solomon (1987).

The VRPTW original instances contain 56 problems. Each of these problems has100 customers and the travel time between nodes is equal to the Euclidean distance.The 56 test problems are grouped into six problem types. The geographical data areeither randomly generated according to a uniform distribution (problem sets R1 andR2), clustered in groups (problem sets C1 and C2), or semi-clustered (problem setsRC1 and RC2). The semi-clustered problem contains a mix of randomly generateddata and clusters. Further, sets R1, C1 and RC1 have a shorter scheduling horizonand allow fewer customers per route. Problem sets R2, C2 and RC2 have a longerscheduling horizon and allow a larger number of customers per route.

123

Page 13: Scatter search for the fleet size and mix vehicle routing problem with time windows

Scatter search for the fleet size and mix vehicle routing problem 363

Table 2 Problem set data of Liu and Shen (1999)

Vehicle Capacity R1a R1b R1c

A 30 50 10 5

B 50 80 16 8

C 80 140 28 14

D 120 250 50 25

E 200 500 100 50

Vehicle Capacity C1a C1b C1c

A 100 300 60 30

B 200 800 160 80

C 300 1,350 270 135

Vehicle Capacity RC1a RC1b RC1c

A 40 60 12 6

B 80 150 30 15

C 150 300 60 30

D 200 450 90 45

Vehicle Capacity R2a R2b R2c

A 300 450 90 45

B 400 700 140 70

C 600 1,200 240 120

D 1,000 2,500 500 250

Vehicle Capacity C2a C2b C2c

A 400 1,000 200 100

B 500 1,400 280 140

C 600 2,000 400 200

D 700 2,700 540 270

Vehicle Capacity RC2a RC2b RC2c

A 100 150 30 15

B 200 350 70 35

C 300 550 110 55

D 400 800 160 80

E 500 1,100 220 110

F 1,000 2,500 500 250

Liu and Shen (1999) have adapted Solomon’s (1987) problems set to heterogeneousfleet, adding costs for different types of vehicles (see Table 2).

Three different sets of vehicle costs are considered for each problem of Solomon.Therefore, a total of 168 problems were solved. For example, notation R1a, R1b andR1c used refer to the original R1 set with a larger vehicle cost, a medium vehicle cost,and a smaller vehicle cost, respectively.

The results of SS algorithm are compared with the heuristics proposed by Liu andShen (1999) and Dullaert et al. (2002). Since in these two papers different ways ofevaluating the solution cost are adopted, we describe the results of our algorithm by

123

Page 14: Scatter search for the fleet size and mix vehicle routing problem with time windows

364 P. P. Belfiore, L. P. L. Fávero

Table 3 Scatter search results for different values of b1 and b2

b1 b2 Timea Valuesb Valuesc

3 2 516 3,035.65 1,314.87

5 5 687 2,997.32 1,294.17

7 3 687 2,983.00 1,288.20

3 7 695 3,001.25 1,295.01a Average processing time (seconds) of the 168 problemsb Average value considering the total fixed cost of the used vehicles and the total schedule time (excludingthe service time of the customers)c Average value considering only the total schedule time (excluding the total fixed cost of the used vehiclesand the service time of the customers)

Table 4 Results for different updates and different PSize values

Parameters Valuesb Valuesc

Psize Timea Update

10 296 QD Static 3,047.90 1,323.22

Dynamic 3,053.66 1,315.84

Q Static 3,059.71 1,323.69

Dynamic 3,050.37 1,320.35

20 465 QD Static 3,022.98 1,311.77

Dynamic 3,015.74 1,309.62

Q Static 3,031.34 1,318.43

Dynamic 3,023.96 1,305.92

30 687 QD Static 2,998.57 1,299.45

Dynamic 2,983.00 1,288.20

Q Static 3,004.85 1,310.51

Dynamic 2,995.53 1,302.70

40 911 QD Static 2,989.41 1,297.43

Dynamic 2,985.27 1,290.76

Q Static 3,011.64 1,297.63

Dynamic 3,018.18 1,285.88a Average processing time (seconds) of the 168 problemsb Average value considering the total fixed cost of the used vehicles and the total schedule time (excludingthe service time of the customers)c Average value considering only the total schedule time (excluding the total fixed cost of the used vehiclesand the service time of the customers)

means of two different tables. The Liu and Shen’s solution cost is given by the totalfixed cost of the used vehicles and the total schedule time, excluding the (constant)service time at the customers. The Dullaert et al.’s solution value considers only thetotal schedule time (i.e., it excludes the service times of the customers and the vehiclefixed costs).

123

Page 15: Scatter search for the fleet size and mix vehicle routing problem with time windows

Scatter search for the fleet size and mix vehicle routing problem 365

Table 5 Comparison with Liu and Shen’s algorithm

Set Liu and Shen (1999) Scatter search

Value Time (s) Value �% Time (s)

R1A 4,398 4,210.36 −4.27 531

R1B 2,054 1,937.52 −5.67 586

R1C 1,700 1,640.64 −3.49 605

R1 2,717.33 531 2,596.17 −4.48 574

C1A 8,007 7,421.33 −7.31 644

C1B 2,485 2,394.7 −3.63 629

C1C 1,705 1,670.94 −2.00 665

C1 4,065.67 435 3,828.99 −4.32 646

RC1A 5,184 5,130.44 −1.03 619

RC1B 2,235 2,190.39 −2.00 591

RC1C 1,849 1,790.12 −3.18 621

RC1 3,089.33 470 3,036.98 −2.07 610

R2A 3,809 3,708.68 −2.63 672

R2B 1,797 1,727.04 −3.89 806

R2C 1,513 1,439.27 −4.87 794

R2 2,373 529 2,291.66 −3.80 757

C2A 6,717 6,355.09 −5.39 672

C2B 1,970 1,905.82 −3.26 686

C2C 1,288 1,276.29 −0.91 633

C2 3,325.00 444 3,179.07 −3.19 664

RC2A 5,273 4,811.2 −8.76 834

RC2B 2,324 2,189.66 −5.78 870

RC2C 1,978 1,894.57 −4.22 910

RC2 3,191.67 533 2,965.14 −6.25 871

Average 3,074.11 494 2,983.00 −4.02 687

First, we test different parameters of SS algorithm, with respect to both the qualityof the solutions found and the computing times: b1, b2 values (3, 2; 5, 5; 7, 3; 3, 7),PSize values (10, 20, 30, 40), the first aspect of the update (static or dynamic), thesecond aspect (quality or quality and diversity). The best result was obtained withP Size = 30, b1 = 7, b2 = 3, dynamic update (D) and quality and diversity update(QD). The results are detailed in Tables 3 and 4. The average value represents theaverage results over all the 168 problems.

Table 5 compares our algorithm with that of Liu and Shen (1999). Liu and Shen(1999) adapted the savings concept of Golden et al. (1984), generating three new heu-ristics: modified combined savings (MCS), modified optimistic opportunity savings(MOOS) and modified realistic opportunity savings (MROS). An improvement phaseis applied to the constructive heuristics generated. Table 5 presents only the best result(MCS, MOOS or MROS with improvement) for each group of instances. The results

123

Page 16: Scatter search for the fleet size and mix vehicle routing problem with time windows

366 P. P. Belfiore, L. P. L. Fávero

Table 6 Comparison with Dullaert et al.’s algorithm

Set Dullaert et al. (2002) Scatter search

value value �%

R1A 1,548.53 1,430.84 −7.60

R1B 1,557.38 1,432.57 −8.01

R1C 1,557.85 1,432.57 −8.04

R1 1,554.59 1,431.99 −7.89

C1A 1,166.09 1,004.42 −13.86

C1B 1,126.01 1,001.33 −11.07

C1C 1,155.45 1,003.85 −13.12

C1 1,149.18 1,003.20 −12.69

RC1A 1,665.04 1,568.96 −5.77

RC1B 1,680.55 1,574.27 −6.32

RC1C 1,689.92 1,576.48 −6.71

RC1 1,678.50 1,573.24 −6.27

R2A 1,426.52 1,345.80 −5.66

R2B 1,431.49 1,345.80 −5.99

R2C 1,419.81 1,336.30 −5.88

R2 1,425.84 1,341.05 −5.84

C2A 821.38 751.62 −8.49

C2B 821.38 751.62 −8.49

C2C 811.16 747.22 −7.88

C2 817.97 750.15 −8.29

RC2A 1,800.82 1,630.84 −9.44

RC2B 1,741.97 1,632.57 −6.28

RC2C 1,741.75 1,632.57 −6.27

RC2 1,761.55 1,631.99 −7.33

Average 1,406.20 1,288.80 −8.05

are presented in a way similar to that adopted in Liu and Shen (1999), namely by givingthe average results both for each group of instances (i.e., R1a, R1b, R1c, . . ., RC2c)and for each of the six subsets (i.e., R1, C1, . . ., RC2). For each group of instances,Table 5 gives the average solution value of Liu and Shen’s algorithm and of our scattersearch algorithm, and the percentage improvement we obtained. The last row of thetable reports the average results over all the instances. Table 5 shows that our scattersearch algorithm outperforms Liu and Shen’s algorithm, with respect to the quality ofthe solutions found. The percentage gap is reduced on average to 4.02%.

Finally, Table 6 reports the comparison of our approach with the constructive algo-rithm proposed by Dullaert et al. (2002). Dullaert et al. do not give computing timesfor their algorithm, since they observed that their method is simpler and faster than Liuand Shen’s algorithm. For each group of instances, Table 6 gives the average solutionvalue of Dullaert et al.’s algorithm and of our scatter search algorithm, and the

123

Page 17: Scatter search for the fleet size and mix vehicle routing problem with time windows

Scatter search for the fleet size and mix vehicle routing problem 367

percentage improvement we obtained. Table 6 shows that our approach outperformsthat of Dullaert et al. (2002) for each group of instances. The percentage gap is reducedon average to 8.05%.

7 Conclusions and future research

We have proposed a scatter search (SS) algorithm for the fleet size and mix vehiclerouting problem with time windows (FSMVRPTW). To generate the initial solutionsof SS we propose two constructive heuristics: the sequential insertion heuristic ofDullaert et al. (2002) that uses the adapted optimistic opportunity savings concept(AOOS) and an adaptation of Golden et al. (1984)’s heuristic that uses the ROS-γalgorithm.

The method has been applied to solve the benchmark instances proposed by Liu andShen (1999). The results of SS algorithm were compared with the heuristics proposedby Liu and Shen (1999) and Dullaert et al. (2002).

First, we test different parameters of SS algorithm, with respect to both the qualityof the solutions found and the computing times: size of the set of diverse solutions(PSize), size of the reference set (b), size of the high-quality subset of Ref Set (b1),size of the diverse subset of Ref Set (b2), timing and criterion of the update. We canconclude that choosing these parameters it is possible to obtain better results.

Computational results revealed that our scatter search algorithm outperforms Liuand Shen’s algorithm, with respect to the quality of the solutions found. The percentagegap is reduced on average to 4.02%.

Comparing with Dullaert et al.’s heuristic, our approach presented better resultfor each group of instances, with respect to the quality of the solutions found. Thepercentage gap is reduced on average to 8.05%.

As future research, other constructive heuristics can be applied to obtain an initialsolution. Other improvement heuristics can be tested. Besides, the proposed scattersearch approach can be adapted for other problems, as VRP with multiple depots, splitdeliveries, etc.

References

Brandão J, Mercer A (1997) A tabu search algorithm for the multi-trip vehicle routing and schedulingproblem. Eur J Oper Res 100(1):180–191

Clarke G, Wright JW (1964) Scheduling of vehicles from a central depot to a number of delivery points.Oper Res 12(4):568–581

Corberán A, Fernández E, Laguna M, Martí R (2002) Heuristic solutions to the problem of routing schoolbuses with multiple objectives. J Oper Res Soc 53(4):427–435

Desrochers M, Verhoog TW (1991) A new heuristic for the fleet size and mix vehicle routing problem.Comput Oper Res 18(3):263–274

Dullaert W, Janssens GK, Sorensen K, Vernimmen B (2002) New heuristics for the fleet size and mixvehicle routing problem with time windows. J Oper Res Soc 53:1232–1238

Gendreau M, Laporte G, Musaraganyi C, Taillard ED (1999) A tabu search heuristic for the heterogeneousfleet vehicle routing problem. Comput Oper Res 26(12):1153–1173

Gheysens F, Golden B, Assad A (1984) A comparison of techniques for solving the fleet size and mixvehicle routing problem. Oper Res Spektrum 6(4):207–216

123

Page 18: Scatter search for the fleet size and mix vehicle routing problem with time windows

368 P. P. Belfiore, L. P. L. Fávero

Gheysens F, Golden B, Assad A (1986) A new heuristic for determining fleet size and composition. MathProgram Study 26:233–236

Glover F (1977) Heuristics for integer programming using surrogate constraints. Decision Sci 8(1):156–166Glover F (1998) A Template for scatter search and path relinking. In: Hao J-K, Lutton E, Ronald E,

Schoenauer M, Snyers D (eds) Artificial evolution, lecture notes in computer science, vol 1363.Springer, Heidelberg, pp 13–54

Golden BL, Assad A, Levy L, Gheysens F (1984) The fleet size and mix vehicle routing problem. ComputOper Res 11(1):49–65

Lenstra JK, Rinnooy Kan AHG (1981) Complexity of vehicle and scheduling problems. Networks11(2):221–227

Liu FH, Shen SY (1999) The fleet size and mix vehicle routing problem with time windows. J Oper ResSoc 50(7):721–732

Rego C, Leão P (2000) A scatter search tutorial for graph-based permutation problems. Hearin Center forEnterprise, University of Mississippi, HCES-10-00, USA. In: Rego C, Alidaee B (eds) Metaheuristicoptimization via memory and evolution: Tabu search and scatter search. Kluwer, Dordrecht, pp 1–24

Rochat Y, Semet F (1994) A tabu search approach for delivering pet food and flour in Switzerland. J OperRes Soc 45(11):1233–1246

Rochat Y, Taillard ED (1995) Probabilistic diversification and intensification in local search for vehiclerouting. J Heuristics 1(1):147–167

Salhi S, Rand GK (1993) Incorporating vehicle routing into the vehicle fleet composition problem. Eur JOper Res 66(3):313–330

Solomon MM (1987) Algorithms for the vehicle routing and scheduling problems with time windowsconstraints. Oper Res 35(2):254–265

Taillard ÉD (1999) A heuristic column generation method for the heterogeneous fleet vehicle routing pro-blem. Rairo Oper Res 33(1):1–14

Tarantilis CD, Kiranoudis CT, Vassiliadis VS (2004) A threshold accepting metaheuristic for the heteroge-neous fixed fleet vehicle routing problem. Eur J Oper Res 152(1):148–158

Wassan NA, Osman IH (2002) Tabu search variants for the mix fleet vehicle routing problem. J Oper ResSoc 53:768–782

123