Next Article in Journal
Saliency-Guided Detection of Unknown Objects in RGB-D Indoor Scenes
Previous Article in Journal
Recognizing Banknote Fitness with a Visible Light One Dimensional Line Image Sensor
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Combination of Genetic Algorithm and Particle Swarm Optimization for Vehicle Routing Problem with Time Windows

Research Center of Government GIS, Chinese Academy of Surveying and Mapping, 28 Lianhuachi West Road, Haidian District, Beijing 100830, China
*
Author to whom correspondence should be addressed.
Sensors 2015, 15(9), 21033-21053; https://doi.org/10.3390/s150921033
Submission received: 9 February 2015 / Revised: 22 July 2015 / Accepted: 24 August 2015 / Published: 27 August 2015

Abstract

:
A combination of genetic algorithm and particle swarm optimization (PSO) for vehicle routing problems with time windows (VRPTW) is proposed in this paper. The improvements of the proposed algorithm include: using the particle real number encoding method to decode the route to alleviate the computation burden, applying a linear decreasing function based on the number of the iterations to provide balance between global and local exploration abilities, and integrating with the crossover operator of genetic algorithm to avoid the premature convergence and the local minimum. The experimental results show that the proposed algorithm is not only more efficient and competitive with other published results but can also obtain more optimal solutions for solving the VRPTW issue. One new well-known solution for this benchmark problem is also outlined in the following.

1. Introduction

The vehicle routing problem (VRP) is a combinatorial optimization and integer programming problem seeking to service a number of customers with a fleet of vehicles. Proposed by Dantzig and Ramser in 1959, VRP is important to the fields of transportation, scheduling, distribution and logistics [1,2]. The problem involves many real-world considerations, such as time-window constraints, driver waiting costs, backhauls, layovers, etc. The vehicle routing problem with time windows (VRPTW) has been extensively studied by many researchers from the fields of operational research, applied mathematics, network analysis, graph theory, computer applications, traffic transportation, etc. Firstly, VRPTW is still one of the most difficult problems in combinatorial optimization, consequently presenting a great challenge. Secondly, in a more practical aspect, study of this problem could provide a real opportunity to reduce the costs in the area of logistics [3].
The VRPTW is a generalization of the VRP where the service for a customer starts within a given time interval, and it has been the subject of intensive research efforts for both heuristic and exact algorithms. The actual solutions of VRP can be generally classified into two main categories: the exact algorithms and the heuristic algorithms. The main approaches for solving VRPs are shown in Table 1.
Table 1. Main approaches for solving VRPs.
Table 1. Main approaches for solving VRPs.
AlgorithmsRemarks
The exact algorithmsBranch and bound method [4,5]The Efficiency depends on the depth of the branch and bound tree.
Set segmentation method [6,7]Hard to determine the minimum cost for each solutions.
Dynamic programming method [8,9]Effective to limited-size problems, hard to consider the concrete demands such as time windows.
Integer programming algorithm [10,11]High precision, time consuming, complex.
The heuristic algorithmsThe traditional heuristic algorithmsSavings algorithm [12,13]Computes rapidly, hard to get the optimal solution.
Sweep algorithm [14,15]Suitable to the same number of customers for each route with few routes.
Two-phase algorithm [16,17]Hard to get the optimal solution.
The meta-heuristic algorithmsTabu search algorithm [18,19,20]Has the good ability of local search, but is time consuming, and depends on the initial solution.
Genetic algorithm [13,21]Has the good ability of global search, computes rapidly, hard to obtain the global optimal solution.
Iterated local search [22,23]Has the strength of fast convergence rate and low computational complexity.
Simulated annealing algorithm [24,25]Slow convergence rates, carefully chosen tunable parameters.
Variable neighborhood Search [26,27]Is suitable for large and complex optimization problems with constraints.
Ant colony algorithm [28,29,30]Has good positive feedback mechanism, but is time consuming and prone to stagnation.
Neural network algorithm [31,32]Computes rapidly, has slow convergence and can easily be trapped in a local optimum
Artificial bee colony algorithm [30,33]Achieves a fast convergence speed, is associated with the piecewise linear cost approximation.
Particle swarm optimization [34,35,36]Is robust and has fast searching speed, brings easily premature convergence.
Hybrid algorithm [2,8,12,20,28,37,38]Is simple with fast optimizing speed and less calculation.
The exact algorithms can obtain the exact solution, but the computational effort required to solve this problem increases exponentially with the problem size. The traditional heuristic algorithms often only get the approximate solution close to the optimal solution, and are limited to the smaller problems. When the size of the problems increases, the solution precision of the traditional heuristic algorithms is often poor. The traditional heuristic algorithms adapt to local optimization and combined with the meta-heuristic algorithms to improve the solutions [39]. For large, complex problems, only the meta-heuristic algorithms can be used due to their strong performance of global search [18,40,41].
The VRPTW is a non-deterministic polynomial-time hard (NP-hard) problem. Due to the complexity of the VRPTW, it is not easy to obtain an exact solution for a large problem in real time. For such problems, optimal solutions are found quickly and are sufficiently accurate. Usually this task is accomplished by using various meta-heuristic algorithms, which rely on some insights into the nature of the problem. Particle swarm optimization (PSO) is not only superior in terms of high accuracy speed calculation, as well as its simple program, but it is also robust. Nie and Yue integrated the concept of evolving individuals originally modeled by GA with the concept of self-improvement of PSO [42]. Hao et al. proposed a modified particle swarm optimization which took the crossover between each particle’s individual best position [43]. In [44], dynamic parameterized mutation and crossover operators were combined with a PSO implementation individually and in combination to test the effectiveness of these additions. In [45], the proposed method used the concept of particles’ best solution and social best solution in the PSO algorithm, followed by combining it with crossover and mutation of GA. Considering the particle real encoding, linear decreasing inertia weight function and crossover operator of genetic algorithms, a combination of genetic algorithm and PSO for VRPTW is proposed that can improve the performance when computing speed to obtain the optimal solutions.

2. Vehicle Routing Problem with Time Windows (VRPTW)

