scatter search for the fleet size and mix vehicle routing problem with time windows
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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