Abstract
Introduction
The vehicle routing problem is one of the main combinatorial optimization problems that many heuristics are compositing to solve it. The basic vehicle routing problem (VRP) consist of a number of customers., each requiring a specified weight of goods to be delivered. Vehicles dispatched from a single depot must deliver the goods required, and then return to the depot. Each vehicle can carry a limited weight and may also be restricted in the total distance it can travel. Only one vehicle is allowed to visit each customer. The problem is to find a set of delivery routes satisfying these requirements and giving minimal total cost. In practice, this is often taken to be equivalent to minimizing the total distance traveled, or to minimizing the number of vehicles used and then minimizing total distance for this number of vehicles.
The VRP is categorized by Capacitated VRP (CVRP), Multi-depot VRP (MDVRP), VRP with Time Windows (VRPTW), Stochastic VRP (SVRP), Site-dependent VRP (SDVRP), Open VRP (OVRP) and so on with different constraints [1,2].
In the CVRP one has to deliver goods to a set of customers with known demands on minimum-cost vehicle routes originating and terminating at a depot. The vehicles are assumed to be homogeneous and having a certain capacity. In some versions of the CVRP one also has to obey a route duration constraint that limits the lengths of the feasible routes. The VRPTW extends the CVRP by associating time windows with the customers. The time window defines an interval during which the customer must be visited. The OVRP is closely related to the CVRP, but contrary to the CVRP a route ends as soon as the last customer has been served as the vehicles do not need to return to the depot. The MDVRP extends the CVRP by allowing multiple depots. The SDVRP is another generalization of the CVRP in which one can specify that certain customers only can be served by a subset of the vehicles. Furthermore, vehicles do not need to have the same capacity in the SDVRP. In the CVRP, MDVRP and SDVRP one seeks to minimize the total traveled distance, whereas in the OVRP and VRPTW, the first priority is to minimize the number of vehicles and minimizing the traveled distance is the second priority. The choice of objective is not an intrinsic feature of the problems, but just the tradition in the metaheuristic literature. Most exact methods and some metaheuristics for the VRPTW minimize total traveled distance instead of minimizing number of vehicles used.
Due to the nature of the problem it is not viable to use exact approaches for large instances of the VRP (for instances with few nodes the branch and bound technique [3] is well suited and gives the best possible solution). Therefore, most approaches rely on heuristics that provide approximate solutions.
Basically, VRP heuristics can be divided into three categories: construction heuristics and improvement heuristics and metaheuristics. Most of the research efforts aimed at solving the VRP have focused on the development of various metaheuristic algorithms. It has been experimentally shown [4] that, in general, tour-improvement heuristics produce better quality results than tour-constructive heuristics. Still, a tour-constructive heuristic is necessary at least to build the initial solution for the tour-improvement heuristic.
Construction heuristics generate feasible solutions by performing sequences of simple operations that minimize or maximize a given criterion. This class of methods includes the well-known savings heuristic of Clarke and Wright [5] that proceeds by merging two routes into a single route according to the savings obtained by this merger. Other well-known examples of construction heuristics are the sweep algorithm of Gillett and Miller [6], the insertion heuristic of Christofides et al. [7], the improved savings heuristic of Paessens [8] and the petal algorithm of Renaud et al. [9]. More details can be found in the survey papers of Laporte et al. [10], Laporte and Semet [11], and Van Breedam [12], which presents a parametric analysis of a number of construction heuristics.
Improvement heuristics seek to iteratively enhance a feasible solution (usually generated by a construction heuristic) through locally replacing a set of arcs or customer nodes. These local operations are performed as long as they produce improvements in the value of the objective function. These methods thus typically yield solutions that are local optima, with respect to the set of solution modifications considered. For more information, we refer the reader [13,14], and the surveys [10], [11].
Recently, most of the research efforts aimed at solving the VRP have focused on the development of various metaheuristic algorithms. A metaheuristic can be defined as a top-level general strategy which guides other heuristics to search for good solutions. Most of the VRP metaheuristics are based on some construction and improvement heuristics, i.e., they use the so-called local search principle [15].
The tabu search implementations of [16,17] have obtained the best known results to benchmark VRPs. Various authors have reported similar results, obtained using tabu search [18,22], or simulated annealing [23]. However, it has been observed by [19] that such heuristics require substantial computing times and several parameter settings.
Ant colony optimization is another recent approach to difficult combinatorial problems with architecture number of successful applications reported, including the VRP have been [20–21, 25] developed so far.
The second main metaheuristic principle is population search, which consists of maintaining a pool of solutions, and efficiently combining and replacing the solutions in the pool. A classical example of population search is the genetic algorithm. Applications of genetic algorithms have been reported for the CVRP [26–28], VRP with time windows [2,38], backhauls [40], multi-depot routing problem [35]. A hybrid approach to the vehicle routing problem using neural networks and genetic algorithms [40,41], another hybrid approach using GA an ACO [42] and a school bus routing problem [37] have also been reported.
Reference [29] adapt a variant of genetic algorithm, evolution strategies, for the VRP and combine it with guided local search. The ant algorithms of [21, 30–31] can also be viewed as a population search metaheuristics. For more details on the metaheuristics for the VRP, we refer to extensive surveys of [33–34, 19].
The paper is organized as follows. In Section II we give a formal definition of the CVRP problem and describe some heuristics for the VRP. Section 3 comprises a description of ACO approach, while Section IV is devoted to our ACO approach to the VRP and method of constructing the minimum spanning tree for the graph of problem. Next, in Section V, we present the description of the proposed algorithm and in Section VI show the results of implementations. Finally in last Section we draw some overall conclusions and suggest directions for future work.
The vehicle routing problem
The basic vehicle routing problem (VRP) consists of a large number of customers, each with a known demand level, which must be supplied from a single depot. Vehicles dispatched from the depot must deliver the goods required, then return to the depot. Each vehicle can carry a limited weight and may also be restricted in the total distance it can travel. Only one vehicle is allowed to visit each customer, so that all customer demands are satisfied and each customer is visited by just one vehicle. Possible objectives may be to find a set of routes which minimizes the total distance traveled, or minimizes the number of vehicles required and the total distance traveled with this number of vehicles. Various mathematical formulations of the VRP were given by, for example, [43,44].
Formal problem definition
We now present a mathematical formulation of the Capacitated Vehicle Routing Problem (CVRP) which is the most general version of the VRP. The CVRP is defined on a complete undirected network G =(V, E) with a node set and an arc set E. Node 0 is a depot with m identical vehicles of capacity Q, m can be fixed a priori or left as a decision variable. Each other node i > 0 represents a customer with a non-negative demand qi and each arc (i, j) has a non-negative travel distance dij=dji.
The CVRP consists of determining a set of m vehicle trips of minimum total cost, such that each trip starts and ends at the depot, each client is visited exactly once, and the total demand handled by any vehicle does not exceed Q. Let R1, …, Rm be a partition of V representing the routes of the vehicles to service all the customers. The cost of a given route ( , where and , denotes the depot), is given by:
And the cost of the problem solution (s) is:
With respect to:
Ant Colony Optimization (ACO) [45,46] belongs to the class of metaheuristics [46]–[48], which are approximate algorithms used to obtain good enough solutions to hard CO problems in a reasonable amount of computation time. Other examples of metaheuristics are tabu search [45], simulated annealing [49], and evolutionary computation [50].
The inspiring source of ACO is the pheromone trail laying and following behavior of real ants which use pheromones as a communication medium. In analogy to the biological example, ACO is based on the indirect communication of a colony of simple agents, called (artificial) ants, mediated by (artificial) pheromone trails. The pheromone trails in ACO serve as a distributed, numerical information which the ants use to probabilistically construct solutions to the problem being solved and which the ants adapt during the algorithm's execution to reflect their search experience.
However, since the initial work of Dorigo, Maniezzo and Colorni on Ant System [51], ACO is now quickly becoming a mature research field: a large number of authors have developed more sophisticated models that were used to successfully solve a large number of complex combinatorial optimization problems and theoretical insights into the algorithm are now becoming available. For ACO convergence proofs, theories and open problems we refer the readers to [52].
Several successful applications of ACO to a wide range of different discrete optimization problems are now available. The large majority of these applications are to NP-hard problems, for example routing (such as vehicle routing problem), assignment, scheduling and subset problems. For a list of current applications of ACO algorithms we refer the readers to [53]. For many of these problems, ACO algorithms produce results that are very close to those of the best-performing algorithms, while on some problems they are the state-of-the-art. These latter problems include the sequential ordering problem, open shop scheduling problems, some variants of vehicle routing problems, classification problems, and protein–ligand docking.
ACO Applications to telecommunication networks are consist of routing problems in circuit switched networks [54] and then in packet-switched networks [55]. For a survey on routing algorithms in a variety of wired network scenarios; see [56]. More recently, an ACO algorithm designed for routing in mobile ad hoc networks was shown to be competitive with state-of-the-art routing algorithms [57], while at the same time offering better scalability.
Apart from the research on previous applications, new trends in ACO are multi-objective problems [61], [66], dynamic optimization problems [55], [57], Stochastic optimization problems [58], [60], Parallel implementations [62–63], Continuous optimization [64,65].
In the constructive phase of the ACO algorithm decisions are based on both heuristic information and the pheromone values. We add a new parameter to this decision in our approach which is called weight. At the end of each iteration, i.e. once all ants have gone through solution construction and local search, the pheromone update procedure is applied to these pheromone values. Fig. 1. Title of the figure, left justified
Our approach
Due to its constructive nature of ACO and because at each construction step an ant chooses exactly one of possibly several ways of extending the current partial solution, ACO can be regarded as a tree search method [67]. This view of ACO as a tree search procedure allows us to put ACO into relation with classical minimum spanning tree.
Our strategy for solving VRP is based on the fact that the VRP is a generalization of the TSP. Thus, besides the routing aspect already existing in the TSP one has to find an assignment (or clustering) of customers to vehicles. Once this assignment is done, the problem reduces to independently solving a VRP. Each ant works only on its current cluster which is a branch of the minimum spanning tree. The intuition is that nodes that are near to each other will probably belong to the same branch of the minimum spanning tree of the graph and thus will probably belong to the same route in VRP.
The idea of this paper is to hybridize the solution construction mechanism of ACO with a modified version of MST, which results in a new approach to solve VRP. In this approach the extension of partial solutions is usually done by using a probabilistic greedy policy with respect to a weighting function that gives weights to the arcs of the problem graph and update the weights to reinforce the edges contained in the best.
Related work
Decomposing the problem to solve only the much smaller subproblems resulting from the decomposition was presented before in [16], [21], [68].
Reference [21] presents an algorithm that builds on the Savings based Ant System presented before by the authors and enhances its performance in terms of computational effort. Initially, an Ant System solves the master problem for a given number of iterations. Given the best found solution so far the algorithm determines for each route of this solution the center of gravity. Then it clusters these route centers and solves each of the resulting clusters independently by applying SbAS. After all subproblems have been solved it re-assembles the global solution and updates the global pheromone information.
The connection between ACO and minimum spanning tree techniques was established before in [16], [68]. Taillard [16] suggests to decompose the problem and proposes two distinct methods for partitioning a problem instance. For uniform problems, a partition into sectors is suggested, while for non-uniform problems Taillard uses a partitioning method based on trees and associated shortest path. In this partitioning method, the decomposition of the arborescence consists in deleting arcs in such a way that the subproblems successively created involve a quantity of goods as close to the capacity of the specified number of vehicles and as far from the root as possible. Recently an ACO approach to solve capacitated minimum spanning tree was proposed in [68].
The proposed algorithm
The proposed algorithm exploits two important problem characteristics by hybridizing ACO with an exact algorithm for clustering the problem. More precisely, a solution of the problem asks for two decisions, namely the clustering of nodes to find heuristically the nearest nodes and the ‘design’ for each cluster.
The algorithm mainly consists of the iteration of these steps:
decomposing the problem with minimum spanning tree, generation of solutions by ants according to pheromone information and arc weights, application of a local search to the ants' solutions, update of the pheromone information, update of the arc weights.
The algorithm iteratively does these five steps until the stopping criterion is met. As for all other meta-heuristics, the stopping criterion can either be static, i.e. a fixed number of iterations or dynamic, i.e. a fixed number of non-improving iterations. The implementation of these five steps is described below.
Step 1. decomposing the problem with minimum spanning tree
At this step we build the MST of the problem graph. An MST can be computed in polynomial time by some well-known algorithms, e.g. the algorithms of Kruskal [69] or Prim [70].
Clearly, we want to find a decomposition that leads to sub-problems with geographically close tours in order to be able to then solve these regional sub-problems efficiently. This should help us to improve both the routing on these tours but also the clustering.
The problem of finding an MST is quite easy and several efficient exact algorithms have been proposed for its resolution. In this paper we will use the well known algorithm of Prim. Starting from an empty tree, i.e. no selected arcs, it repeatedly includes the shortest arc connecting a node that is already part of the growing tree with a node that is not yet part of this tree, if it doesn't construct a tour for connected nodes. The algorithm ends once n-1 arcs have been included. The time complexity of an efficient implementation of this algorithm is O(n2), where n is the number of nodes.
We modify this method by assigning a weight wij to each arc (i,j) in the problem graph and using this weights instead of length of arcs for constructing the MST. In other words, in each step, the method selects the arc with maximum weight instead of minimum distance that doesn't construct a tour. The initial weight values are the reverse of distances between nodes, that means.
Step 2. generation of solutions by ants according to pheromone information and arc weights
At the beginning of this step, all ants start their move from depot and select a random branch of the MST to follow. Each ant starts a vehicle which starts its route from the depot and ends it in the depot too. After a vehicle completes its tour, the ant starts a new vehicle. In other words a tour is built node by node, so each ant iteratively adds new nodes until all nodes have been visited.
This method is implemented as follows. At each time step, each ant uses a transition rule, which is called modified pseudo-random proportional rule to select the next node from the current branch of the tree : Let k be an ant located at a node i, be a parameter, and q a uniform random value in [0, 1]. The next node j to be visited is randomly chosen according to the following probability distribution:
If q < q0:
else (q > q0)
Where, and correspond to the pheromone values, heuristic information and weight on edge (i, j) respectively.
In the above equations, is the feasible neighborhood, i.e. the set of nodes which ant k can choose to move to them from node i. The neighborhood consists of all the nodes in the current branch of the MST which hasn't already been visited. If the selected node has a capacity less than or equal to the remaining capacity of the current vehicle, the ant moves to this node, adds it to the current route and subtracts the request of this node from the capacity of the current vehicle, otherwise moving to this node violates the capacity constraint of the vehicle, so in this situation, the ant returns to the depot (it starts a new vehicle with full capacity), and then moves to the selected node.
When all the nodes of the current branch, were selected before, the ant considers the nearest neighbor branch as the current branch. In other words, the nearest branch to node i is assigned to the current branch and neighborhood is updated.
All pheromone parameters have values in the interval. We set all initial pheromone values to.
Step 3. application of a local search to the ants' solutions It is very clear after all the existing literature on VRP that local search is almost mandatory to achieve results of high quality [26], [72]. So In order to find competitive solutions it is in general necessary to use some kind of local search to improve the individual ants' solutions. In the proposed approach, this could be done by the sweep and 3-opt algorithms.
After the ants have constructed their solutions but before the pheromone is updated each ants' solution is improved by applying a local search. We first apply a local search based on swap moves to an ant's solution. The use of swap moves was proposed in [24] for the VRP. A swap move aims at improving the clustering of the solution by exchanging two customers from different tours, i.e. a customer i from tour k is exchanged with a customer j from tour 1.
Following [25] we then apply the 3-opt algorithm [13]. This algorithm iteratively exchanges three arcs with three new arcs until no further improvements are possible. In the context of the VRP it is applied separately to all vehicle routes built by the ants, thus aiming to improve the routing of each tour, while leaving the clustering unchanged. Thus, we first improve the clustering and once no more improvements are possible, we improve the routing.
Step 4. update of the pheromone information
After all ants have constructed their solutions and all ants' solutions have been taken to a local optimum, the pheromone trails are updated on the basis of the local optimal solutions. According to the rank based scheme the pheromone update is as follows [71]:
Where is the trail persistence and ne is the number of elitists. Using this scheme two kinds of trails are laid. First, the best solution found during the process is updated as if ne ants had traversed it. The amount of pheromone laid by the elitists is, where L* is the objective value of the best solution found so far. Second, the ne −1 best ants of the iteration are allowed to lay pheromone on the arcs they traversed. The quantity laid by these ants depends on their rank r as well as their solution quality Lr, such that the rth best ant lays. Arcs belonging to neither of those solutions just lose pheromone at the rate, which constitutes the trail evaporation.
Step 5. update of the arc weights
At the end of each iteration, weight values of the arcs which belong to the best solution are being updated to increase the probability of selecting these arcs in future solutions. The weight update is in the following way
Where λ is a suitable coefficient and L* is the objective value of the best solution found in the current iteration. It is clear that arcs with more pheromone values should have more direct effect on new weight values. But since has a value less than 1, it couldn't help to increase the weight of selected arcs by itself. So in the above equation, we divided by to use the benefit of pheromone values. We first update pheromones and then use these new pheromone values to modify the weight of arcs which contributed in the current solution.
A computational experiment has been conducted to compare the performance of the proposed algorithm with some of the best techniques designed for VRP. We executed the algorithm on some of the well-known problem instances from one dataset. Then, additional simulations were conducted over another dataset and results reported accordingly.
The algorithm were coded in C and, using a 2.0 GHz CPU. It was first applied to the 7 vehicle routing problems proposed by Christofides and can be downloaded from the OR-library (http://mistic.heig-vd.ch/taillard/problemes.dir/vrp.dir/taillard.dir), and which have been widely used as benchmarks. The first 5 problems (i.e. C1 to C5) have customers that are randomly distributed with the depot in an approximately central location. In the last two problems (i.e. C11 and C12), the customers are grouped into clusters. Then we applied the algorithm to the twelve instances from the second dataset which proposed by Taillard and can be downloaded from this url: http://people.brunel.ac.uk/∼mastjjb/jeb/orlib/files/. The results for those two datasets are reported for ten independent runs, and in each run the algorithm was executed for 200 iterations. Also we used 10 ants in each iteration for building the solutions. The common parameters for these instances include ρ = 0.8, α = γ = δ = 1, β = 2,
Table 1 shows the best, worst and average values over the ten runs for each problem. Also it shows the number of vehicles needed for best values and standard deviation from best-known solutions.
Our algorithm's results for Christofiede's instances.
Our algorithm's results for Christofiede's instances.
Table 2 shows the comparison of our algorithm with published results. The first column describes the various instances and their related size, whereas the second specifies well-known published best results obtained using simulated annealing and tabu search in five references. The following column refer to the best result of our method for these instances. New best results found with our approach are depicted in bold. The results show that our approach could find the new solutions for five instances.
Comparison of our algorithm with published results.
Although minimization of the vehicles is not the aim of our algorithm, we presented the number of vehicles which was needed for finding the best result of previous algorithms in column V1 and for the best result of our algorithm in column V2.
Table 3 shows the results obtained for the second problem instances and presents the comparison of best results of previous methods and our algorithm. We depicted the best result in bold. It also includes the worst and average results of the new proposed algorithm. The results show that our approach could find the new solutions for six instances.
Our algorithm's results for taillard's instances.
The results show our algorithm can find better solutions for most of the problem instances in comparison with the other metaheuristics proposed previously to solve the VRP.
According to recent researches, hybrid algorithms are very promising so we used this idea in our approach. In this paper we presented a new algorithm which hybridized the ACO with an exact algorithm means MST to improve both the performance of the algorithm and the quality of solutions for the VRP. The intuition is that nodes which are near to each other will probably belong to the same branch of the minimum spanning tree of the graph and thus will probably belong to the same route in VRP. In the proposed algorithm, in each ACO iteration, we first apply a modified implementation of Prim's algorithm to the graph of the problem to obtain a feasible minimum spanning tree (MST). Given a clustering of client nodes, the solution is to find a route in these clusters by using ACO with a modified version of transition rule of the ants. At the end of each iteration, ACO tries to improve the quality of solutions by using a local search algorithm, and update the associated weights of the graph arcs.
Future work will be conducted to improve the proposed algorithm. Alternative formulas will be examined to enhance the method of weight update and pseudo-random decision of ants for selecting the next node in solution construction. Additional improvements might lie on the combination of our approach with the other metaheuristics like genetic algorithm.