In the VRPTW, a fleet of K identical vehicles supplies goods to n customers. All the vehicles have the same capacity Q . For each customer i , i = 1 , 2 , , n , the demand of goods d i , the arrival time t i , the service time s i , the waiting time w i and the time window [ b i , e i ] to meet the demand in customer i are all decision variables. The component s i represents the loading or unloading service time for customer i , whereas b i describes the earliest time available for starting the service. If any vehicle arrives at customer i before b i , it must wait. The vehicle must start the customer service before e i . This type of time window constraint is well known as a hard time window. Each of the vehicle routes starts and finishes at the central depot. Correspondingly, each customer must be visited once. The locations of the depot and all customers, the minimal distance c i j and the travel time t i j between all locations are given.
From the perspective of the graph theory, the VRPTW can be stated as follows: Let G ( V , A ) be an undirected graph with a node set V = ( v 0 , v 1 , , v n ) and an arc set A = { ( c i , c j ) : i j , c i , c j C } . In this graph model, c 0 is the depot, c i ( i = 1 , 2 , , n ) is a customer. To each arc ( c i , c j ) is associated a value t i j representing the travel time from c i to c j . A route is defined as starting from the depot, going through a number of customers and ending at the depot; each customer c i ( i = 1 , 2 , , n ) must be visited exactly once. There are K vehicles, V e = { 0 , 1 , , K 1 } . The number of routes cannot exceed K . Each vehicle serves a subset of customers on the route. The vehicles have the same capacity Q . The total sum of demands of customers served by a vehicle on a route cannot exceed Q . The additional constraints are that the service beginning time at each node c i ( i = 0 , 1 , , n ) must be greater than or equal to b i , the beginning of the time window, and the arrival time at each node c i must be lower than or equal to e i , i.e., the end of the time window. In case the arrival time is less than b i , the vehicle has to wait until the beginning of the time window before starting servicing the customer. The goal is to find a set of routes which can guarantee each customer to be served by one vehicle within a given time interval and then satisfy the vehicle capacity constraints. Furthermore, the size of the set should be less than the number of vehicles needed and the total travel distance should be minimized. Moreover, the mathematical formulation of the VRPTW is presented as follows [4,46]:
M i n z = i = 0 n j = 0 n k = 0 K 1 c i j x i j k
Subject to:
k = 0 K 1 j = 1 n x i j k K ( i = 0 )
k = 0 K 1 j = 0 n x i j k = 1 ( i = 1 , 2 , n ; i j )
i = 0 n d i j = 0 n x i j k Q ( i j , k [ 0 , K 1 ] )
t 0 = 0
t i + t i j + s i M ( 1 x i j k ) t j ( i , j [ 1 , n ] ; i j ; k [ 0 , K 1 ] )
b i t i e i
i = 0 n x i h k j = 0 n x h j k = 0 ( j V , k V e )
where x i j k is 1 if vehicle k travels from customer i to customer j , and 0 otherwise. t i denotes the time a vehicle starts services at customer i ; M is an arbitrary large constant. Objective function states that the total cost is to be minimized. Constraint (2) specifies that there are no more than K routes going out of the depot. Constraint (3) ensures that one vehicle goes into and out of a customer exactly. Equation (4) is the capacity constraint. The time window is assured in Equation (5), Equation (6) and Equation (7). Equation (8) is the flow conservation constraints that describe the vehicle path.

3. Particle Swarm Optimization (PSO)

