J Comb Optim (2014) 28:288–309 DOI 10.1007/s10878-014-9741-1
Integrated Ant Colony and Tabu Search approach for time dependent vehicle routing problems with simultaneous pickup and delivery Tao Zhang · W. Art Chaovalitwongse · Yuejie Zhang
Published online: 3 May 2014 © Springer Science+Business Media New York 2014
Abstract Today manufacturers have become much more concerned with the coordination of both manufacturing (of new products) and recycling (of reusable resources) operations. This requires simultaneous scheduling of both forward and reverse flows of goods over a supply chain network. This paper studies time dependent vehicle routing problems with simultaneous pickup and delivery (TD-VRPSPD). We formulate this problem as a mixed integer programming model, where the time step function is used to calculate the travel time. To efficiently solve this complex problem, we develop a hybrid algorithm that integrates both Ant Colony System (ACS) and Tabu Search (TS) algorithms. Our algorithm uses the pheromones, travel time and vehicle residual loading capacity as a factor structure according to the characteristics of TDVRPSPD. In our computational experiments, 56 groups of benchmark instances are used to evaluate the performance of our hybrid algorithm. In addition, we compare the performance of our hybrid algorithm with those of individual ACS and TS algorithms. The computational results suggest that our hybrid algorithm outperform stand-alone ACS and the TS algorithms.
T. Zhang School of Information Management and Engineering, Shanghai University of Finance and Economics, Shanghai 200433, People’s Republic of China W. A. Chaovalitwongse Departments of Industrial & Systems Engineering and Radiology, University of Washington, Seattle, WA 98195, USA Y. Zhang (B) School of Computer Science, Key Laboratory of Intelligent Information Processing, Fudan University, Shanghai 200433, People’s Republic of China e-mail:
[email protected]
123
J Comb Optim (2014) 28:288–309
289
Keywords Reverse logistics · Time dependent vehicle routing problem · VRP with simultaneous pick-ups and deliveries (VRPSPD) · Ant Colony System · Tabu Search algorithm
1 Introduction Vehicle routing problem with simultaneous pickup and delivery (VRPSPD) was first introduced the late 1980’s Min (1989) to solve a book-distribution problem between 22 public libraries (customers) and a library administration center (depot) with a fixed number of service vehicles and a limited load capacity of homogeneous vehicles. The VRPSPD is considered a static problem as the travel costs in the problem are assumed to be deterministic. Sometimes, however, the travel costs are stochastic and they can vary as the road condition changes. In this paper, the time dependent VRPSPD (TD-VRPSPD), which is a stochastic version of VRPSPD, is studied. In the literature, the time dependent vehicle routing problem (TDVRP) has been widely studied and is considered a special case of the TD-VRPSPD. Although there have been several studies of the TDVRP and TDTSP that consider the time-dependent characteristics of the problems, they did not consider the problems that deal with reverse logistics. TD-VRPSPD is a time-dependent routing problem that involves reverse logistics. When the pick-up demand is 0, the TD-VRPSPD is equal to TDVRP. Therefore, TD-VRPSPD is a generalization of TDVRP. In addition, when the delivery or pick-up demand is 0, VRP with backhaul (VRPB), which has been shown to be NP-hard Anily (1996), is a special case of VRPSPD Dethloff (2002). Thus, both VRPSPD and TD-VRPSPD are also NP-hard. Although there have been numerous computational algorithms developed for VRP-type problems, most algorithms are not capable of solving the TD-VRPSPD effectively. Ant Colony Optimization (ACO) is an optimization algorithm based on a swarm search that has been widely applied to VRP-class problems. The foundation of ACO leads to the development of several other meta-heuristic algorithms such as Ant Colony System (ACS). In any ACO-based algorithms, the stagnancy phenomenon usually occurs in the later period of the searching process, and in turn decreases the quality of the obtained solutions. In turn, Tabu Search (TS) algorithm has also gained popularity in the VRP literature. In contrast to ACO, the convergence speed of the TS is relatively high, and it is known to possess a strong capacity of escaping from local optima and enlarging the search space. However, TS does not have diverse solution candidates, and its performance is quite dependent on the choice of initial solutions. In this paper, to solve the challenging TD-VRPSPD, we develop an integrated ACS–TS algorithm to fully take the best of both ACO and TS. TD-VRPSPD is a complicated problem for the following reasons. Firstly, as each customer has the demand of pickup and delivery at the same time, the vehicle loading capacity is constantly changing and it is difficult to make better use of vehicle loading capacity. Secondly, the TD-VRPSPD has a constraint on the maximum travel distance for each vehicle. When the travel distance of a vehicle approaches the upper limit, the vehicle must come back to the depot even if the vehicle could still meet some customers’ demand. Thirdly, the travel cost will change along with time, which will make the problem more complicated. To
123
290
J Comb Optim (2014) 28:288–309
overcome these difficulties, we introduce a speed time step function in the algorithm and design a heuristic factor structure of the ACS based on a residual loading capacity and travel time. The rest of this paper is organized as follows. Section 2 gives background and related work of VRP problems. Section 3 provides the details of the TD-VRPSPD problem, and presents its corresponding mixed integer programming model. Section 4 presents our ACS–TS hybrid algorithm, and demonstrates how it solves the TD-VRPSPD. Section 5 provides computational experiments and detailed analysis of the algorithms. Section 6 concludes this paper.
2 Background 2.1 Vehicle routing problem with simultaneous pickup and delivery (VRPSPD) The first VRPSPD was introduced in 1989 and solved using clustering and sorting algorithms, and subsequently optimizing the customer sequence in each cluster based on a standard Traveling Salesman Problem (TSP) Min (1989). Over the years, there have been a number of studies on the VRPSPD. Gendreau et al. (1999) studied a single vehicle VRPSPD, where TSP is solved first, and then the order of pick-up and delivery is arranged within the TSP route. Dethloff (2001) studied this problem based on the point of view of reverse logistics, and established a VRPSPD model. In that study, four different inserting rules and the concept of vehicle residual loading capacity were established to further explore larger alternatives of customer insertion in the route choice. Tang and Galv¯ao (2002); Montane and Galvão (2002) proposed two local search algorithms: one is to improve the tour partitioning heuristic; the other is to improve the sweep algorithm. They established an alternative mathematical model for VRPSPD, and solved the VRPSPD with one vehicle using the same method for the Vehicle Routing Problem with Backhauls (VRPB). Subsequently, Tang and Galv¯ao (2006) proposed a mathematical model of VRPSPD with a constraint of maximum travel distance and solved it by a new hybrid TS with local search heuristics. Bianchessi and Righini (2007) presented several constructive algorithms, local search algorithms, and TS algorithms to solve the VRPSPD. In particular they designed the TS algorithms based on complex and variable neighborhoods. Zachariadis et al. (2009) proposed a hybrid solution approach incorporating the rationale of TS and guided local search. Subramanian et al. (2010) proposed a parallel method to solve the VRPSPD whereas a variable neighborhood search method was used in the local search. Çatay proposed a visibility function for VRPSPD based on the saving algorithm and pheromone update strategy to improve the ant colony algorithm.
2.2 Time dependent vehicle routing problem (TDVRP) The mathematical programming model of TDVRP is developed based on the time dependent traveling salesman problem (TDTSP). Picard and Queryranne (1978) presented the TDTSP model and applied an exact algorithm to solve the problem with
123
J Comb Optim (2014) 28:288–309
291
20 customers. Subsequently, Fox et al. (1980) improved the TDTSP model, and Malandraki and Robert (1996) applied a dynamic programming algorithm to solve the TDTSP. Malandraki (1989) proposed the model of TDVRP based on the TDTSP model in 1989, and showed that travel cost between two customers depends not only on the distance but also on the departure time. Malandraki and Daskin (1992) later developed a mixed integer programming model with constraints on soft time windows, loading capacity and waiting time, and applied greedy and branch-bound algorithms to solve the TDVRP with 10–25 nodes. Papers Malandraki and Robert (1996); Malandraki (1989) and Malandraki and Daskin (1992) used a travel time step function to estimate the time-dependent characteristics. However, in practice the travel time changes continuously, and the time step function is only an approximated description of the time dependent problems. Hill and Benton (1992) proposed a travel speed step function to avoid discontinuous travel times, and solved the TDVRP without time window constraints for up to 210 customers. Ichoua et al. (2003) proposed a calculation rule to measure travel speeds in different time intervals, and used the parallel TS method to solve the TDVRP with time window constraints. The study also compared this time-dependent strategy with the static strategy based on test instances of 100 customers. Donati et al. (2008) applied an ACS to solve the TDVRP by changing a static pheromone into a time-dependent dynamic pheromone, and dividing the searching space into time-slices to meet the time-dependent problems. The most recent works in the TDVRP include Soler et al. (2009), in which the TDVRP is transformed to a static VRP problem, and Figliozzi (2012), in which an iterative route construction and solution improvement method is proposed.
2.3 Ant Colony Optimization (ACO) The ACO algorithm, first proposed by Dorigo et al. (1996), possesses a strong global search capacity, and has been successfully applied to the TSP problem Dorigo and Gambardella (1997). The main characteristics of ACO are positive feedback, distributed computation, and the use of a constructive greedy heuristic. Positive feedback accounts for rapid discovery of good solutions, distributed computation avoids premature convergence, and the greedy heuristic helps find acceptable solutions in the early stages of the search process. Based on the basic foundation of ACO, several other meta-heuristic algorithms such as ACS Dorigo and Gambardella (1997), MAX–MIN Ant System (MMAS) Stutzle and Hoos (2000), Rank-based Version of Ant System (ASrank) Bullnheimer et al. (1999), Multi-Ant Colony Algorithm Middendorf et al. (2002) were proposed. The ACO algorithm has also been used to solve VRP-type problems. Gajpal and Abad (2009) introduced an ACS algorithm to solve the VRPSPD problem, in which they used a construction rule as well as two multi-route local search schemes. Santos et al. (2010) proposed an ACO algorithm for solving a capacitated routing problem. Balseiro et al. (2011) presented an integrated ACS algorithm with a new insertion heuristic for solving the TDVRP with time windows, whereas the insertion heuristic relied on a minimum delay metric.
123
292
J Comb Optim (2014) 28:288–309
2.4 Tabu Search (TS) The TS algorithm was first proposed in 1986 by Glover (1986), and further defined in 1997 Glover and Laguna (1997). It has been widely used in VRP-class and TSP-class problems. Gendreau et al. (1994) applied the TS to solve VRP problems with capacity and path length constraints, and used an insert method for local search. Gendreau et al. (1996) developed a TS algorithm for a dynamic demand VRP problem. Duhamel (1997) used the TS to solve a mixed VRP problem with time window constraints, in which both delivery and pick up customers were considered. Chiang and Russell (1997) proposed a reaction TS algorithm to solve the VRPTW by dynamically adjusting the length of the tabu list. Nanry and Barnes (2000) proposed a reaction TS algorithm to solve the VRPB, where they designed three different neighborhood movement strategies and a hierarchical search method to dynamically change the neighborhood in a different search space. Cordeau and Laporte (2001) applied the TS to solve the site dependent vehicle routing problem. Later, Cordeau (2004) used an improved TS algorithm to solve the VRPTW. Tang and Galv¯ao (2006) improved the TS algorithm by introducing a hybrid local optimization algorithm to solve the VRPSPD with travel distance constraints. Archetti et al. (2006) presented a TS algorithm to solve the vehicle routing problem with split deliveries, where the possibility of inserting a customer into a route without removing it from another route was considered. Desaulniers et al. (2008) introduced the TS algorithm and the k-path inequalities to solve the VRPTW problem. Brandão (2011) presented a TS algorithm to solve the VRP with a fixed fleet of heterogeneous vehicles. Cordeau and Maischberger (2012) proposed a parallel, iterative TS heuristic for solving the classical VRP, the periodic VRP, the multi-depot VRP and the site-dependent VRP. 3 Problem description and mathematical model The TD-VRPSPD involves a single depot, a set of vehicles with a given capacity and maximum travel distance, and a set of customers. Each customer has both delivery and pick-up demands. Each customer must be visited only once by one vehicle. Vehicles deliver goods to customers from the depot and simultaneously pick-up goods back to the depot. Vehicles visit each customer and the depot when the corresponding time window is open. The travel speed varies in different periods. A waiting cost incurs when a vehicle arrives at a customer before the corresponding time window is open. The objective is to minimize the total cost, which is a combination of departure cost, travel cost, and waiting cost of vehicles. In order to facilitate the mathematical description of this problem, we define the following notations:
S
The set of start point containing a single element (depot), S = {s}, s = 0
D
The set of customers, D = {i}, i = 1, 2, . . . , n
SD
The union set of customer set and the deport, that is S D = S ∪ D
V
The set of all vehicles, V = {k}, k = 1, 2, . . . , K
ω
The time interval set, ω = {m}, m = 1, 2, . . . , M
123
J Comb Optim (2014) 28:288–309
293
CF
The unit cost of a vehicle departure
CT
The travel cost per time unit for one vehicle
Cw
The waiting cost per time unit for one vehicle
Q
The vehicle capacity
di
The delivery demand of customer i
pi
The pick-up demand of customer i
[ei , li ]
The time window of node i, i ∈ S D
ci j
The distance between node i and node j ∀i, j ∈ S D, and cii = ∞
L
The maximum travel distance of one vehicle; and we have max(csi + cis ) ≤ L ≤
vimj Rimj
The speed time step function from node i to node j in the time interval m
qi jk
The load of vehicle k after visiting node i and before visiting node j
tik Sm
The time that the vehicle k arrives at node i. If ignoring the serving time, it is equal to the time vehicle k leaves node i The starting time of time interval m
Em
The ending time of time interval m
i∈D
i∈D csi
The travel time from node i to node j in the time interval m, Rimj = ci j /vimj , ∀i, j ∈ S D, m ∈ ω
Decision variables: ximjk
=
1, vehicle kvisits customer j after i directly in time intervel m 0, otherwise
The mathematical programming formulation of TD-VRPSPD is then given by: Min C F
ximjk + C T
i∈S j∈D k∈V m∈ω
+ CW
Rimj · ximjk
i∈S D j∈S D k∈V m∈ω
ximjk · max{e j − tik − Rimj , 0}
(1)
i∈S D j∈S D k∈V m∈ω
s.t.
ci j ximjk ≤ L
i∈S D j∈S D m∈ω Sm ximjk ≤ ximjk tik
qi jk =
ximjk d j
(2)
∀i, j ∈ S D, ∀k ∈ V, ∀m ∈ ω
(3)
∀k ∈ V
(4)
∀j ∈ D, k ∈ V
(5)
∀k ∈ V
(6)
∀i, j ∈ S D, ∀k ∈ V
(7)
i∈S D j∈S D m∈ω
i∈S j∈D
≤ E m ximjk
∀k ∈ V
ximjk (qi jk − d j )
m∈ω i∈S D
=
x mjik (q jik − p j )
m∈ω i∈S D
qi jk =
i∈D j∈S
0 ≤ qi jk ≤ Q
ximjk pi
i∈S D j∈S D m∈ω
123
294
J Comb Optim (2014) 28:288–309
t jk =
ximjk tik + Rimj + max{e j − tik − Rimj , 0}
∀i, j ∈ S D, ∀k ∈ V (8)
m∈ω
ei ≤ tik ≤ li
∀i ∈ S D, ∀k ∈ V ximjk
i∈S D k∈V m∈ω
ximjk −
i∈S D m∈ω
=1
x mjik = 0
(9)
∀j ∈ D
(10)
∀ j ∈ D, ∀k ∈ V
(11)
∀i ∈ S, ∀k ∈ V
(12)
i∈S D m∈ω
ximjk ≤ 1
j∈D m∈ω
xi jk ∈ {0, 1}
(13)
The objective function of TD-VRPSPD in Eq. (1) is to minimize the total cost consisting of departure cost, travel cost and waiting cost, respectively. The constraints in Eq. (2) ensure that the travel distance of each vehicle does not exceed the maximum travel distance allowed. The constraints in Eq. (3) ensure that a customer’s service time has to be within a selected time interval. The constraints in Eq. (4) guarantee that the load of each vehicle satisfies the delivery demands of all the customers to be visited when it leaves the depot. The constraints in Eq. (5) define the load balance at each customer for a given vehicle. The constraints in Eq. (6) guarantee that the load of each vehicle satisfies the pickup demand of all customers it visited when it arrives at the depot. The constraints in Eq. (7) ensure the capacity constraint for each vehicle. The constraints in Eq. (8) denote that the time when vehicle k starts serving node j is equal to the sum of leaving time from node i, traveling time from node i to node j and waiting time at node j. The constraints in Eq. (9) define the time window constraint at each customer. The constraints in Eq. (10) ensure that each customer is visited only once. The constraints in Eq. (11) guarantee that the same vehicle arrives at and departs from each customer it visits. The constraints in Eq. (12) ensure that each vehicle can be used no more than once. 4 Integrated ACS–TS framework In this paper, to efficiently solve large-scale TD-VRPSPDs, we introduce ASrank and MMAS pheromone update strategies, propose a new method to improve the ACS heuristic factor and pseudo-random probability selection rule, and design an integrated framework combining the ACS and TS. 4.1 Speed time step function In the TD-VRPSPD, the travel speed of vehicle changes along with time, i.e., the travel time from one node to another is a variable. Hence, we use a speed time step function, which was previously introduced in Ichoua et al. (2003), to calculate the travel time. Figure 1 shows that the speed time step function divides the travel speed into three time slices, each having only one travel speed. Thus, the total time is also divided into
123
J Comb Optim (2014) 28:288–309
295
Fig. 1 Divided time slices to capture static travel speed
Fig. 2 Calculating flow of the travel time
three slices, each also having one travel speed. The travel time can be calculated as Fig. 2. In Fig. 2, t0 denotes the time when the vehicle leaves the node i, vTm denotes the travel speed during the time slice Tm , tm denotes the end of the time slice Tm , T T (i, j) denotes the travel time from node i to node j. 4.2 Heuristic factor structure Heuristic factor structure is a core component of the ACS, which is extremely influential to the computational speed and solution quality. If we only consider the distance factor, it is difficult to solve the complexity of the fluctuating load and varying speed in the TD-VRPSPD. Therefore, in addition to taking τ (i, j) in the path (i, j) as a part of the heuristic factor, we introduce a vehicle residual loading capacity and travel time as a key part of the heuristic factor.
123
296
J Comb Optim (2014) 28:288–309
4.2.1 Vehicle residual loading capacity Dethloff (2001) proposed a concept of “residual loading capacity” to make use of the vehicle’s load space reasonably, and to improve vehicle utilization. The greater the residual load capacity of vehicles is, the higher degree of freedom for future insertions can be obtained. In the ACS, we should consider the residual load capacity while selecting the next node. We define the following terms to be used throughout this section. R D(i) : The residual delivery capacity after the vehicle visits node i; R P(i) : The residual pick-up capacity after the vehicle visits node i; T : A set of customers in the obtained routes; P R I (i) : The immediate predecessor of node i; SU I (i) : The immediate successor of node i; C D(i) : The distance that the vehicle travels from the depot to customer i in the routes; C P(i) : The distance that the vehicle travels from customer i to the depot in the routes; The vehicle’s load capacity after visiting node i in the obtained routes. gi : The related recursion definition can be expressed as: R D(0) = Q −
di
(14)
R D(q) = min{R D(P R I (q)), C − gq ), q ∈ T pi R P(P R I (0)) = Q −
(15)
i∈T
(16)
i∈T
R P(q) = min{R P(SU I (q)), C − gq ), q ∈ T \P R I (0) ∪ {0}
(17)
The residual delivery and pick up capacities, R DT and R P T , are defined as follows: i∈T ∪{0} R D(i) · C D(SU I (i)) R DT = (18) i∈T ∪{0} C D(SU I (i)) i∈T ∪{0} R P(i) · C P(i) R PT = . (19) i∈T ∪{0} C P(i) Let DU and PU denote the cumulative amount of the delivery and pickup demands of unrouted customers, respectively. Then, the cost measure of the vehicle’s load capacity can be expressed by TC =
DU · (1 − R DT /Q) PU · (1 − R P T /Q) + . d i∈D i i∈D pi
(20)
The heuristic factor of the vehicle residual load capacity is thus given by η(i, j) =
123
1 , T C(2cmax − cmin )
(21)
J Comb Optim (2014) 28:288–309
297
where cmax is the maximum value of distance matrix, cmin is the minimum value of distance matrix. It can be viewed that the smaller T C, the bigger the heuristic factor. Thus it is beneficial for the vehicle to visit more customers, and the vehicle utilization can be improved. 4.2.2 Travel time heuristic factor In the TD-VRPSPD, the travel time heuristic factor can be defined by ⎧ ⎨ T T (i, j)·W1T (i, j)·ST W T (i, j) > 0 j , ξ(i, j) = 1 ⎩ W T (i, j) = 0 T T (i, j)·ST j
(22)
where W T (i, j) denotes the waiting time at node j after the vehicle visits node i, and ST j = l j − AT (i, j). AT (i, j) denotes the time when the vehicle arrives at node j from node i. With heuristic factor ξ(i, j), when T T (i, j) and W T (i, j) are shorter and the window close time of customer j is more vital, the heuristic factor is bigger and probability of choosing node j is higher. Therefore, this strategy can greatly save the travel cost and waiting cost. The total heuristic pheromone is consequently given by total(i, j) = [τ (i, j)]α [η(i, j)]β [ξ(i, j)]γ ,
(23)
where α, β and γ are the weight of heuristic factors. 4.3 Pseudo-random probability selection rules The ACS chooses the next node j at node iaccording to the total heuristic pheromone total(i, j) based on pseudo-random probability selection rules, given by
j=
arg max {[τ (i, u)]α · [η(i, u)]β · [ξ(i, u)]γ } q ≤ q0 u∈Mi
b
other s
,
(24)
where q0 is a constant, 0 ≤ q0 ≤ 1, q is a random number between [0, 1] , and Mi denotes the set of candidate customers from which ants could choose one customer as the next visited node after visiting customer i, Mi ⊆ D. The ACS can choose only customers that satisfy logical constraints. The random number q is generated before choosing the next customer. If q is not greater than q0 , the ACS selects the customer with the maximum [τ (i, u)]α · [η1 (i, u)]β · [η2 (i, u)]γ in Mi as the next customer to be visited. If q is greater than q0 , then the ACS randomly selects the next customer to visit, defined by b, based on the following probability ⎧ β ·[ξ(i,b)]γ ⎨ [τ (i,b)]α ·[η(i,b)] b ∈ Mi [τ (i,u)]α ·[η(i,u)]β ·[ξ(i,u)]γ u∈M i . (25) P(i, b) = ⎩ 0 other s
123
298
J Comb Optim (2014) 28:288–309
4.4 Strategies for pheromone update There are two main strategies to update pheromone: local update and global update. For the local update, the pheromone on path (i, j) will be locally updated after the ACS moves from node i to node j according to τ (i, j) = (1 − ρ) · τ (i, j) + ρ · τ0
(26)
where τ0 is the initial pheromone, and τ0 = 1/(n · cos tnn ), cos tnn is the total cost of the initial path constructed by the nearest-neighbor algorithm, and ρ ∈ (0, 1) is an adjustable parameter that defines the evaporation coefficient of pheromone. For the global update, we introduce the ASRank update method, which sorts all routes in an ascending order of their cost (i.e., cost 1 ≤ cost 2 ≤ · · · ≤ cost h where h is the number of ants/routes) after each iteration. Subsequently, the corresponding weights are assigned to the rankant routes according to their route costs. The smaller the route cost, the greater the weight. The weight of the global best route is w, and the weight of the r th path is max {0, w − r }. The pheromone on path (i, j) of the rankant ants can be updated by τ (i, j) = (1 − ρ)τ (i, j) +
w−1
gb
(w − r ) · τirj + w · τi j
ρ ∈ (0, 1),
(27)
r =1 gb
where τirj = 1/cost r , τ i j = 1/cost gb . cost r denotes the cost of the r th route, and cost gb denotes the total cost of the global best solution. The MMAS method is also used to avoid the stagnancy phenomenon in the search process, and the quantity of pheromone on each path is limited to the bound [τmin, τmax ], where τmax = nτ0 /ρ, τmin = τmax /(2n). In the ACS, updating only the pheromone of the global best solution is allowed. In ASRank, different routes are provided with different weights according to their route costs. The paths in the best solution have a higher chance to be selected in the next iteration. However, making more use of the local optimal solutions may result in the stagnation phenomena. The pheromone amount could be decreased through the local pheromone update, so as to reduce the possibility of selecting this route. In the MMAS algorithm, the pheromone amount in all paths is controlled within a limited bound, so that the possibility that all ants choose the same path will be decreased. This in turn avoids the stagnancy phenomena. 4.5 TS algorithm We design a search strategy for inserting and exchanging methods in the TS algorithm. In general, insertion methods move a node from one route to another using the relocation transformation method whereas exchanging methods swap two nodes in the routes based on the 2-opt exchange method. Consider an example of inserting methods in Fig. 3. The relocation transformation method moves node 2 from the left route
123
J Comb Optim (2014) 28:288–309
2
1
299
5
2
1
3
4
5
3
4
0
0
Fig. 3 Relocation transformation
1
5
3
1
4
5
3
0
4
0
Fig. 4 2-opt exchange
to the right route. Consider an example of exchanging methods in Fig. 4. The 2-opt exchange method selects two nodes and swaps their positions in the route by reversing the route directions between the two nodes. We employ an evaluation-based aspiration criterion that releases the best solution if all solutions in the candidate list are tabu. Tabu list is a first in-first out (FIFO) list, and is modified continually throughout the TS procedure. Each move in the tabu list is forbidden in the next |θ | iterations, and is released after |θ | iterations. When a node i is moved from a route u and added to a route r , we consider as a forbidden (tabu) move for |θ | iterations the remove i from r and reinsert i into u. Also, when the directions of all the paths between two nodes are reversed, we consider as a tabu move for |θ | iterations the directions of all the paths between the two nodes are reversed again. 4.6 Procedure of integrated ACS–TS framework Our integrated ACS–TS framework can be described as follows. Step 1 Initialization. Generate ant_ max initial feasible solutions randomly, calculate τ0 , and set τ (i, j) ← τ0 , the ACS iteration rank AC S ← 0. Step 2 Let rank AC S = rank AC S + 1, if rank AC S > rank AC S _max, then go to Step 9.
123
300
J Comb Optim (2014) 28:288–309
Step 3 Set the ant’s quantity ant ← 0, G = D. Step 4 Let ant = ant + 1, if ant > ant_ max, then go to Step 8; otherwise, set the vehicle’s quantity veh_n ← 1, c_time ← t0 , where t0 is the initial time. Step 5 Let veh_n = veh_n + 1, c_time ← t0 . Set i ← 0, means the new vehicle starts from the depot. Step 6 For each j ∈ G, determine whether the node j satisfies the following constraints: (a) Node j has never been visited. (b) Meet the residual delivery capacity:R D > d j . (c) Meet the residual pick-up capacity:R P > p j . (d) Meet the time window restrictions: ti + T T (i, j) ≤ l j . If there exist feasible nodes j, then move to node j according to Eq. (24) or Eq. (25), put node j in the solution set, and perform local update according to Eq. (26), let i = j and G = G − { j}. If G = null, then go to Step 4; otherwise go to Step 6. Otherwise, and go to Step 5. Step 7 Apply the TS to all ants based on probability using the process described as follows: (a) Set the tabu list to NULL and the amount of TS iteration rank T S ← 0. (b) rank T S = rank T S + 1, if rank T S > rank T S _max, then go to (e). (c) According to the neighborhood search strategy, select the best solution as a candidate solution and determine whether the candidate move is in the tabu list. If the candidate move is in the tabu list and does not meet the aspiration criterion, then go to (b). (d) If the candidate solution is better than the current best solution, then update the current best solution. Go to (b). (e) Output the best solution of the TS. Step 8 Perform a global update according to Eq. (27), and go to Step 2. Step 9 Stop.
5 Computational results 5.1 Experimental instances In this study, we tested our integrated ACS–TS framework on test instances that were constructed based on Solomon’s 56 benchmark instances Solomon (1987). These instances were divided into three types: C, R and CR. The C instances were problems with clustered nodes, and the range of time window was wide while the vehicle capacity was small. In the R instances, the customers’ coordinates were uniformly distributed, and the vehicle capacity was large. The CR instances were generated by mixing both features of C and R types. The C1, R1 and CR1 instances contain short scheduling horizons and small vehicle capacities. They are suitable for small vehicles serving short-distance customers. The C2, R2 and CR2 instances are suitable for large vehicles serving long-distance customers. There are 100 customers in each of these instances.
123
J Comb Optim (2014) 28:288–309 Table 1 Speed values for benchmark instances
301 Type
Vehicle speed at rush hours
Vehicle speed at non-rush hours
C1
1
0.5
C2
0.2
0.1
R1
20
R2
1
10
CR1
5
2.5
CR2
1
0.5
0.5
All experiments were done using the MATLAB language on a PC computer running Windows XP with Celeron M CPU 1.67 HZ and 512 M of RAM. In this study, we assumed that there was no time window for the depot (i.e., always open), and the total day time was evenly divided into 3 parts: morning, noon, and evening. We assumed that morning and evening were rush hours, and thus the speed of vehicles was lower than that during the noon time. For example, the speed time step function in C1 instances was defined by ⎧ ⎪ ⎨ 0.5 t ∈ [0, 412) t ∈ [412, 824) , v= 1 ⎪ ⎩ 0.5 t ∈ [824, 1236] where v denotes the vehicle speed. For different benchmark instances, we set different speed values as described in Table 1. 5.2 Parameters analysis 5.2.1 Heuristic factors The pheromone heuristic factor, α, reflects the influence of pheromone on the probability of choosing the next customer. The bigger α, the higher the probability of choosing the previously passed path. When α is large, the speed of convergence will be very high and the global search ability will be deteriorated. When α is small, the influence of pheromone’s positive feedback mechanism in the search process will be declining and the convergence speed is low. The heuristic factor based on vehicle residual load capacity, β, reflects the influence of vehicle residual delivery and pick-up capacity on the probability for choosing the next customer. If β is large, the vehicle residual capacity will strongly influence the process of choosing the next node, and travel distance and time will increase. If β is small, the quality of solution will decrease because of the low vehicle utilization. The heuristic factor based on time cost, γ , reflects the influence of the time cost on the probability of choosing the next customer. Choosing an inappropriate value of γ will affect other heuristic factors’ effect on the algorithm. These heuristic factors are parameters that greatly influence the performance of our algorithm. Thus determining an appropriate combination among the three factors will not only enhance the global search ability but also increase the speed of convergence.
123
302
J Comb Optim (2014) 28:288–309
Table 2 Parameters combination of the heuristic factors
Combination No.
α
β
γ
1
10
10
10
2
5
5
10
3
5
10
5
4
10
5
5
5
8
8
4
6
8
4
8
7
4
8
8
Table 3 Test results of the heuristic factors Test examples
Average value of total cost No. 1
No. 2
No. 3
No. 4
No. 5
No. 6
No. 7
C101
8449
9028
8260
8732
8887
8831
8772
C201
17598
17775
17543
17777
17594
18633
17515
R101
1985
2252
1962
2100
2041
2394
1947
R201
6648
6776
6345
6730
6241
6840
6633
CR101
11306
10736
10632
11154
11179
11831
10396
CR201
2110
2068
1889
2002
2049
2133
1944
We selected C101, C201, R101, R201, CR101, and CR201 from benchmark instances to test the three parameters. The combination of test parameters is described in Table 2. We applied the combinations of the heuristic factors in the integrated framework, and set C F = 100, C T = 1, and C W = 1. For each test instance, every combination was tested 10 times and the results were reported based on an average of 10 runs. The performance characteristics of different parameter settings of our integrated framework are shown in Table 3. From the table, it appears that combination No. 3 provides the best result in C101 and CR201 and also good results in other instances. Therefore, the combination of heuristic factors of α = 5, β = 10 and γ = 5 was used in subsequent experiments. 5.2.2 The coefficient of pheromone volatility The coefficient of pheromone volatility, ρ, reflects the volatility ratio of pheromone which directly relates to global search ability and the speed of convergence. When ρ is large, pheromone will fluctuate at a high speed. This will deteriorate the orientation of ant colony algorithm—making the algorithm very random. On the contrary, when ρ is small, excessive residual pheromone will dampen the effect of fresh pheromone and lower the speed of convergence. We tested C101, C201, R101, R201, CR101 and CR201 benchmark instances when ρ = 0.8, 0.5, 0.4 and 0.3, and found that our algorithm obtained the best convergence effect and the best solution when ρ = 0.4.
123
J Comb Optim (2014) 28:288–309
303
Table 4 Results of our algorithm with different population sizes of ants Ant quantity
Waiting cost Best
Average
Travel cost δ
Best
Average
Total cost δ
Best
Average
δ
5
3081
3166
0.2
4355
4565
0.5
8237
8564
0.4
10
3006
3069
0.3
4294
4547
0.7
8108
8450
0.4
20
3056
3238
0.6
4288
4749
0.2
8106
8492
0.2
30
2936
3136
0.5
4282
4392
0.2
8289
8410
0.2
5.2.3 Population size of ants We selected benchmark instance C101 to test the population size of ants (ant quantity) while setting the heuristic factors at α = 5, β = 10, γ = 5, and the coefficient of pheromone volatility at ρ = 0.4. For each parameter value, we ran our algorithm 10 times, and the results were reported based on an average of 10 runs. The results of this experiment are shown in Table 4. In the table, we also show the mean deviation degree δ of the population size. The degree δ is defined δ=
|each experiment result − average value of all experiments| average value of all experiments
.
(28)
In Table 4, it appears that when the quantity of ants is between 20 and 30, the mean deviation degree of waiting time, travel time and total cost are smaller. When the quantity of ants is large, the pheromone strength of each path tends to be homogenized. In this case, global search ability is enhanced but the search efficiency, the speed of convergence and quality of the solutions are poor. Considering all these factors together, we set the quantity of ants to be 20. 5.2.4 Length of Tabu list The length of tabu list is can greatly impact the performance of TS, in terms of search speed and solution quality. If the length is too short, the search may be stuck in a local optimum. On the contrary, if the length is too long, the search space will be limited and the efficiency of algorithm will be lowered. We tested our algorithm on the C101 instance with the lengths of the tabu list of 5, 10, 15, and 20. For every instance, each length value was tested 10 times and the results were reported based on an average of 10 runs. We found that when the length of tabu list was 10, the algorithm obtained the best solutions. 5.3 Comparison with benchmark algorithms In this paper, we set α = 5, β = 10, γ = 5, ρ = 0.4, the quantity of ants = 20, the number of iterations of TS is 60, and the number of iterations of ACS is 300. Using all benchmark instances, we tested our integrated ACS–TS framework and compare its
123
304
J Comb Optim (2014) 28:288–309
results with those obtained from benchmark algorithms, i.e., the ant colony algorithm alone and the TS algorithm alone. All computational results are shown in Table 5. We measured the gap rate between our algorithm and the two benchmark algorithms. If the gap rate is negative, our integrated algorithm performs better than the other two algorithms. From Table 5, there are 7 instances with positive gap rates of average solution value, 8 instances with positive gap rates of the maximum solution value, and 17 instances with positive gap rates of the minimum solution value. Among these instances, the maximum gap rate is 5.25 % and the minimum gap rate is −12.28 %. Although 30 % of gap rates of the minimum value are positive, more than 85 % of the average value and the maximum value obtained by our integrated framework are better than those obtained by other two algorithms. Consider the C102 instance for example. Figure 5 illustrates the convergence curves of the best solutions found by the ACS, TS and our integrated ACS–TS framework. From Fig. 5, the performance of the TS algorithm is quite poor because it relies heavily on the initial solution. However, within 300 iterations, the TS algorithm constantly improves the solutions. In the first 50 iterations, both ACS and our integrated framework can quickly converge to very good solutions. After 50 iterations, the ACS cannot improve its solutions whereas our integrated framework is able to continue improving the solutions. 5.4 Comparison with exact algorithm TD-VRPSPD is a NP-hard problem, which usually cannot be solved by exact methods within a satisfactory amount of time. For small instances, it is still possible to obtain optimal solutions that can be used to assess the solution quality of heuristic algorithms. In this paper, to measure the solution quality of our hybrid ACS–TS algorithm we solved small instances of TD-VRPSPD using a Branch and Bound (BB) algorithm to obtain optimal solutions of those instances. We construct small test instances by randomly selecting some customers from the C1, R1 and CR1 benchmark instances. From the computational results shown in Table 6, it is clear that when the number of customers is greater than 20, the BB algorithm failed to obtain a global optimal solution. For smaller problems (i.e., the number of customers ≤20), the solutions obtained by our ACS–TS algorithm are very close to the optimal solutions. In most cases, our solutions are within 2 % of the optimal solutions whereas the computational times required by our algorithms are less than 10 times of that required by the BB algorithm. The efficiency and efficacy of our algorithm are even more prominent when the number of customers is greater than 10. The BB algorithm was able to find only feasible solutions, which are worse than the solutions found by our algorithm (i.e., gap rate 7200
1871.4
61
−7.97
C101
2033.5
R101
712.6
FS
>7200
667.3
55
−6.36
CR101
796.9
FS
>7200
720.5
53
−9.59
C101
3009.4
FS
>7200
2729.4
67
−9.30
R101
1044.3
FS
>7200
894.3
64
−14.3
CR101
1002.2
FS
>7200
902.2
62
−9.98
hybrid algorithm−Result o f the B B algorithm Gap rate = Result o f theResult o f the B B algorithm ∗100 %
GOS indicates a global optimal solution, FS indicates a feasible solution
instances to test our approach. We first performed parameter analysis of our approach. Subsequently, we tested and compared our approach with the ACS and TS algorithms. The computational results suggest that our integrated ACS–TS framework is more effective and superior to the other two algorithms. Acknowledgments This work is supported by the National Natural Science Fund of China under Grant Nos. 71171126 and 61170095, the Specialized Research Fund for the Doctoral Program of Higher Education No. 20130078110001, the Shanghai Philosophy and Social Science Planning Fund under Grant No. 2011BGL015, the SRF for ROCS of SEM, 211 Project for Shanghai University of Finance and Economics of China. We would like to thank anonymous referees for their valuable comments and suggestions.
References Anily S (1996) The vehicle-routing problem with delivery and back-haul options. Naval Res Logist 43(3):415–434 Archetti C, Speranza MG, Hertz A (2006) A tabu search algorithm for the split delivery vehicle routing problem. Transp Sci 40(1):64–73 Balseiro SR, Loiseau I, Ramonet J (2011) An ant colony algorithm hybridized with insertion heuristics for the time dependent vehicle routing problem with time windows. Comput Oper Res 38(6):954–966 Bianchessi N, Righini G (2007) Heuristic algorithms for the vehicle routing problem with simultaneous pick-up and delivery. Comput Oper Res 34(2):578–594 Brandão J (2011) A tabu search algorithm for the heterogeneous fixed fleet vehicle routing problem. Comput Oper Res 38(1):140–151 Bullnheimer B, Hartl RF, Strauss C (1999) A new rank based version of the ant system: a computational study. Cent Eur J Oper Res Econ 7(1):25–38 Çatay B (2010) A new saving-based ant algorithm for the vehicle routing problem with simultaneous pickup and delivery. Expert Syst Appl 37(1):6809–6817 Chiang WC, Russell RA (1997) A reactive tabu search metaheuristic for the vehicle routing problem with time windows. INFORMS J Comput 9(4):417–430
123
308
J Comb Optim (2014) 28:288–309
Cordeau JF, Laporte G (2001) A tabu search algorithm for the site dependent vehicle routing problem with time windows. INFOR 39(3):292–298 Cordeau JF, Laporte G, Mercier A (2004) Improved tabu search algorithm for the handling of route duration constraints in vehicle routing problems with time windows. J Oper Res Soc 55(5):542–546 Cordeau JF, Maischberger M (2012) A parallel iterated tabu search heuristic for vehicle routing problems. Comput Oper Res 39(9):2033–2050 Desaulniers G, Lessard F, Hadjar A (2008) Tabu search, partial elementarity, and generalized k-path inequalities for the vehicle routing problem with time windows. Transp Sci 42(3):387–404 Dethloff J (2001) Vehicle routing and reverse logistics: the vehicle routing problem with simultaneous delivery and pick-up. OR Specktrum 23(1):79–96 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 52:115–118 Donati AV, Montemanni R, Casagrande N et al (2008) Time dependent vehicle routing problem with a multi ant colony system. Eur J Oper Res Soc 185(3):1174–1191 Dorigo M, Maniezzo V, Colorni A (1996) The ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern Part B: Cybern 26(1):29–41 Dorigo M, Gambardella LM (1997) Ant colonies for the traveling salesman problem. BioSystems 43(2):73– 81 Dorigo M, Gambardella LM (1997) Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE Trans Evol Comput 1(1):53–66 Duhamel C (1997) A tabu search heuristic for the vehicle routing problem with backhauls and time windows. Transp Sci 31(1):49–59 Figliozzi MA (2012) The time dependent vehicle routing problem with time windows: benchmark problems, an efficient solution algorithm, and solution characteristics. Transp Res Part E 48(3):616–636 Fox KR, Gavish B, Graves SC (1980) An n-constraint formulation of the (time-dependent) traveling salesman problem. Oper Res 28(4):1018–1021 Gajpal Y, Abad P (2009) An ant colony system (ACS) for vehicle routing problem with simultaneous delivery and pickup. Comput Oper Res 36(12):3215–3223 Gendreau M, Hertz A, Laporte G (1994) A tabu search heuristic for the vehicle routing problem. Manage Sci 40(10):1276–1290 Gendreau M, Laporte G, Séguin R (1996) A tabu search heuristic for the vehicle routing problem with stochastic demands and customers. Oper Res 44(3):469–477 Gendreau M, Laporte G, Vigo D (1999) Heuristics for the travelling salesman problem with pickup and delivery. Comput Oper Res 26(7):699–714 Glover F (1986) Future paths for integer programming and links to artificial intelligence. Comput Oper Res 13(5):533–549 Glover F, Laguna M (1997) Tabu search. Kluwer Academic Publishers, Boston Hill AV, Benton WC (1992) Modeling intra-city time-dependent travel speeds for vehicle scheduling problems. J Oper Res Soc 43(4):343–351 Ichoua S, Gendreau M, Potvin JY (2003) Vehicle dispatching with time-dependent travel times. Eur J Oper Res 144(2):379–396 Malandraki C (1989) Time dependent vehicle routing problem: formulations, solution algorithms and computations experiments. University Microfilms Int. Malandraki C, Daskin MS (1992) Time dependent vehicle routing problems: formulations, properties and heuristic algorithms. Transp Sci 26(3):185–200 Malandraki C, Robert BD (1996) A restricted dynamic programming heuristic algorithm for the time dependent traveling salesman problem. Eur J Oper Res 90(1):45–55 Middendorf M, Reischle F, Schmeck H (2002) Multi colony ant algorithms. J Heuristics 8(3):305–320 Min H (1989) The multiple vehicle routing problems with simultaneous delivery and pick-up points. Transp Res Part A 23(5):377–386 Montane FA, Galvão RD (2002) Vehicle routing problems with simultaneous pick-up and delivery service, vol. 38(6/1). OPSEARCH, New Delhi, pp 19–33 Nanry WP, Barnes JW (2000) Solving the pickup and delivery problem with time windows using reactive tabu search. Transp Res Part B 34:107–121 Picard JC, Queryranne M (1978) The time-dependent traveling salesman problem and its application to the tardiness problem in one-machine scheduling. Oper Res 26(1):86–110
123
J Comb Optim (2014) 28:288–309
309
Santos L, Coutinho-Rodrigues J, Current JR (2010) An improved ant colony optimization based algorithm for the capacitated arc routing problem. Transp Res Part B 44(2):246–266 Soler D, Albiach J, Martínez E (2009) A way to optimally solve a time-dependent vehicle routing problem with time windows. Oper Res Lett 37(1):37–42 Solomon MM (1987) Algorithms for the vehicle routing and scheduling problems with time window constraints. Oper Res 35(2):254–265 Stutzle T, Hoos H (2000) Max–min ant system. Future Gener Comput Syst 16(8):889–914 Subramanian A, Drummond LMA, Bentes C et al (2010) A parallel heuristic for the vehicle routing problem with simultaneous pickup and delivery. Comput Oper Res 37(11):1899–1911 Tang FA, Galv¯ao RD (2002) Vehicle routing problems with simultaneous pick-up and delivery service. J Oper Res Soc India 39(1):19–33 Tang FA, Galv¯ao RD (2006) A tabu search algorithm for the vehicle routing problem with simultaneous pick-up and delivery service. Comput Oper Res 33(3):595–619 Zachariadis EE, Tarantilis CD, Kiranoudis CT (2009) A hybrid metaheuristic algorithm for the vehicle routing problem with simultaneous delivery and pick-up service. Expert Syst Appl 36(2):1070–1081
123