Int J Adv Manuf Technol (2013) 68:57–68 DOI 10.1007/s00170-012-4708-9
ORIGINAL ARTICLE
Solving reverse logistics vehicle routing problems with time windows Sally Kassem & Mingyuan Chen
Received: 23 December 2010 / Accepted: 22 December 2012 / Published online: 12 January 2013 # Springer-Verlag London 2013
Abstract A vehicle routing problem with simultaneous pick-up and delivery in closed-loop logistics network optimization is studied in this paper. Since, in practice, material pick-up and delivery are only allowed to take place on certain time periods, we consider the reverse logistics vehicle routing problem with time windows. A mixed integer programming model is proposed to formulate the considered problem. A heuristic solution approach for solving the model is developed due to the NP-hard nature of solving the model. The heuristic solution is then used as an initial solution of a simulated annealing procedure for improved solutions. The proposed heuristic method and the simulated annealing procedure yield very promising solutions in much less computational time when compared with optimal solutions generated by exact solution procedures. Numerical examples are presented to illustrate the developed model and solution methods. Keywords Reverse logistics . Vehicle routing . Simultaneous pick-up and delivery . Time windows . Heuristic method . Simulated annealing
1 Introduction In recent years, many manufacturers turned to green manufacturing. One of the actions taken by manufacturing companies towards green manufacturing is to collect their endElectronic supplementary material The online version of this article (doi:10.1007/s00170-012-4708-9) contains supplementary material, which is available to authorized users. S. Kassem : M. Chen (*) Department of Mechanical and Industrial Engineering, Concordia University, 1455 de Maisonneuve West, Montreal, QC, Canada H3G 1M8 e-mail:
[email protected]
of-life (EOL) products from customers for either reuse or proper disposal. This called many researchers and practitioners to study the process of collecting EOL products, known as reverse logistics networks. Collecting products from customers may be done in different ways. For example, pick-ups can be performed after the last delivery, which is known as the “vehicle routing problem (VRP) with backhauls”. The other version is VRP with mixed loads, where, pick-ups and deliveries are allowed in any sequence, under the condition that customers are divided into delivery customers and pick-up customers. The vehicle routing problem with simultaneous pick-up and delivery (VRPSPD) is another approach for vehicle routing and reverse logistics, where vehicles perform both delivery and pick-up from each customer simultaneously at each stop. The early work introducing VRPSPD can be found in [19]. The work in [19] was concerned with a library situation where delivery and pickup of books were required. The reported problem consisted of 22 customers and a heuristic approach was developed to solve the problem. VRPSPD has recently been recognized for its importance, especially in reverse logistics applications. Some applications for VRPSPD are in soft drink industries where delivery of full bottles and collection of empty ones are typical. It also found application in printer manufacturing where full ink toners and cartridges are delivered and empty ones are collected. Another typical application is in photocopier manufacturing industry where manufacturers are required to take back or properly dispose of the end-of-life (EOL) products. Salhi and Nagy [23] considered a similar problem and developed an insertionbased heuristic to solve the problem for different cases with single and multiple depots. Dethloff [10] proposed a mathematical model to formulate the VRPSPD and a heuristic algorithm (RESCAP-RS) to solve the problem. Dethloff [11] compared the RESCAP-RS algorithm with other algorithms originally developed to solve VRP with backhauls or
58
VRP with mixed loads. It showed that RESCAP-RS can produce superior results. More recently, several researchers used meta-heuristics to solve VRPSPD. For example, Tang and Galvao [26] and Wassan et al. [27] used tabu search to solve the problem. Chen and Wu [8] proposed a heuristic method based on record-to-record travel, tabu lists, and route improvement procedures. Cao and Lai [6] used an improved differential evolution algorithm. In addition, the ant system and ant colony methods were used to solve VRPSPD problems as in [9, 13]. Ganesh and Narendran [12] used a heuristic method and a simulated annealing (SA) approach to solve a class of the VRPSPD. In many practical applications, vehicle routing problems are solved requiring that the vehicles must visit each customer within a specified time interval, the “time window”. Such problems are termed as vehicle routing problem with time windows (VRPTW). The vehicles start at the depot and visit the customers within their associated time windows. A vehicle arriving earlier than the required time can wait until the beginning of the time window but may not be allowed to arrive after the end of the time window. Comparing to literature on VRPSPD, literature on VRPTW is abundant, due to its early and wellrecognized importance. Extensive literature reviews on VRPTW problems and solution methodologies can be found in [3] and [15]. Since VRPTW is NP-hard in nature, methods based on various meta-heuristics have been widely used in solving the problem. Bräysy and Gendreau [4] provided a literature review on using meta-heuristics for solving VRPTW problems before 2005. More recent development includes, for example, [18] and [22] where simulated annealing was used. Ming-Yao et al. [20] used tabu search, Wenfeng et al. [28] used genetic algorithms, and Jiang et al. [14] used a hybrid particle swarm and evolution algorithm for solving this type of problems. In this paper, the VRP in a closed loop supply chain is considered. The problem is a combination of the standard versions of VRPSPD and VRPTW, and is denoted by VRPSPD-TW. The VRPSPDTW problem considers simultaneous pick-up and delivery at each customer such that a customer is visited only once within the specified time window and without violating the vehicle capacity constraints. Research on VRPSPD-TW problems has been recent and limited. To our knowledge, the earliest work to consider that problem was Angelelli and Mansini [1]. The authors provided two mathematical programming models to represent the problem. They used a column generation method based on set covering formulation to solve the problem. They were able to solve problems with up to 20 customers. Cao and Lai [7] investigated VRPSPD-TW problems and proposed a heuristic method based on genetic algorithm to solve the NP-hard problem. Mingyong and Erbao [21] also used genetic algorithm to solve VRPSPD-TW problems with limited route distances. The route length constraints reduced the search space in
Int J Adv Manuf Technol (2013) 68:57–68
obtaining optimal or near-optimal solutions. In this paper, we consider a VRPSPD-TW problem similar to that in [21] without the route length constraints and solved with a different solution method. A heuristic solution procedure is developed and first used to obtain a good initial solution of the VRPSPD-TW problem. A neighborhood search process is then used to generate alternative feasible solutions to be evaluated and selected through a simulated annealing search process. Section 2 of this paper gives the problem description and the mixed integer programming model of the problem. Section 3 discusses the development of the solution methodology. Test problems, experimental results, and analysis are provided in Section 4. Concluding remarks are given in Section 5.
2 Problem description and mathematical model In this section, we first present the details of the reverse logistics vehicle routing problem with time windows. The MILP model will be presented after the notations and variables are defined. 2.1 Problem description We consider a connected network where at each node a customer requires certain amount of new products to be delivered from a central depot in the network. In addition, certain amount of end-of-life products will be collected from the customer site and returned to the central depot. A fleet of vehicles start their trips at the central depot, such that, each vehicle serves a group of customers. Each customer must be served by a vehicle within a given time interval, or a time window. Vehicles perform simultaneous deliveries and pickups at the customer sites and end their trips back at the central depot. To simplify the problem, we assume that the depot does not have time window constraints without loss of generality. Vehicles’ capacities must not be exceeded at any stop, and each customer is to be visited only once. The solution of the problem is to determine the number of vehicles needed to serve all customers, to assign groups of customers to be served by each vehicle, and to build the route for each vehicle. In solving this problem we also assume an uncapacitated central depot, single commodity and deterministic data. In addition, it is assumed that the required number of vehicles to serve all customers is always available and the vehicles are homogenous. Furthermore, we assume that each vehicle has sufficient capacity to make delivery and pick-up for at least one customer so the considered problem always has feasible solutions. The mathematical programming model of the problem is given below.
Int J Adv Manuf Technol (2013) 68:57–68
59
2.2 Mathematical model
subject to the following constraint functions. Serving each customer exactly once:
A mixed integer linear programming (MILP) model for the VRPSPD-TW problem is formulated based on the description given in the previous section. In this model, the number of total vehicles is considered as a parameter. The optimal value of this parameter is decided by trial and error. The initial value is set by considering the ratios of total pick-up and delivery amounts over the vehicle capacity. Notations used in the model are given below followed by the mathematical programming model. Parameters: N K Vc Cij
Number of customers The total number of vehicles to employ Vehicle capacity Transportation cost between node i and node j, where node 0 represents the site of the central depot i; j ¼ 0; 1; 2; . . . N and Cii =0 Travel time between node i and node j, i; j ¼ 0; 1; 2; . . . N and Tii =0 Earliest allowed start time of service for the customer at node j, j ¼ 1; 2; . . . N Latest allowed start time of service for the customer at node j, j ¼ 1; 2; . . . N Service time for the customer at node j, j ¼ 1; 2; . . . N Amount of new products to deliver to the customer at node j, j ¼ 1; 2; . . . N Amount of EOL products to collect from the customer at node j, j ¼ 1; 2; . . . N Large positive number
Tij Ej Lj Srj Dj Pj M
ljv stj xijv
Load of vehicle v when it leaves the depot, v ¼ 1; . . . ; K Load of vehicle v after it serves the customer at node j, j ¼ 1; . . . ; N Service starting time for the customer at node j, j ¼ 1; 2; . . . N 1; if vehicle v travels from node i to node j; xijv ¼ 0; otherwise;
With the above introduced parameters and variable, we present the mathematical programming model for solving the considered problem. The objective function of the model is to minimize the total transportation cost: N X N X K X i¼0 j¼0 v¼1
ð2Þ
Flow conservation at each node, except the depot: N X
xisv ¼
i¼0
N X
xsjv ; s ¼ 1; . . . ; N ; v ¼ 1; . . . ; K
ð3Þ
j¼0
Initial vehicle load: l0v ¼
N X N X
Dj xijv ; v ¼ 1; . . . ; K
ð4Þ
i¼0 j¼0
Vehicle load en route: ljv lav Dj þ Pj M ð1
K X
xijv Þ; a
v¼1
¼ 0; . . . ; N ; i; j ¼ 1; . . . ; N ; j 6¼ a; j 6¼ i
ð5Þ
Vehicle capacity limit: ljv VC ; j ¼ 0; . . . ; N ; v ¼ 1; . . . ; K
ð6Þ
All vehicles start from the depot: N X
x0jv ¼ 1; v ¼ 1; . . . ; K
ð7Þ
j¼1
Time windows constraints:
Cij xijv
¼ 1; . . . ; N ; v ¼ 1; . . . ; K
ð8Þ
Ej stj ; j ¼ 1; . . . ; N
ð9Þ
Lj stj ; j ¼ 1; . . . ; N
ð10Þ
Binary conditions: xijv ¼ f0; 1g; i; j ¼ 0; . . . ; N ; v ¼ 1; . . . ; K
i; j ¼ 0; . . . ; N :
Minimize z ¼
xijv ¼ 1; j ¼ 1; . . . ; N
i¼0 v¼1
sti þ Tij þ Sri M ð1 xijv Þ stj ; i ¼ 0; . . . ; N ; j
Decision variables: lov
N X K X
ð1Þ
It has been well established that solving vehicle routing problems is NP-hard [16]. Since solving the problem presented in the above MILP model requires solving vehicle routing sub-problems, it is also NP-hard. Using branch and bound-based optimization methods may not be able to reach optimal or near optimal solutions for large-size practical problems within acceptable computational time. In this research, we propose a heuristic solution method to solve the considered problem. It is followed by a simulated annealing search to
60
Int J Adv Manuf Technol (2013) 68:57–68
obtain improved solutions of the model and the problem. Details of the solution procedure are given in the next section.
ATCkps ¼ Cik þ Ckj Cij for all i; j 2 S
3 Solution methodology In this section, we first present the heuristic algorithm to obtain an initial solution of the problem, followed by details of the neighborhood search and simulated annealing procedure for solution improvement. 3.1 Heuristic method to obtain an initial solution Sequential route construction algorithms to solve VRPTW have been widely and successfully used as noticed in Bräysy and Gendreau [3]. Moreover, solving VRPs with simultaneous pick-up and deliveries using sequential route construction has been recognized for yielding high-quality solutions as shown in Chen and Wu [8]. In this research we also use the sequential route construction technique to solve the VRPSPD-TW. The algorithm begins by selecting a seed customer to build a route from the depot to that seed customer and back to the depot. Then, according to predefined insertion criteria, another customer is chosen to be inserted to the route. The insertion process continues until, either all customers are included in the route or it is not feasible to insert new customers into the current route. In the later case a new seed customer from the set of unrouted customers (URC) is chosen and the new route building process starts again. The same procedure is repeated until all customers are routed. A seed customer is chosen with maximum latest allowable service time and minimum amount of total pick-up and delivery to allow large number of customers to be inserted in the route with vehicle capacity and given time window constraints. Based on this consideration, we calculate the seed customer selection index, LDPj, by LDPj ¼ Lj c Dj þ Pj
1. Additional transportation cost, ATCkps. For all k ∈ URC, k= 2S , and for each position p in the current route s, calculate:
for all j 2 URC
ð11Þ
and use maximum LDPj to select the seed customer. In Eq. 11, c is a conversion factor in combining time and material units. We used c=1.0 in solving the test problems presented in the next section. After the seed customer is identified, we consider that a route corresponding to the current seed customer is established. We call this route as the current route and name it as route s. We then select other customers to insert in this current route. The criterion for choosing the customer and identifying the position for inserting the customer in the current route s is a weighted average of four index values: (1) additional transportation cost; (2) impact on remaining vehicle capacity; (3) additional vehicles cost; and (4) total waiting time of customers in the route. Specific calculations of these index values are presented below with brief explanations. Let S denote the set of customers in the current route s.
ð12Þ
where Cik, Ckj, and Cij are transportation costs along links (i, k),(k, j), and (i, j), respectively. 2. Impact on remaining vehicle capacity, IOIkps. For all i ∈ S, define: PRIi SUIi CDi CPi
The immediate predecessor of node i The immediate successor of node i Transportation cost from the depot to node i along s Transportation cost from node i to the depot along s
Insert customer k in all possible position p between each pair of nodes in route s and calculate: P l0 ¼ Dj ; li ¼ lPRIi Di þ Pi ; i 2 S j2S P RD0 ¼ VC Dj j2SP RPPRI0 ¼ VC Pj j2S
RDi ¼ minf RDPRIi ; VC li g RPi ¼ min f RPSUIi ; VC li g P P RDT ¼ RDi CDSUIi = CDSUIi i2S i2S P P RPT ¼ RPi CPi = CPi i2S
i2S
Using the above calculated values, the impact index on vehicle capacity when inserting customer k at position p in route s is then calculated by: IOIkps ¼ ð1 RDT =VC Þ þ ð1 RPT =VC Þ
ð13Þ
Equation 13 is similar to the calculation proposed in [10] for generating vehicle route without time window constraints. Equation 13 does not consider the effect of remaining vehicle capacity on unrouted customers. 3. Additional vehicle cost, RDRSk. Similar to that discussed in [2] and [5], we assign a negative value of the total transportation cost required by each required vehicle to the selection criterion. The purpose is to reduce the size of the fleet. This value, called radial distance and radial surcharge, is simply calculated by: RDRSk ¼ 2 C0k ; for all k 2 URC and k= 2S
ð14Þ
4. Total waiting time of customers in the route, WTkps. If a vehicle arrives earlier than the earliest allowable service time of customer i, it must wait until the earliest allowable service time begins. The waiting time for customer i is
Int J Adv Manuf Technol (2013) 68:57–68
61
calculated by: wti ¼ min 0; Ei stPRIi þ SrPRIi þ TPRIi ;i The total waiting time for all k ∈ URC, k= 2S and each position p in route s is then calculated by: X WTkps ¼ wti ð15Þ i2s
let PRðaÞ ¼ S ¼ 0; k*1 ; k*2 ; . . . ; k*Z1 ; 0 ; a ¼ a þ 1;
Equation 15 is used to measure the impact on the total waiting time of customers in route s when customer k is inserted at position p in the route. Combining the index values calculated in Eqs. 12, 13, 14, and 15, we calculate the selection index SAI to identify customers from feasible candidates and corresponding insertion positions in route s: SAIkps ¼ ATCkps þ l IOIkps ðCmax Cmin Þ b RDRSk þ d WTkps
feasible, let I(ki, p)=1; otherwise, let I(ki, p)=0. Step 4.2 If I(ki, p)=0, for all p ¼ 1; . . . ; Z and all ki, ki ∈ URC, then: * the current S ¼ 0; k1* ; k2* ; . . . ; kZ1 ; 0 is a complete route established for a vehicle to travel in the network;
ð16Þ
The customer in the position of minimum SAI value will be selected and inserted in the corresponding position. In Eq. 16, Cmax and Cmin are maximum and minimum values, respectively, in the transportation cost matrix. λ, β, and δ are weights for the corresponding indices and vary in the range of [0,1]. The heuristic algorithm developed with this selection index to generate feasible routes for all customers is given next. Heuristic insertion method for VRPSDP-TW route generation Step 1 Let the set URC contain all customer sites. Let a=1. Step 2 Select a customer site ksd ∈ URC according to (11), and let URC ¼ URC fksd g. Step 3 Create an initial route S, S={0, ksd, 0} connecting the depot (node 0) to customer site ksd and back to the depot, in that sequence. Let k1* ¼ ksd . The tentative route is: Snew ¼ 0; k1* ; 0 . Let PRðaÞ * ¼ Snew ¼ 0; k1 ; 0 . Let Z=2; the number of positions in route S for possible insertion of other customer sites. Step 4 Step 4.1 For p ¼ 1; . . . ; Z and all ki, ki ∈ URC, check if a feasible route can be established by inserting ki at position p in * ;0 , route S ¼ 0; k1* ; k2* ; . . . ; kZ1 where position 1 is between 0 and k1* , position 2 is between k1* and k2* , …, * position Z is between kZ1 site and the depot (node 0). If an insertion is
go to Step 2. otherwise, continue. Step 4.3 For all ki, ki ∈ URC and p ¼ 1; . . . ; Z with corresponding I(ki, p)=1, calculate SAIki ps given in Eq. 12 above. Let ki* ; p* ¼ arg ki ;p
min SAIki ps . Insert ki* in S ¼ 0; k1* ; k2* ; . . . ; * kZ1 ; 0g at position p*. The updated tentative * ;0 . route is: Snew ¼ 0; k1* ; k2* ; . . . ; :ki* ; . . . ; kZ1 * LetURC ¼ URC ki . If necessary, renumber the selected customers in the tentative route after the new insertion. Step 5 If URC=ϕ, output all established routes PRðaÞ; a ¼ 1; 2; . . . and calculate the corresponding travel P P cost C ¼ Ckt , otherwise, go to step 4. a kt2PRðaÞ
In the above procedure, we break any tie arbitrarily. In Step 4.1, inserting customer k in position p in route s is feasible if the insertion satisfies the following conditions: Di RDPRIi Pi RPPRIi stPRIi þ SPRIi þ TPRIi ;i Li
for all i 2 fS [ kg for all i 2 fS [ kg for all i 2 fS [ kg
3.2 Solution improvement Simulated annealing is a probabilistic local search technique, which imitates the concept of physical annealing of metals. It has been widely and successfully used for solving Customer 1 Route 1
Route 2 Customer 2 Fig. 1 Customer exchange operator
62
Int J Adv Manuf Technol (2013) 68:57–68
Fig. 2 Edge exchange operator
Edge 1 Route 1
Route 2 Edge 2 various combinatorial optimization problems. In general, the SA search process starts with an initial feasible solution and searches for better solutions in the neighborhood of the current solution. It accepts a “bad” neighborhood solution with a certain probability in order to avoid local optima. Simulated annealing has yielded promising solutions to the VRPTW as shown, for example, in [18] and [22]. A review in Bräysy and Gendreau [4] shows that simulated annealing is an effective metaheuristic approach for solving the VRPTW problems efficiently. Hence, we adopt a simulated annealing approach to improve the initial solution obtained by the heuristic insertion method presented in Section 3.1. 3.2.1 Simulated annealing procedure A typical SA procedure in its simple version requires an initial temperature Tinit, freezing temperature T0 and a cooling rate r. The typical SA steps to be followed while searching for the optimal solution of any combinatorial optimization problem are: Step 1 Let the initial solution be the current trial solution fc and Zc =Zinit, where Zinit is the value of the objective function to be minimized, corresponding to the initial solution. Set temperature value Tc =Tinit. Step 2 If stopping criteria are met, stop; otherwise, find a feasible solution fn in the neighborhood of fc as the candidate for the next trial solution. Calculate the corresponding objective function value Zn. Fig. 3 Insertion operator
Step 3 If Zn ≤Zc, let fc =fn, Zc =Zn and T ¼ T0 þ r Tc , go to Step 2; otherwise, generate a random number R in (0,1): R < P ¼ exp½ðZn Zc Þ=T; let fc ¼ fn ; Zc ¼ Zn and T ¼ T0 þ r Tc ; go to Step 2; otherwise : let T ¼ T0 þ Tc ; go to Step 2: if
As mentioned earlier, the SA search procedure evaluates large number of feasible solutions of the problem. In this research, we generate these feasible solutions using the neighborhood search methods discussed below. 3.2.2 Neighborhood search In this paper, customer exchange operator, edge exchange operator, and insertion operator are used to obtain neighborhood solutions. These operators are similar to some of those discussed in [17, 18, 25]. 1. Customer exchange operator. Two non-empty routes are randomly selected. One customer is arbitrarily selected from each route. These two arbitrarily selected customers exchange their positions. Figure 1 illustrates operation of the customer exchange operator.
Moving a Customer from Route 1 to Route 2 Route 1
Route 2
Int J Adv Manuf Technol (2013) 68:57–68
63
Table 1 Solution and computational time comparison Problem
Vehicle capacity
Solution by INST-SA
Solution by LINGO
Best solution
CPU time (seconds)
Lower bound
Best solution
CPU time (seconds)
P10-C101 P10-C202 P10-R101 P10-R205 P10-RC103
100 100 100 100 100
88 147 266 213 232
3 4 2.6 10 3
88 147 266 213 232
88 147 266 213 232
2 22 1 3 233
P10-RC201 P15-C104 P15-C203 P15-R102 P15-R209 P15-RC106 P15-RC204 P50-C106 P50-C204 P50-R105 P50-R210 P50-RC102 P50-RC203
100 100 100 100 100 100 100 200 700 200 1,000 200 1,000
275 194 235 328 277 320 283 409 345 919 657 757 586
1.6 5.3 8.2 4.6 5.4 3.7 4.8 64 190 47 143 54 170
275 194 235 328 277 320 247 409 NAb 868 NAb NAb NAb
275 194 235 328 277 320 302a 409 NAb 986a NAb NAb NAb
58 2,647 908 7,204 32 5 (20 h) 59,315 (20 h) (20 h) (20 h) (20 h) (20 h)
a
Best feasible solution found by LINGO for 20 h of computation
b
No feasible solution found by LINGO for 20 h of computation
2. Edge exchange operator. Two non-empty routes are randomly selected. From each route randomly choose a group of consecutive customers, called an edge. The two identified edges will be exchanged. There is no limit on the number of customers per edge. Figure 2 illustrates the operation of the edge exchange operator. 3. Insertion operator. This operator removes a random customer on an arbitrarily selected route. It then inserts the customer in another randomly selected route. The position of the insertion is also random. Figure 3 illustrates the operation of the insertion operator. Table 2 Results of modified Solomon C1 problems
Problem
P50-C101 P50-C102 P50-C103 P50-C104 P50-C105 P50-C106 P50-C107 P50-C108 P50-C109
For customer exchange and edge exchange operators, when choosing two routes randomly, the same route may be chosen twice. This is allowed, and the result will be that: two customers on the same route will exchange places in the case of customer exchange operator, while in the case of edge exchange operator, two groups of successive customers, on the same route, will exchange places. In search for neighborhood solutions, one of the operators mentioned above is utilized. The utilized operator is chosen according to a certain predefined probability. If the new (neighbor) solution is infeasible in terms of
Total cost
Number of required vehicles
Initial solution
SA solution
Improvement (%)
Initial solution
SA solution
Difference
493 557 581 476 388 444 394 505 526
445 452 437 378 353 409 387 390 440
9.7 18.9 24.8 20.6 9.0 7.7 1.8 22.8 16.3
6 6 6 5 5 6 5 6 6
6 6 6 5 5 6 5 5 6
0 0 0 0 0 0 0 1 0
64
Int J Adv Manuf Technol (2013) 68:57–68
Table 3 Results of modified Solomon C2 problems
Problem
P50-C201 P50-C202 P50-C203 P50-C204 P50-C205 P50-C206 P50-C207 P50-C208
Total cost
Number of required vehicles
Initial solution
SA solution
Improvement (%)
Initial solution
SA solution
Difference
430 466 515 447 485 469 465 387
430 407 405 345 426 409 408 337
0.0 12.7 21.4 22.8 12.2 12.8 12.3 12.9
2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2
0 0 0 0 0 0 0 0
vehicle capacity or time windows constraints, it is simply rejected. The whole solution procedure (INST-SA) with the above explained neighborhood search was tested using a number of numerical examples of the VRPSPD-TW problem discussed in the next section.
4 Numerical examples In this section, the example problems used to test the heuristic solution procedure developed in this research will be presented, followed by computational results and a brief analysis. 4.1 Test problems In the literature of VRPSPD research, there are two sets of benchmark problems presented in [10] and [23]. In VRPTW research, there exist the well-known 56 Solomon benchmark problems (see Solomon [24]). To examine our solution Table 4 Results of modified Solomon R1 problems
Problem
methodology, we used the well known 56 Solomon [24] benchmark problems designed to test VRPTW solution procedures. Data of these benchmark problems are available at http://neo.lcc.uma.es/radi-aeb/WebVRP/ or the new site at http://neo.lcc.uma.es/vrp/. The problems are divided into six groups, C1, C2, R1, R2, RC1, and RC2. In groups C1 and C2 problems, customers are grouped into well-defined clusters. In groups R1 and R2 problems, customers are scattered. In groups RC1 and RC2 problems, some customers are clusters, while others are scattered. The problems in groups C1, R1, and RC1 have tight time windows and small vehicle capacities, allowing less number of customers to be served by each vehicle. Hence, large number of vehicles are required to serve all customers. The problems in groups C2, R2, and RC2 have loose time windows and larger vehicle capacities. This leads to less number of vehicles in the fleet and large number of customers can be served by each vehicle. For problems in groups C1, R1, and RC1, each vehicle has a capacity of 200 units. For problems in group C2, each vehicle has a capacity of 700 units. For problems
Total cost
Number of required vehicles
Initial solution
SA solution
Improvement (%)
Initial solution
SA solution
Difference
P50-R101 P50-R102 P50-R103 P50-R104 P50-R105 P50-R106 P50-R107 P50-R108 P50-R109
1,154 1,024 910 760 1,035 908 824 732 929
1,021 837 768 643 919 783 724 615 776
11.5 18.3 15.6 15.4 11.2 13.8 12.1 16.0 16.5
12 11 9 7 9 8 8 6 8
11 8 9 7 9 8 7 6 8
1 3 0 0 0 0 1 0 0
P50-R110 P50-R111 P50-R112
842 850 694
717 712 644
14.8 16.2 7.2
8 7 6
8 7 6
0 0 0
Int J Adv Manuf Technol (2013) 68:57–68 Table 5 Results of modified Solomon R2 problems
Problem
P50-R201 P50-R202 P50-R203 P50-R204 P50-R205 P50-R206 P50-R207 P50-R208 P50-R209 P50-R210 P50-R211
65
Total cost
Number of required vehicles
Initial solution
SA solution
Improvement (%)
Initial solution
SA solution
Difference
1,130 966 824 664 1,026 841 761 621 782 922 721
869 736 660 498 714 667 590 506 674 657 577
23.1 23.8 19.9 25.0 30.4 20.7 22.4 18.5 13.8 28.7 20.0
3 3 2 2 3 2 2 2 2 2 2
3 3 2 2 3 2 2 2 2 2 2
0 0 0 0 0 0 0 0 0 0 0
the different number of customers used. For example, problem P50-C101 is based on the original problem C101 solved for 50 customers, with pick-up amounts added for each customer. To obtain a good initial solution of the test problems, we set the values of λ and β in the heuristic method in Section 3.1 to 0.0, 0.5 and 1.0, respectively, for trial runs. From the trial runs, we notice that setting δ to the level of λ/4 normally leads to best initial solutions of these problems. We also conducted several test runs in order to set better values of the parameters in the SA algorithm. Based on the results of the trial runs, Tinit =100, Tf =1 and r=0.95 were selected for the SA search. It runs 1,500 iterations before reducing the temperature. The probabilities of choosing the customer exchange operator, choosing the edge exchange operator and choosing the insertion operator were set to 0.60, 0.10, and 0.30, respectively. We run the SA for 10 times in solving each of the test problems and the best result is reported. The heuristic INST-SA procedure developed in Section 3 was coded in Matlab R2007a without using the Matlab parallel computing facilities. Runs were performed on a PC with Pentium Q9300 processor of 2.5 GHZ and 8 GB RAM.
in groups R2 and RC2, each vehicle has a capacity of 1,000 units. To test the solution procedure developed in this paper, we need to modify these benchmark problems by adding pick-up amounts for the customers. The picked-up quantity pi at customer i is generated with a random number generator using: pi ¼ ð0:5 þ rÞ Di where r is a random number in the interval [0,1] and Di is the demand to be delivered to customer i. The 56 original benchmark problems all have one depot and 100 customers. In this work we used 50 customers in solving each of the problems to reduce the computational requirements. It is noted that the previous work have solved VRPSPD-TW problems with 40 or less customers. For the C and R sets of problems, we used the first 50 customers of the original problems. For problems in groups RC1 and RC2, we used customers 1 to 25 and customers 76 to 100. When solving these problems, transportation cost parameter values were rounded down to nearest integers. The names of these problems were changed to reflect the modification of adding the pick-up amount and Table 6 Results of modified Solomon RC1 problems
Problem
Total cost
Number of required vehicles
Initial solution
SA solution
Improvement (%)
Initial solution
SA solution
Difference
P50-RC101 P50-RC102 P50-RC103 P50-RC104 P50-RC105
1,020 964 898 855 1,089
869 757 691 649 896
14.8 21.5 23.1 24.1 17.7
10 8 8 8 10
10 8 6 6 10
0 0 2 2 0
P50-RC106 P50-RC107 P50-RC108
890 860 737
752 699 665
15.5 18.7 9.8
8 8 7
8 8 7
0 0 0
66 Table 7 Results of modified Solomon RC2 problems
Int J Adv Manuf Technol (2013) 68:57–68
Problem
P50-RC201 P50-RC202 P50-RC203 P50-RC204 P50-RC205 P50-RC206 P50-RC207 P50-RC208
Total cost
Number of required vehicles
Initial solution
SA solution
Improvement (%)
Initial solution
SA solution
Difference
1,085 923 847 701 1,017 844 936 642
796 648 586 512 667 644 576 478
26.6 29.8 30.8 27.0 34.4 23.7 38.5 25.5
3 3 2 2 3 3 3 2
3 3 2 2 3 3 3 2
0 0 0 0 0 0 0 0
4.2 Results and analysis We tested the effectiveness of the proposed solution procedure by comparing the heuristic solutions with optimal solutions of several testing problems of smaller sizes. Due to the size of most of the testing problems and limited computing resources, we are able to obtain optimal solutions using LINGO (LINDO Systems, 2002) for 12 problems among the tested modified 56 Solomon problems as show in Table 1. For these 12 problems, the proposed INST-SA procedure is able to find optimal solutions. As can be seen from Table 1, when problem size is relatively small with 10 customers, it took comparable computational time for INSTSA and LINGO to reach the optimal solutions. However, for problems of larger sizes, the advantage of using INST-SA becomes apparent as it requires much less computing time comparing to the brute-force-based optimization procedure. For problems with 15 customers, INST-SA was able to find optimal solutions in much shorter computational time with one exception recorded. It has been noted that computational time for group 1 problems (P50-C1, P50-R1, and P50RC1) is less than that for other problems. This is due to the tighter time windows and smaller vehicle capacities which permits fewer customers in one vehicle, and hence a fewer insertion options to select. For problems with 50 customers, optimal solution was obtained for only one of the testing problems by LINGO while INST-SA obtained the same solution much faster. Using LINGO, we were not able to find optimal solutions or feasible solutions for other 50 customer problems after 20 h of computation. Table 1 also shows lower bounds and best solutions determined by LINGO after 20 h of computation for problems P15-RC204 and P50-R105. The heuristic INST-SA procedure generated better solutions than LINGO with much shorter computational time. The maximum errors of the solutions from the lower bounds set by LINGO in terms of the objective function value were 14.5 % for P15-RC204, and 5.9 % for P50R105, respectively. Tables 2, 3, 4, 5, 6, and 7 show the
results of the 56 modified Solomon problems in the six groups, respectively. Each of these tables shows the transportation costs of the initial solutions, the improvement by the SA search and the required number of vehicles corresponding to the initial solutions and the improved solutions. Results in these tables show that the SA procedure is able to improve the initial solutions for all the testing problems, except for P50-C201. The range of the improvements is from 1.8 to 38.5 %. The required number of vehicles for group 1 problems (P50-C1, P50-R1, and P50RC1) is generally more than those for group 2 problems. This is because in group 1 problems, time windows and vehicle capacities are tighter to allow for small number of customers to be served by each vehicle. Group 2 problems have more relaxed time windows and larger vehicle capacities. The results in Tables 2, 3, 4, 5, 6, and 7 also show that the number of vehicles in six of the group 1 problems was reduced by the SA search process while there is no vehicle reduction by the SA search for group 2 problems. This could also be due to the tight vehicle capacities and time windows for group 1 problems. Table 8 shows the average improvements from the SA search for the six sets testing problems. From Table 8, it can be seen that the average improvement
Table 8 Average costs of the initial solution and the improved solution by SA Problem group
P50-C1 P50-C2 P50-R1 P50-R2 P50-RC1 P50-RC2 Average
Average total cost
Average improvement (%)
Initial solution
SA solution
484.9 458.0 888.5 841.6 914.1 874.4 743.6
410.2 395.9 763.3 649.8 747.3 613.4 596.7
15.4 13.8 14.1 22.8 18.2 29.8 19
Int J Adv Manuf Technol (2013) 68:57–68
by the SA for all the problems is 19 %. We also notice that the improvements for group P50-R2 problems are more significant than those for group P50-R1 problems. A similar phenomenon is observed between group P50-RC2 problems and group P50-RC1 problems. This could also be due to the differences in vehicle capacities and time window limits between these groups of problems.
5 Concluding remarks Vehicle routing problems with simultaneous pick-up and delivery have captured the attention of many researchers recently due to its importance in reverse logistic applications. Vehicle routing problems with time windows have also been studied by many researchers. In this work we study vehicle routing problems combining simultaneous pick-up and delivery with time windows with applications also in reverse logistic systems. We developed a heuristic solution methodology to solve this type of NP-hard problems. The proposed solution methodology consisted of a heuristic method to generate high-quality initial solutions. Then a simulated-annealing-based search process is used to improve the initial solutions. A significant number of testing problems, modified after well-known benchmark problems, were used to test the developed solution procedure. Computational results show that both the heuristic method for generating initial solutions and the SA process for solution improvement are effective and are able to obtain optimal or near optimal solutions for the tested problems with polynomial computational time. Our next step of research in this area includes further development of the solution method with other metaheuristics and testing the methods using larger data sets. Acknowledgments This research is supported by Discovery Grant of NSERC Canada and by Egyptian Government International Scholarship Program. The authors sincerely thank the anonymous referee for his/her comments leading to much improvement from an early version of this paper.
References 1. Angelelli E, Mansini R (2002) The vehicle routing problem with time windows and simultaneous pick-up and delivery. In: Klose A, Speranza MG, Van Wassenhove LN (eds) Quantitative approaches to distribution logistics and supply chain management. Springer, Berlin, pp 249–267 2. Bianchessi N, Righini G (2007) Heuristic algorithms for the vehicle routing problem with simultaneous pick-up and delivery. Comput Oper Res 34:578–594 3. Bräysy O, Gendreau M (2005) Vehicle routing problem with time windows, part I: route construction and local search algorithms. Transp Sci 39:104–118 4. Bräysy O, Gendreau M (2005) Vehicle routing problem with time windows, Part II: metaheuristics. Transp Sci 39:119–139
67 5. Casco D, Golden B, Wasil E (1988) Vehicle routing with backhauls: models, algorithms, and case studies. In: Golden BL, Assad AA (eds) Vehicle routing: methods and studies. Elsevier, Amsterdam, pp 127–147 6. Cao E, Lai M (2007) An improved differential evolution algorithm for the vehicle routing problem with simultaneous delivery and pick-up service. Third International Conference on Natural Computation (ICNC 2007) 7. Cao E, Lai M (2007) Vehicle routing problem with simultaneous delivery and pick-up with time windows. International Conference on Transportation Engineering 2007 (ICTE 2007), pp 160–166 8. Chen JF, Wu TH (2006) Vehicle routing problem with simultaneous deliveries and pickups. J Oper Res Soc 57:579–587 9. Chen P, Huang H, Dong X (2007) An ant colony system based heuristic algorithm for the vehicle routing problem with simultaneous delivery and pickup. Second IEEE Conference on Industrial Electronics and Applications, pp 136–141 10. Dethloff J (2001) Vehicle routing and reverse logistics: the vehicle routing problem with simultaneous delivery and pick-up. ORSpektrum 23:79–96 11. Dethloff J (2002) Relation between vehicle routing problems: an insertion heuristic for the vehicle routing problem with simultaneous delivery and pick-up applied to the vehicle routing problem with backhauls. J Oper Res Soc 53:115–118 12. Ganesh K, Narendran TT (2008) TASTE: a two-phase heuristic to solve a routing problem with simultaneous delivery and pick-up. Int J Adv Manuf Technol 37:1221–1231 13. Haijun M, Fei Q U, Xuhong L (2007) Integration of forward and reverse logistics at the vehicle routing level. International Conference on Transportation Engineering 2007 (ICTE 2007), pp 3518–3523 14. Jiang W, Zhang Y, Xie J (2009) A particle swarm optimization algorithm with crossover for vehicle routing problem with time windows. IEEE Symposium on Computational Intelligence in Scheduling, CI-Sched 2009—Proceedings, pp 103–106 15. Kallehauge B (2008) Formulations and exact algorithms for the vehicle routing problem with time windows. Comput Oper Res 35:2307–2330 16. Lenstra J, Kan A (1981) Complexity of vehicle routing and scheduling problems. Networks 11:221–227 17. Li H, Lim A (2003) Local search with annealing-like restarts to solve the VRPTW. Eur J Oper Res 150:115–127 18. Lin SW, Ying K C, Lee Z J, Chen HS (2006) Vehicle routing problems with time windows using simulated annealing. IEEE International Conference on Systems, Man, and Cybernetics, pp 645–650 19. Min H (1989) The multiple vehicle routing problem with simultaneous delivery and pickup points. Transp Res-A 23:377–386 20. Ming-Yao Q, Li-Xin M, Le Z, Hua-Yu X (2008) A new tabu search heuristic algorithm for the vehicle routing problem with time windows. International Conference on Management Science and Engineering (ICMSE), pp 1648–1653 21. Mingyong L, Erbao C (2010) An improved differential evolution algorithm for vehicle routing problem with simultaneous pickups and deliveries and time window. Eng Appl Artif Intell 23:188–195 22. de Oliveira H, Vasconcelos G, Alvarenga G, Mesquita R, de Souza M (2007) A robust method for the vrptw with multi-start simulated annealing and statistical analysis. Proceedings of the 2007 IEEE Symposium on Computational Intelligence in Scheduling (CISched 2007), pp 198–205 23. Salhi S, Nagy G (1999) A cluster insertion heuristic for single and multiple depot vehicle routing problems with backhauling. J Oper Res Soc 50:1034–1042 24. Solomon M (1987) Algorithms for the vehicle routing and scheduling problems with time window constraints. Oper Res 35:254– 265
68 25. Taillard E, Badeau P, Gendreau M, Guertin F, Potvin J (1997) A tabu search heuristic for the vehicle routing problem with soft time windows. Transp Sci 31:170–186 26. Tang F, Galvao R (2006) A tabu search algorithm for the vehicle routing problems with simultaneous pick-up and delivery service. Comput Oper Res 33:595–619
Int J Adv Manuf Technol (2013) 68:57–68 27. Wassan N, Wassan A, Nagy G (2008) A reactive tabu search algorithm for the vehicle routing problem with simultaneous pickups and deliveries. J Comb Optim 15:368–386 28. Wenfeng W, Zuntong W, Fei Q (2008) An improved genetic algorithm for vehicle routing problem with time-window. Proc Intern Sym Com Sci Comput Technol ISCSCT V1:189–194