PSO is a population-based stochastic optimization technique developed by Eberhart and Kennedy in 1995, inspired by social behavior of bird flocking or fish schooling [34] and was first intended for simulating these organisms’ social behavior. It is best to imagine a swarm of birds that are searching for food. When one of them finds the food, some of them will follow the first bird, while others will find other food. Initially, the birds do not know where the food is, but they know at each time how far the food is. Each bird will follow the one that is nearest to the food. Throughout the course of preying, a bird will use its own experiences and collective information to search for food.
In particle swarm optimization, the particles are moved around in the search space according to a few simple formulae. The position of a particle represents a candidate solution to the optimization problem at hand. Each particle searches for better positions in the search space by changing its velocity according to rules originally inspired by behavioral models of flocking. The movements of the particles are guided by their own best-known position in the search space as well as the entire swarm’s best-known position. When improved positions are discovered, these will then come to guide the movements of the swarm. The process is repeated and by doing so it is hoped, but not guaranteed, that a satisfactory solution will eventually be discovered. Compared with other intelligence optimization algorithms such as ant colony optimization, genetic algorithm, simulated annealing algorithm, neural network algorithm and artificial immune algorithm, PSO retains the global search strategy based on the swarm and has no individuals as in crossover and mutation. In PSO, through adjusting the velocities and positions of the particles which fly through the problem space by following the current optimum particles, the optimal solution can be obtained. Due to its simplicity, strong robustness, and fast optimization speed, PSO is suitable for very large and complex optimization problems with constraints. At first, PSO was applied to solve continuous optimization problems; however, several applications were proposed during these years in the area of combinatorial optimization problems including shop scheduling [47,48], project scheduling [49], travelling sales force [50], partitional clustering [51], and vehicle routing [34,52].
PSO is one of the evolution algorithms with the characteristics of evolutionary computing and swarm intelligence. Similar to other evolutionary algorithms, PSO searches for optima by evaluating individual fitness based on cooperation and competition between individuals. In PSO, each individual is considered as a particle without weight and volume in n -dimensional search space and flies through the space with a certain speed. The speed is adjusted dynamically by the individual’s experience and the entire swarm’s experience.
PSO is initialized with a population of random solutions and searches for the optimal solution by updating the particle’s position. Each particle is the feasible solution and is designated a fitness value by the objective function. Each particle keeps the track of its coordinates in the problem space which are associated with the best solution (fitness) it has achieved so far. The fitness value is called p b e s t . When a particle takes all the population as its topological neighbors, the best position is a global best and is called g b e s t . Through p b e s t and g b e s t , particles update themselves to produce the next generation of swarms.
The selection of fitness function depends on the research goals. The fitness function to evaluate the individuals is always related to the objective function. For a VRPTW, the total cost can be viewed as the fitness value. The inverse of the total cost is used to represent the fitness of the individuals, and then the fitness function is defined as follows:
f f i t n e s s = 1 z
In a PSO algorithm the particles represent potential solutions to the problem, and the swarm consists of P particles. Each particle p can be represented through n -dimensional vectors: the first one is defined by X p t = ( x p 1 t , x p 2 t , , x p n t ) with p = ( 1 , 2 , , P ) that indicates the position of the particle p in the searching space at the iteration t . The second one is V p t = ( v p 1 t , v p 2 t , , v p n t ) that represents the velocity with which the particle p moves. The third one is P b e s t p t = ( p b e s t p 1 t , p b e s t p 2 t , , p b e s t p n t ) that denotes the best position of the pth particle and the last one is G b e s t t t = ( g b e s t p 1 t , g b e s t p 2 t , , g b e s t p n t ) that represents the global best position in the swarm until tth iteration. The swarm is updated by the following equations:
{ v t + 1 p n = v t p n + k 1 × r a n d 1 ( ) × ( p t b e s t p n x t p n ) + k 2 × r a n d 2 ( ) × ( g t b e s t p n x t p n ) x t + 1 p n = x t p n + v t + 1 p n
where k 1 and k 2 are acceleration coefficients, which are respectively called cognitive and social parameter; r a n d 1 ( ) and r a n d 2 ( ) are two random numbers uniformly distributed in [ 0 , 1 ] . Acceleration coefficients k 1 and k 2 are positive constants to control how far a particle will move in a single iteration. Low values allow particles to roam far from target regions before being tugged back, while high values result in abrupt movement towards, or past, target regions. Typically, these are both set to a value of 2.0, although assigning different values to k 1 and k 2 sometimes leads to an improved performance.
A constant, v max , is used to arbitrarily limit the velocities of the particles v t p n and improve the resolution of the search. When v max is large ( 5 ) , the velocity of the particle is large, too; it is conducive to a global search, though it may fly through the optimal solution [53,54,55]. When v max is small ( 0.3 ) , the velocity of the particle is also small; it leads to a fine search in a specific region, but it is easy to fall to local optimum [53,54,55]. In a word, the search efficiency depends on v max .
Each particle moves in the search space with a velocity according to its own previous best solution and its group’s previous best solution. In Equation (10), the velocity v t + 1 p n consists of three parts—momentum, cognitive and social parts—respectively each term of the right side of Equation (10). The momentum part denotes the previous velocity of the particle, which improves the ability of the global search. The cognitive part denotes the process of learning from an individual’s experience. The social part denotes the process of learning from others’ experience, which represents the information sharing and social cooperation between particles. The balance among these parts determines the performance of a PSO algorithm. Without the momentum part, the particle then moves in each step without knowledge of the past velocity. Without the cognitive part, the convergence speed is fast, but can easily fall into a local optimum for a large problem size. Without the social part, it is hard to get the optimal solution due to the lack of the communications among individuals.

4. The Proposed Algorithm

4.1. Particle Encoding

Encoding is a bridge connecting a problem with an algorithm. Encoding method and initial solution have a great impact on the VRP problem. It is the key step to finding the appropriate encoding method for the particles and the corresponding solutions. In brief, the encoding methods of PSO include real encoding, binary-encoding and integer encoding. Integer encoding is easy to decode and convenient for the fitness function calculation, but it requires a lot of computing resources and tends toward premature convergence. In addition, binary encoding is hard to decode. Therefore, real encoding is adopted in the proposed method.

4.2. Inertia Weight Function

In order to better control the searching and exploring abilities and improve the convergence of particle swarm algorithm, the inertia weight ω is introduced into the velocity function. Therefore, v t + 1 p n is changed into the following form:
v t + 1 p n = ω v t p n + k 1 × r a n d 1 ( ) × ( p t b e s t p n x t p n ) + k 2 × r a n d 2 ( ) × ( g t b e s t p n x t p n )
The inertia weight ω is employed to control the impact of the previous history of velocities on the current one. Accordingly, the parameter ω regulates the trade-off between the global and the local exploration abilities. If ω is high, particles can hardly change their direction and turn around, which consequently implies a larger area of exploration as well as a reluctance against convergence towards optimum. On the other hand, If ω is small, only little momentum is presented from the previous time-step, thereby leading to quick changes of direction. A suitable value for the inertia weight usually contributes the balance between global and local exploration abilities and consequently results in a reduction of the number of iterations required to obtain the optimum solution.
Considering whether the inertia weight ω is changed or not, the calculation methods of the inertia weight ω include three categories: fixed-weight method, time-varying weight method and adaptive inertia weight method. The fixed-weight method selects a constant value as the inertia weight ω and is kept unchanged. The fixed-weight method was originally introduced by Shi and Eberhart in [56]. The time-weight method selects an iterative relationship as the inertia weight ω according to a selected range, which is defined as a function of time or iteration number. In [57,58,59,60], time-varying inertia weight strategies were introduced and shown to be effective in improving the fine-tuning characteristic of the PSO. In [61,62,63], the adaptive inertia weight methods used a feedback parameter to monitor the state of the algorithm and adjusted the value of the inertia weight.
In order to better balance the global search ability and local search capabilities, kinds of inertia weight are often used. At first, a higher ω is selected to expand the search space and converge to a region. Then a smaller ω is selected to explore the local region to obtain high accuracy solutions. In this paper, the definition of inertia weight is a linear decreasing function of the number of iterations. ω is given as follows:
ω = ω 0 ω 0 ω e η max η
where ω 0 is the initial value of inertia weight, ω e is the final value of inertia weight, η max is the maximum number of iterations, η is the current number of iterations. From Equation (12), by the linear function decreasing inertia weight, it is easy to obtain better global search ability and make particles enter the area around the optimal value early in the iteration process, and it is easy to obtain better local search ability and the solutions close to the optimum value late in the iteration process. Since the value of the inertia weight is mainly determined based on the iteration number, this strategy is relatively simple and has fast convergence compared to other methods.

4.3. Crossover Operator of Genetic Algorithm

In order to expand the search space to obtain the optimum solution and enhance the diversity of particles, the idea of genetic algorithm is integrated into the PSO to avoid the premature convergence and local minimum value. Crossover operator of genetic algorithm is introduced. The crossover operators of the particle’s velocity and position are given as follows:
p c h i l d 1 ( x t p n ) = p c × p p a r e n t 1 ( x t p n ) + ( 1 p c ) × p p a r e n t 2 ( x t p n )
p c h i l d 2 ( x t p n ) = p c × p p a r e n t 2 ( x t p n ) + ( 1 p c ) × p p a r e n t 1 ( x t p n )
p c h i l d 1 ( v t p n ) = p p a r e n t 1 ( v t p n ) + p p a r e n t 2 ( v t p n ) | p p a r e n t 1 ( v t p n ) + p p a r e n t 2 ( v t p n ) | | p p a r e n t 1 ( v t p n ) |
p c h i l d 2 ( v t p n ) = p p a r e n t 1 ( v t p n ) + p p a r e n t 2 ( v t p n ) | p p a r e n t 1 ( v t p n ) + p p a r e n t 2 ( v t p n ) | | p p a r e n t 2 ( v t p n ) |
where p c h i l d represents the offspring of the particle, p p a r e n t represents the parent of the particle, p c represents the crossover probability. p c ( p c [ 0 , 1 ] ) is a random number. Based on the trial and error, 0.2 was found to be a suitable value for p c . The two parents are combined to produce two new offspring. If the fitness of offspring is more than the fitness of parents, the offspring will be selected to replace the parents; otherwise, the offspring are discarded.

4.4. The Proposed Algorithm Flow

The flow of the proposed algorithm is shown in Figure 1. In this flow, the parameters are set in step (1), and the particles are initialized in step (2). Its position is decoded in step (3), its corresponding fitness value is evaluated in step (4), its cognitive and social information is updated in step (5), and then moved by step (6). Step (7) is the controlling step for repeating or stopping the iteration. Step (8) generates a new set of the population. Note that the improvements of this flow from the original PSO take place in step (3), which uses the real encoding method to decode the route in addition to step (6), which introduces a linear decreasing function of the number of iterations, and step (8), which is combined with the crossover operator of genetic algorithm. The proposed algorithm steps are given as follows:
Figure 1. The flow of the proposed algorithm.
Figure 1. The flow of the proposed algorithm.
Sensors 15 21033 g001
(1)
Parameters setting. Define the parameters: acceleration coefficients k 1 and k 2 , the maximum number of iterations η max , the initial value of inertia weight ω 0 , the final value of inertia weight ω e , a random number p c , the number of the particles P , the maximum velocities of the particles v max .
(2)
Population initiation. Initialize P particles as a population, generate the pth particle with random position x 0 p n , velocity v 0 p n , and personal best p b e s t p n 0 = x 0 p n . Set iteration η = 0 .
(3)
Particle encoding. According to the particle encoding rules, for i = 1 , 2 , , p , decode x t p n to a set of route R t p n .
(4)
Fitness evaluation. According to Equation (1), compute z , and then evaluate f f i t n e s s through Equation (9).
(5)
p b e s t and g b e s t updating. Compute p b e s t p n t and g b e s t p n t . If p b e s t p n t < p b e s t , update p b e s t = p b e s t p n t . If g b e s t p n t < g b e s t , update g b e s t = g b e s t p n t .
(6)
Particles updating. Update the velocity and the position of each pth particle according to Equation (10).
(7)
Termination judgment. If the stopping criterion is met, go to step (9). Otherwise, η = η + 1 and go to step (8). The stopping criterion is that η η max or finding a better solution. A better solution means that the hierarchical cost objective value is better than that of the best solution found so far.
(8)
Crossover operator. Generate random number p c . According to Equations (13)–(16), generate a new set of population. Then return to step (3).
(9)
Outputting the optimal solution. Decode g b e s t as the best set of vehicle route R and output the optimal solution R .

5. Experimental Results

In order to evaluate the performance of the proposed algorithm, we implemented the algorithm in Visual C# under Microsoft Windows-XP on a PC with Intel P4 4 GHz CPU and 2 GB RAM. The VRPTW benchmark problems of Solomon, which have been the most commonly chosen to evaluate and compare all algorithms, are tested in this paper.

5.1. Solomon Benchmark Problems

It is well known that Solomon Benchmark problems are the widely used standard test set for VRPTW. Solomon Benchmark derives from the website [64]. The Solomon test set consists of 56 problem instances for each dimension category problem, i.e., 25, 50 and 100 customers. Each of these instances comprises 100 customers. The location of the depot and the customers are given as integer values from the range 0 , 1 , , 100 in a Cartesian coordinate system. The distance between two customers is the simple Euclidean distance. It is assumed that the travel times are equal to the corresponding Euclidean distances between the customer locations. One unit of time is necessary to run one unit of distance by any vehicle. Different capacity constraints are considered for the vehicle in each class of instance, as well as the demands from the customers.
The test problems are grouped into six problem types: R1, R2, RC1, RC2, C1, and C2, each containing 8 to 12 instances. In R1 and R2, the customer locations are generated randomly in a given area according to a uniform distribution. C1 and C2 have customers located in clusters. RC1 and RC2 contain a mix of randomly distributed and clustered customers. R1, C1 and RC1 have narrow time windows and the vehicles have only small capacities. Therefore, each vehicle serves only a few customers. In contrast, R2, C2 and RC2- have wider windows and the vehicles have higher capacities. Each vehicle supplies more customers and therefore, compared to the type 1 problems, fewer vehicles are needed. Because the Solomon’s test set represents relatively well different kinds of scenarios, it has often been chosen to evaluate many solution proposals in the literature.

5.2. Evaluation of the Results

In order to compare the solutions, four evaluation indexes are presented: the total traveled distance, the average total traveled distance, the CPU runtime and the quality of the solutions. The total traveled distance and the average total traveled distance are the main criteria in the VRPTW and determines the algorithm merits. The CPU runtime describes the algorithm efficiency. The quality of the solutions is the comprehensive index, which denotes the percentage of deviation from the best-known solution. The formula for calculating the percentage of deviation is as follows:
z d e v = z z b e s t z b e s t × 100 %
where z d e v is the percentage of deviation from the best-known solution, z is the cost of the current solution, z b e s t is the cost of the best-known solution.

5.3. Analysis of the Results

Each of 56 Solomon Benchmark problems is performed by some of the best-reported methods for VRPTW, namely, the genetic algorithm, ant colony optimization [29], PSO [65] and the proposed algorithm. Each problem involves 100 customers, randomly distributed over a geographical area. For each problem, 10 replications of the algorithm are attempted. According to Equation (1), we have adopted a formulation in which the total traveled distance is the optimized objective. Results displayed in the following tables contain the total traveled distance and the number of vehicles used in order to facilitate the comparison of our results with those obtained by hierarchical approaches in which the total traveled distance is the primary objective and, for the same total traveled distance, the secondary objective is number of vehicles, and also with multi-objective formulations that simultaneously consider both objectives [66]. It compares the total traveled distance (TD), the average total traveled distance, the CPU runtime and the quality of the solutions for each of the problems. Both best and average results are presented.

5.3.1. The Total Traveled Distance

The results of TD and the number of vehicles (NV) are shown in Table 2. The published best-known solutions are not obtained by one or a particular class of methods [15,67,68,69,70,71]. Results emphasized in bold in Table 2 represent the new best solutions reached by the proposed algorithm: 1 out of 56 (1.79%). Results emphasized in bold and italic in Table 2 represent the previously best-known solutions that cannot be reached by this algorithm. The results show that many previously best-known solutions from the proposed algorithm have been reached: 31 out of 56 (55.4%). Globally, the TD average results are close to the optimal solutions known in the proposed algorithm. This comparison shows that the results from the proposed algorithm are competitive with other published results. In the genetic algorithm, 27 out of 56 (48.2%) have reached the previously best-known solutions. In PSO, 28 out of 56 (50%) have reached the previously best-known solutions. In ACO, 26 out of 56 (46.4%) have reached the previously best-known solutions. It can be seen that the proposed algorithm is better than the genetic algorithms, ACO and PSO. The efficiency is improved and the results are close to the best-known solutions. It is possible to see that the proposed algorithm continues to be very competitive in terms of total TD.
Table 2. The results of the total traveled distance for Solomon’s 100 customers set Problems.
Table 2. The results of the total traveled distance for Solomon’s 100 customers set Problems.
No.ProblemBest-Known SolutionGeneticPSOACOThe Proposed Algorithm
BestAverageBestAverageBestAverageBestAverage
TDNVTDNVTDNVTDNVTDNVTDNVTDNVTDNVTDNV
1C101828.9410828.9410856.2610.20828.9410842.6010.10828.9410842.6010.10828.9410842.6010.10
2C102828.9410828.9410828.9410.00828.9410828.9410.00828.9410857.8210.10828.9410828.9410.00
3C103828.0610828.0610859.8810.00828.0610828.0610.00828.0610828.0610.00828.0610828.0610.00
4C104824.7810824.7810824.7810.00824.7810824.7810.00824.7810849.7910.10824.7810824.7810.00
5C105828.9410828.9410854.2510.20828.9410866.9110.30828.9410904.8810.60828.9410841.6010.10
6C106828.9410828.9410851.7810.10828.9410897.4610.30828.9410943.1410.50828.9410874.6210.20
7C107828.9410828.9410856.4710.20828.9410842.7010.10828.9410870.2310.30828.9410842.7010.10
8C108828.9410828.9410865.9910.00828.9410841.2910.00828.9410853.6410.00828.9410841.2910.00
9C109828.9410828.9410910.2710.30828.9410856.0510.10828.9410883.1610.20828.9410828.9410.00
10C201591.563591.563602.533.30591.563606.183.40591.563609.843.50591.563598.873.20
11C202591.563591.563656.013.20591.563623.783.10591.563623.783.10591.563591.563.00
12C203591.173591.173606.193.00591.173604.693.00591.173618.203.00591.173604.693.00
13C204590.603590.603704.283.30590.603666.393.20590.603742.173.40590.603628.493.10
14C205588.883588.883619.273.30588.883599.013.10588.883609.143.20588.883599.013.10
15C206588.493588.493620.283.20588.493604.383.10588.493636.173.30588.493588.493.00
16C207588.293588.293610.493.00588.293632.693.00588.293621.593.00588.293599.393.00
17C208588.323588.323622.733.00588.323599.793.00588.323611.263.00588.323599.793.00
18R1011483.57161642.87201645.8319.501642.87201645.3319.501645.79191647.2919.001642.87201645.8319.50
19R1021355.93141482.74181483.7517.701472.62181477.9517.801480.73181482.2117.801472.62181477.1417.80
20R1031133.35121292.85151248.8814.401213.62141239.3014.401213.62141247.2214.301213.62141239.0113.80
21R104968.2810982.0110995.059.601007.2491007.309.00982.01101000.119.40982.0110992.529.70
22R1051262.53121360.78151366.8714.801360.78151374.1414.701360.78151369.9915.301360.78151366.4215.00
23R1061201.78121249.40131251.4812.201241.52131249.3912.401251.98121252.0012.001241.52131247.2912.60
24R1071051.92111076.13111094.1810.701076.13111094.1910.501076.13111096.0810.701076.13111088.4910.70
25R108948.5710963.999965.429.90963.999965.109.70948.5710960.929.60948.5710955.829.60
26R1091110.40121151.84131181.8611.601151.84131186.1511.401151.84131190.4411.201151.84131164.7112.40
27R1101080.36111080.36111112.7910.301080.36111105.1410.501080.36111107.7210.501080.36111098.1410.70
28R111987.80101053.50121086.4310.801053.50121083.1311.601088.48121095.0710.401053.50121069.1411.60
29R112953.6310982.149995.3310.80953.6310965.0310.00953.6310987.4010.60960.6810968.589.90
30R2011148.4891148.4891208.947.701179.7991231.205.501148.4891212.517.301148.4891178.398.40
31R2021049.7471049.7471086.625.701049.7471100.685.001079.3661142.694.101049.7471081.575.70
32R203900.085900.085930.234.60932.767939.723.80939.543941.703.00900.085922.714.60
33R204772.334807.384828.062.40772.334817.422.80772.334823.172.80772.334801.473.40
34R205959.744970.896982.664.50970.896980.304.80970.896989.713.60970.896977.955.10
35R206898.915898.915906.063.40906.143910.243.00906.143912.293.00898.915903.894.00
36R207814.783814.783844.733.40814.783868.252.60814.783876.512.60814.783836.673.00
37R208715.373725.752726.612.00725.424725.773.20725.752726.712.00723.613725.502.50
38R209879.536879.536892.085.40879.536891.005.40879.536903.214.20879.536891.825.10
39R210932.897954.123955.066.60954.123954.645.00939.343952.944.78932.897937.896.20
40R211761.104885.712892.312.30885.712889.534.40888.735867.072.90808.564824.993.90
41RC1011481.27131660.10161689.5714.401623.58151658.1815.101639.97161687.5614.401623.58151645.1815.10
42RC1021395.25131466.84141493.5313.501482.91141497.2813.601477.54131539.8512.301466.84141487.1013.50
43RC1031221.53101261.67111263.5611.001262.02111262.2911.001262.02111264.1711.001261.67111262.0411.00
44RC1041135.48101135.48101135.5010.001135.48101135.5010.001135.48101135.5110.001135.48101135.4910.00
45RC1051354.20121518.60161601.1715.401518.60161593.3514.801629.44131633.2913.001618.55161621.1615.40
46RC1061226.62111377.35131396.5911.801384.92121417.2511.201377.35131416.4911.301377.35131392.8012.30
47RC1071150.99101230.48111254.9812.601212.83121240.5012.301230.48111258.0412.801212.83121226.0112.00
48RC1081076.81101117.53111135.3210.301117.53111127.4110.901117.53111128.5510.801117.53111126.4010.70
49RC2011134.9161406.9141391.437.201406.9141406.914.001286.8391397.236.001387.5581391.437.20
50RC2021113.5381365.5741250.183.601113.5381162.757.601113.5381204.866.301148.8491173.347.90
51RC203945.965945.9651034.303.40945.9651032.143.401049.6231052.873.00945.965990.674.20
52RC204796.114798.413798.693.20798.413799.183.60798.463799.433.80798.413798.673.20
53RC2051168.2281270.6971276.086.401168.2281282.014.701168.2281263.146.801161.8171187.566.90
54RC2061059.8971059.8971105.755.801084.3081139.244.001059.8971135.444.001059.8971092.226.00
55RC207976.407999.2661060.373.60976.4071011.755.701053.5861064.283.90976.407995.656.40
56RC208785.934816.105824.933.60816.105822.414.00806.875819.644.00795.395807.274.78

5.3.2. The Average Total Traveled Distance

The results of the average total traveled distance are shown in Table 3. Each entry refers to the best performance obtained with a specific technique over a particular data set. Rows C1, C2, R1, R2, RC1 and RC2 present the average number of vehicles and average total distance with respect to the six problem groups. The last row refers to the cumulative number of routes and traveled distance over all problem instances. The first column describes the various data sets and corresponding measures of performance defined by the average number of routes (or vehicles), and the total traveled distance. The following columns refer to particular problem-solving methods. The performance of the proposed algorithm is depicted in the last column. The results indicate that the proposed algorithm can match the best-known solutions, and it performs better than other algorithms. In addition, the proposed algorithm is the only method that found the minimum number of tours and the comparable traveled distance consistently for all problem data sets.
Table 3. The results of the average total traveled distance.
Table 3. The results of the average total traveled distance.
ProblemBest-Known SolutionGeneticPSOACOThe Proposed Algorithm
BestAverageBestAverageBestAverageBestAverage
C1-typeNV10.0010.0010.1110.0010.1010.0010.2110.0010.06
TD828.38828.38856.51828.38847.64828.38870.37828.38839.28
C2-typeNV3.003.003.163.003.113.003.193.003.05
TD589.86589.86630.22589.86617.11589.86634.02589.86601.29
R1-typeNV11.6713.0012.6912.9212.6312.9212.5713.0812.78
TD1128.181193.221202.321184.841199.351186.161203.041182.041192.76
R2-typeNV5.184.734.364.914.144.553.665.364.72
TD893.90912.31932.12915.56937.16914.99940.77899.98916.62
RC1-typeNV11.1312.7512.3812.6312.3612.2511.9512.7512.50
TD1255.271346.011371.281342.231366.471358.731382.931351.731362.02
RC2-typeNV6.135.134.606.004.636.134.736.385.82
TD997.621082.851092.721038.731082.051042.131092.111034.281054.60
AllNV449465452.40472448.70466441.88483466.68
TD53,568.4655,959.1157,143.5355,511.3056,854.7555,679.8957,490.7555,346.6756,092.75

5.3.3. The Average Central Processing Unit (CPU) Runtime

The results of the average CPU runtime are listed in Table 4. Rows C1, C2, R1, R2, RC1 and RC2- present the average CPU runtime with respect to the six problem groups. From Table 4, for the same instance, ACO is almost the most time consuming; the genetic algorithm takes second place; the PSO takes third place; and the proposed algorithm is last. The result shows that the proposed algorithm is highly efficient and suitable to be used in real-life problems to generate good solutions for further improvement. The average CPU runtime required to solve each type of problem set is between 62 and 149 milliseconds by the proposed algorithm, which is much faster than other algorithms. It can be seen that the proposed algorithm is very effective. This happened because crossover in GA is done between random chromosomes, whereas in the proposed algorithm, crossover is done between a particle’s chromosome and best chromosome. Therefore, the proposed algorithm does not only give a better result, but it also reaches convergence results faster than other methods.
Table 4. The results of the average CPU runtime.
Table 4. The results of the average CPU runtime.
ProblemGeneticPSOACOThe Proposed Algorithm
C1e988511162
C2312231338135
R11128112460
R2309273553182
RC179808258
RC2297257333149

5.3.4. The Quality of the Solutions

According to Equation (17), the quality of the solutions is shown in Table 5. Here z is the average total traveled distance. Rows C1, C2, R1, R2, RC1 and RC2 present the average z d e v with respect to the six problem groups. The last row refers to the cumulative z d e v over all problem instances. It can be seen that, with the proposed method, the quality of the results is between 1.32% and 8.17% with average quality equal to 4.07%; in the ACO, the quality of the solutions is between 5.07% and 9.75% with average quality equal to 6.95%; in PSO, the quality of the solutions is between 2.32% and 8.53% with average quality equal to 5.63%; in the genetic algorithm, the quality of the solutions is between 3.39% and 8.96% with average quality equal to 6.29%. The improvement in the quality of the solutions was achieved with the addition of the crossover operator of genetic algorithm. The reason is that, now, the particles moved in a more fast and efficient way to their local optimum or to the global optimum solution (to the best particle in the swarm). It is proved that the addition of the evolution of the population phase before the individuals used in the next generation improves the results of the algorithm, especially in the large-scale vehicle routing instances which are more difficult and time consuming.
Table 5. The result of z d e v .
Table 5. The result of z d e v .
ProblemGeneticPSOACOThe Proposed Algorithm
C1-type3.39%2.32%5.07%1.32%
C2-type6.84%4.62%7.48%1.94%
R1-type6.28%5.98%6.33%5.36%
R2-type4.44%4.93%5.29%2.62%
RC1-type8.89%8.53%9.75%8.17%
RC2-type8.96%7.92%8.95%5.30%
All6.29%5.63%6.95%4.07%
From the results shown in Table 2, Table 3, Table 4 and Table 5, it is observed that the proposed algorithm is fast and produces good solutions, which are only slightly less accurate than the best-known results. This comparison also shows that the results from the proposed algorithm are competitive with other published results. The experimental results reveal that the proposed algorithm is highly capable at minimizing the total travel distance. In particular, it is obvious that the proposed algorithm has great advantages for the solved problem size over the genetic algorithm, PSO and ACO. The reason is that, now, the particles moved in a more fast and efficient way to their local optimum or to the global optimum solution (to the best particle in the swarm). After each environment change (peak movement), the particles are placed on a point far from the optimum through the inertia weight function. The particles take few iterations to reach this point. At the same time, the particle’s coding can be ensured that a particle is always able to generate a new feasible solution.

6. Conclusions

This paper proposes a genetic and PSO algorithm for VRPTW. Moreover, this algorithm was applied to the Solomon Benchmark problems and produced satisfactory results. Compared to other approaches, experimental results indicate that the proposed algorithm is fast and possesses a relatively accurate results. The proposed algorithm has proved to be an effective and competitive algorithm for the optimization problems due to its easy implementation, inexpensive computation and low memory requirements. Three major contributions are as follows:
(1)
The real encoding method avoids the complex encoding and decoding computation burden.
(2)
A linear decreasing function of the number of iterations in PSO have a flexible and well-balanced mechanism to enhance and adapt to the global and local exploration abilities, which can help find the optimal solution with the least number of iterations.
(3)
The crossover operator of the genetic algorithm is introduced to generate a new population guaranteeing that the offspring inherits good qualities from this parent. The crossover operator avoids premature convergence and local minimum value and increases the diversity of particles.
Although the combination of the genetic algorithm and PSO for VRPTW obtains satisfactory achievements, there is still some room for improvement, such as how to effectively construct the initial solution and how to precisely judge the local optimal solution. Further research applying the proposed algorithm to other VRPTW variants will be carried out in our future work.

Acknowledgements

This research was funded by National High Technology Research and Development Program of China (863 Program) under grant No. 2013AA122003 and No. 2012AA12A402, National Science & Technology Pillar Program under grant No. 2012BAB16B01, National Natural Science Foundation of P.R. China under grant No. 40901195, Special Fund for Quality Supervision, Inspection and Quarantine Research in the Public Interest under grant No. 201410308, and the Basic Research Fund of CASM.

Author Contributions

Shenghua Xu and Jiping Liu conceived of and designed the study. Shenghua Xu and Liang Wang analyzed the data and performed the experiments. Shenghua Xu, Fuhao Zhang and Lijian Sun wrote and revised the paper extensively. All of the authors have read and approved the final manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Dantzig, G.; Ramser, J. The truck dispatching problem. Manag. Sci. 1959, 6, 80–91. [Google Scholar] [CrossRef]
  2. Hu, W.; Liang, H.; Peng, C.; Du, B.; Hu, Q. A hybrid chaos-particle swarm optimization algorithm for the vehicle routing problem with time window. Entropy 2013, 15, 1247–1270. [Google Scholar] [CrossRef]
  3. Bräysy, O. A reactive variable neighborhood search for the vehicle-routing problem with time windows. INFORMS J. Comput. 2003, 15, 347–368. [Google Scholar] [CrossRef]
  4. Belenguer, J.-M.; Benavent, E.; Prins, C.; Prodhon, C.; Calvo, R.W. A branch-and-cut method for the capacitated location-routing problem. Comput. Oper. Res. 2011, 38, 931–941. [Google Scholar] [CrossRef]
  5. Jepsen, M.; Spoorendonk, S.; Ropke, S. A branch-and-cut algorithm for the symmetric two-echelon capacitated vehicle routing problem. Transp. Sci. 2013, 47, 23–37. [Google Scholar] [CrossRef]
  6. Niebles, J.; Wang, H.; Fei-Fei, L. Unsupervised learning of human action categories using spatial-temporal words. Int. J. Comput. Vis. 2008, 79, 299–318. [Google Scholar] [CrossRef]
  7. Vidal, T.; Crainic, T.G.; Gendreau, M.; Prins, C. Heuristics for multi-attribute vehicle routing problems: A survey and synthesis. Eur. J. Oper. Res. 2013, 231, 1–21. [Google Scholar] [CrossRef]
  8. Berbeglia, G.; Cordeau, J.-F.; Laporte, G. A hybrid tabu search and constraint programming algorithm for the dynamic dial-a-ride problem. INFORMS J. Comput. 2012, 24, 343–355. [Google Scholar] [CrossRef]
  9. Pillac, V.; Gendreau, M.; Guéret, C.; Medaglia, A.L. A review of dynamic vehicle routing problems. Eur. J. Oper. Res. 2013, 225, 1–11. [Google Scholar] [CrossRef] [Green Version]
  10. Andres Figliozzi, M. The time dependent vehicle routing problem with time windows: Benchmark problems, an efficient solution algorithm, and solution characteristics. Transp. Res. Part E Logist. Transp. Rev. 2012, 48, 616–636. [Google Scholar] [CrossRef]
  11. Çetinkaya, C.; Karaoglan, I.; Gökçen, H. Two-stage vehicle routing problem with arc time windows: A mixed integer programming formulation and a heuristic approach. Eur. J. Oper. Res. 2013, 230, 539–550. [Google Scholar] [CrossRef]
  12. Yu, B.; Yang, Z.; Yao, B. A hybrid algorithm for vehicle routing problem with time windows. Expert Syst. Appl. 2011, 38, 435–441. [Google Scholar] [CrossRef]
  13. Anbuudayasankar, S.; Ganesh, K.; Koh, S.L.; Ducq, Y. Modified savings heuristics and genetic algorithm for bi-objective vehicle routing problem with forced backhauls. Expert Syst. Appl. 2012, 39, 2296–2305. [Google Scholar] [CrossRef]
  14. Repoussis, P.P.; Tarantilis, C.D.; Ioannou, G. Arc-guided evolutionary algorithm for the vehicle routing problem with time windows. IEEE Trans. Evol. Comput. 2009, 13, 624–647. [Google Scholar] [CrossRef]
  15. Garcia-Najera, A.; Bullinaria, J.A. An improved multi-objective evolutionary algorithm for the vehicle routing problem with time windows. Comput. Oper. Res. 2011, 38, 287–300. [Google Scholar] [CrossRef]
  16. Prescott-Gagnon, E.; Desaulniers, G.; Rousseau, L.M. A branch-and-price-based large neighborhood search algorithm for the vehicle routing problem with time windows. Networks 2009, 54, 190–204. [Google Scholar] [CrossRef]
  17. Azi, N.; Gendreau, M.; Potvin, J.Y. An exact algorithm for a vehicle routing problem with time windows and multiple use of vehicles. Eur. J. Oper. Res. 2010, 202, 756–763. [Google Scholar] [CrossRef]
  18. Cordeau, J.F.; Maischberger, M. A parallel iterated tabu search heuristic for vehicle routing problems. Comput. Oper. Res. 2012, 39, 2033–2050. [Google Scholar] [CrossRef]
  19. Brandão, J. A tabu search algorithm for the heterogeneous fixed fleet vehicle routing problem. Comput. Oper. Res. 2011, 38, 140–151. [Google Scholar] [CrossRef]
  20. Escobar, J.W.; Linfati, R.; Toth, P.; Baldoquin, M.G. A hybrid granular tabu search algorithm for the multi-depot vehicle routing problem. J. Heuristics 2014, 20, 483–509. [Google Scholar] [CrossRef]
  21. Archetti, C.; Bouchard, M.; Desaulniers, G. Enhanced branch and price and cut for vehicle routing with split deliveries and time windows. Transp. Sci. 2011, 45, 285–298. [Google Scholar] [CrossRef]
  22. Hashimoto, H.; Yagiura, M.; Ibaraki, T. An iterated local search algorithm for the time-dependent vehicle routing problem with time windows. Discret. Opt. 2008, 5, 434–456. [Google Scholar] [CrossRef]
  23. Michallet, J.; Prins, C.; Amodeo, L.; Yalaoui, F.; Vitry, G. Multi-start iterated local search for the periodic vehicle routing problem with time windows and time spread constraints on services. Comput. Oper. Res. 2014, 41, 196–207. [Google Scholar] [CrossRef]
  24. Li, X.; Tian, P.; Leung, S.C.H. Vehicle routing problems with time windows and stochastic travel and service times: Models and algorithm. Int. J. Prod. Econ. 2010, 125, 137–145. [Google Scholar] [CrossRef]
  25. Yu, B.; Yang, Z.Z. An ant colony optimization model: The period vehicle routing problem with time windows. Transp. Res. Part E Logist. Transp. Rev. 2011, 47, 166–181. [Google Scholar] [CrossRef]
  26. Dhahri, A.; Zidi, K.; Ghedira, K. A Variable Neighborhood Search for the Vehicle Routing Problem with Time Windows and Preventive Maintenance Activities. Electron. Notes Discret. Math. 2015, 47, 229–236. [Google Scholar] [CrossRef]
  27. Khouadjia, M.R.; Sarasola, B.; Alba, E.; Jourdan, L.; Talbi, E.-G. A comparative study between dynamic adapted PSO and VNS for the vehicle routing problem with dynamic requests. Appl. Soft Comput. 2012, 12, 1426–1439. [Google Scholar] [CrossRef]
  28. Brandão de Oliveira, H.C.; Vasconcelos, G.C. A hybrid search method for the vehicle routing problem with time windows. Ann. Oper. Res. 2010, 180, 125–144. [Google Scholar] [CrossRef]
  29. Balseiro, S.; Loiseau, I.; Ramonet, J. An Ant Colony algorithm hybridized with insertion heuristics for the Time Dependent Vehicle Routing Problem with Time Windows. Comput. Oper. Res. 2011, 38, 954–966. [Google Scholar] [CrossRef]
  30. Szeto, W.; Wu, Y.; Ho, S.C. An artificial bee colony algorithm for the capacitated vehicle routing problem. Eur. J. Oper. Res. 2011, 215, 126–135. [Google Scholar] [CrossRef] [Green Version]
  31. Mahdavi, V.; Sadeghi, S.A.; Fathi, S. A mathematical Model and Solving Method for Multi-Depot and Multi-level Vehicle Routing Problem with Fuzzy Time Windows. Adv. Intel. Transp. Syst. 2012, 1, 19–24. [Google Scholar]
  32. El-Sherbeny, N.A. Vehicle routing with time windows: An overview of exact, heuristic and metaheuristic methods. J. King Saud Univ. Sci. 2010, 22, 123–131. [Google Scholar] [CrossRef]
  33. Bhagade, A.S.; Puranik, P.V. Artificial bee colony (ABC) algorithm for vehicle routing optimization problem. Int. J. Soft Comput. Eng. 2012, 2, 329–333. [Google Scholar]
  34. Ai, T.; Kachitvichyanukul, V. A particle swarm optimization for the vehicle routing problem with simultaneous pickup and delivery. Comput. Oper. Res. 2009, 36, 1693–1702. [Google Scholar] [CrossRef]
  35. Kok, A.L.; Meyer, C.M.; Kopfer, H.; Schutten, J.M.J. A dynamic programming heuristic for the vehicle routing problem with time windows and European Community social legislation. Transp. Sci. 2010, 44, 442–454. [Google Scholar] [CrossRef]
  36. Erdoğan, S.; Miller-Hooks, E. A green vehicle routing problem. Transp. Res. Part E Logist. Transp. Rev. 2012, 48, 100–114. [Google Scholar] [CrossRef]
  37. Küçükoğlu, İ.; Öztürk, N. An advanced hybrid meta-heuristic algorithm for the vehicle routing problem with backhauls and time windows. Comput. Ind. Eng. 2015, 86, 60–68. [Google Scholar] [CrossRef]
  38. Marinakis, Y.; Marinaki, M. A hybrid genetic–Particle Swarm Optimization Algorithm for the vehicle routing problem. Expert Syst. Appl. 2010, 37, 1446–1455. [Google Scholar] [CrossRef]
  39. Nagata, Y.; Bräysy, O.; Dullaert, W. A penalty-based edge assembly memetic algorithm for the vehicle routing problem with time windows. Comput. Oper. Res. 2010, 37, 724–737. [Google Scholar] [CrossRef]
  40. Dey, S.; Bhattacharyya, S.; Maulik, U. Quantum inspired genetic algorithm and particle swarm optimization using chaotic map model based interference for gray level image thresholding. Swarm Evol. Comput. 2014, 15, 38–57. [Google Scholar] [CrossRef]
  41. Valdez, F.; Melin, P.; Castillo, O. Modular neural networks architecture optimization with a new nature inspired method using a fuzzy combination of particle swarm optimization and genetic algorithms. Inf. Sci. 2014, 270, 143–153. [Google Scholar] [CrossRef]
  42. Ru, N.; Yue, J. A GA and particle swarm optimization based hybrid algorithm. In Proceedings of the IEEE Congress on Evolutionary Computation, Hong Kong, China, 1–6 June 2008; pp. 1047–1050.
  43. Hao, Z.-F.; Wang, Z.-G.; Huang, H. A particle swarm optimization algorithm with crossover operator. In Proceedings of the 2007 IEEE International Conference on Machine Learning and Cybernetics, Hong Kong, China, 19–22 August 2007; pp. 1036–1040.
  44. Masrom, S.; Abidin, S.Z.; Omar, N.; Nasir, K.; Abd Rahman, A. Dynamic parameterization of the particle swarm optimization and genetic algorithm hybrids for vehicle routing problem with time window. Int. J. Hybrid Int. Syst. 2015, 12, 13–25. [Google Scholar]
  45. Kuo, R.; Zulvia, F.E.; Suryadi, K. Hybrid particle swarm optimization with genetic algorithm for solving capacitated vehicle routing problem with fuzzy demand—A case study on garbage collection system. Appl. Math. Comput. 2012, 219, 2574–2588. [Google Scholar] [CrossRef]
  46. Dhahri, A.; Zidi, K.; Ghedira, K. Variable Neighborhood Search based Set Covering ILP Model for the Vehicle Routing Problem with Time Windows. Proc. Comput. Sci. 2014, 29, 844–854. [Google Scholar] [CrossRef]
  47. Sha, D.; Hsu, C. A new particle swarm optimization for the open shop scheduling problem. Comput. Oper. Res. 2008, 35, 3243–3261. [Google Scholar] [CrossRef]
  48. Lian, Z.; Gu, X.; Jiao, B. A novel particle swarm optimization algorithm for permutation flow-shop scheduling to minimize makespan. Chaos Solitons Fract. 2008, 35, 851–861. [Google Scholar] [CrossRef]
  49. Jarboui, B.; Damak, N.; Siarry, P.; Rebai, A. A combinatorial particle swarm optimization for solving multi-mode resource-constrained project scheduling problems. Appl. Math. Comput. 2008, 195, 299–308. [Google Scholar] [CrossRef]
  50. Shi, X.; Liang, Y.; Lee, H.; Lu, C.; Wang, Q. Particle swarm optimization-based algorithms for TSP and generalized TSP. Inf. Process. Lett. 2007, 103, 169–176. [Google Scholar] [CrossRef]
  51. Jarboui, B.; Cheikh, M.; Siarry, P.; Rebai, A. Combinatorial particle swarm optimization (CPSO) for partitional clustering problem. Appl. Math. Comput. 2007, 192, 337–345. [Google Scholar] [CrossRef]
  52. Pan, Q.; Fatih Tasgetiren, M.; Liang, Y. A discrete particle swarm optimization algorithm for the no-wait flowshop scheduling problem. Comput. Oper. Res. 2008, 35, 2807–2839. [Google Scholar] [CrossRef]
  53. Yin, P.-Y.; Yu, S.-S.; Wang, P.-P.; Wang, Y.-T. A hybrid particle swarm optimization algorithm for optimal task assignment in distributed systems. Comput. Stand. Int. 2006, 28, 441–450. [Google Scholar] [CrossRef]
  54. Bohre, A.K.; Agnihotri, G.; Dubey, M.; Singh, J. A Novel Method to Find Optimal Solution Based on Modified Butterfly Particle Swarm Optimization. Int. J. Soft Comput. Math. Control 2014, 3, 1–14. [Google Scholar] [CrossRef]
  55. Ping, H.J.; Lian, L.Y.; Xing, H.; Hua, W.J. A Novel Hybrid Algorithm with Marriage of Particle Swarm Optimization and Homotopy Optimization for Tunnel Parameter Inversion. Appl. Mech. Mater. 2012, 229–231, 2033–2037. [Google Scholar]
  56. Shi, Y.; Eberhart, R. A modified particle swarm optimizer. In Proceedings of the IEEE International Conference on Evolutionary Computation, Anchorage, AK, USA, 4–9 May 1998; pp. 69–73.
  57. Jiao, B.; Lian, Z.; Gu, X. A dynamic inertia weight particle swarm optimization algorithm. Chaos Solitons Fract. 2008, 37, 698–705. [Google Scholar] [CrossRef]
  58. Liu, X.; Wang, Q.; Liu, H.; Li, L. Particle swarm optimization with dynamic inertia weight and mutation. In Porceedings of the 3rd IEEE International Conference on Genetic and Evolutionary Computing, Guilin, China, 14–17 October 2009; pp. 620–623.
  59. Tao, Z.; Cai, J. A new chaotic PSO with dynamic inertia weight for economic dispatch problem. In Proceedings of the IEEE International Conference on Sustainable Power Generation and Supply, Nanjing, China, 6–7 April 2009; pp. 1–6.
  60. Tripathi, P.K.; Bandyopadhyay, S.; Pal, S.K. Multi-objective particle swarm optimization with time variant inertia and acceleration coefficients. Inf. Sci. 2007, 177, 5033–5049. [Google Scholar] [CrossRef]
  61. Nickabadi, A.; Ebadzadeh, M.M.; Safabakhsh, R. A novel particle swarm optimization algorithm with adaptive inertia weight. Appl. Soft Comput. 2011, 11, 3658–3670. [Google Scholar] [CrossRef]
  62. Shen, X.; Chi, Z.; Yang, J.; Chen, C. Particle swarm optimization with dynamic adaptive inertia weight. In Proceedings of the IEEE International Conference on Challenges in Environmental Science and Computer Engineering, Wuhan, China, 6–9 March 2010; pp. 287–290.
  63. Zhang, L.; Tang, Y.; Hua, C.; Guan, X. A new particle swarm optimization algorithm with adaptive inertia weight based on Bayesian techniques. Appl. Soft Comput. 2015, 28, 138–149. [Google Scholar] [CrossRef]
  64. VRPTW Benchmark Problems. Available online: http://web.cba.neu.edu/~msolomon/problems.htm (accessed on 26 August 2015).
  65. Ai, T.J.; Kachitvichyanukul, V. A particle swarm optimisation for vehicle routing problem with time windows. Int. J. Oper. Res. 2009, 6, 519–537. [Google Scholar] [CrossRef]
  66. Baños, R.; Ortega, J.; Gil, C.; Márquez, A.L.; de Toro, F. A hybrid meta-heuristic for multi-objective vehicle routing problems with time windows. Comput. Ind. Eng. 2013, 65, 286–296. [Google Scholar] [CrossRef]
  67. Barbucha, D. A cooperative population learning algorithm for vehicle routing problem with time windows. Neurocomputing 2014, 146, 210–229. [Google Scholar] [CrossRef]
  68. Ghannadpour, S.F.; Noori, S.; Tavakkoli-Moghaddam, R.; Ghoseiri, K. A multi-objective dynamic vehicle routing problem with fuzzy time windows: Model, solution and application. Appl. Soft Comput. 2014, 14, 504–527. [Google Scholar] [CrossRef]
  69. Taş, D.; Jabali, O.; van Woensel, T. A vehicle routing problem with flexible time windows. Comput. Oper. Res. 2014, 52, 39–54. [Google Scholar] [CrossRef]
  70. Barb, A.S.; Shyu, C.R. A study of factors that influence the accuracy of content-based geospatial ranking systems. Int. J. Image Data Fusion 2012, 3, 257–268. [Google Scholar] [CrossRef]
  71. Alvarenga, G.B.; Mateus, G.R.; de Tomi, G. A genetic and set partitioning two-phase approach for the vehicle routing problem with time windows. Comput. Oper. Res. 2007, 34, 1561–1584. [Google Scholar] [CrossRef]

Share and Cite

MDPI and ACS Style

Xu, S.-H.; Liu, J.-P.; Zhang, F.-H.; Wang, L.; Sun, L.-J. A Combination of Genetic Algorithm and Particle Swarm Optimization for Vehicle Routing Problem with Time Windows. Sensors 2015, 15, 21033-21053. https://doi.org/10.3390/s150921033

AMA Style

Xu S-H, Liu J-P, Zhang F-H, Wang L, Sun L-J. A Combination of Genetic Algorithm and Particle Swarm Optimization for Vehicle Routing Problem with Time Windows. Sensors. 2015; 15(9):21033-21053. https://doi.org/10.3390/s150921033

Chicago/Turabian Style

Xu, Sheng-Hua, Ji-Ping Liu, Fu-Hao Zhang, Liang Wang, and Li-Jian Sun. 2015. "A Combination of Genetic Algorithm and Particle Swarm Optimization for Vehicle Routing Problem with Time Windows" Sensors 15, no. 9: 21033-21053. https://doi.org/10.3390/s150921033

Article Metrics

Back to TopTop