Vehicle Routing Problem with Time Windows and Simultaneous Delivery and Pick-Up Service Based on MCPSO

This paper considers two additional factors of the widely researched vehicle routing problem with time windows VRPTW . The two factors, which are very common characteristics in realworld, are uncertain number of vehicles and simultaneous delivery and pick-up service. Using minimization of the total transport costs as the objective of the extension VRPTW, a mathematic model is constructed. To solve the problem, an efficient multiswarm cooperative particle swarm optimization MCPSO algorithm is applied. And a new encoding method is proposed for the extension VRPTW. Finally, comparing with genetic algorithm GA and particle swarm optimization PSO algorithm, the MCPSO algorithm performs best for solving this problem.


Introduction
Vehicle routing problem with time windows VRPTW is an important issue in logistics system which has been researched widely in recent years. The problem can be described as choosing routes for limited number of vehicles to serve a group of customers in the time windows. Each vehicle has a limited capacity. It starts from the depot and terminates at the depot. Each customer should be served exactly once. The objective of the VRPTW is to minimize the total transport costs. Many researchers have contribute to the problem. In 1981, Schrage 1 proposed vehicle routing and scheduling problem with time window constraints as an important area for progress in handling realistic complications and generalizations of the basic routing model. Feng 2 divide the VRPTW with delivery and pickup into five categories. Wang and Lang 3 proposes multiperiod vehicle routing problem with recurring dynamic time windows.

Description of VRPTW-SDP
Vehicle routing problem with time windows VRPTW can be defined as choosing routes for limited number of vehicles to serve a group of customers in the time windows. Each vehicle has a limited capacity. It starts from the depot and terminates at the depot. Each customer should be served exactly once. If vehicles arrive before the time window "opens" or after the time window "closes," there will be waiting cost and late cost. Assume that there are K vehicles in depot 0. N customers are waiting to be served and each of the customers has a demands of g i i 1, 2, . . . , N units. The distance between customer i and j is d ij . Each vehicle has a capacity of q k k 1, 2, . . . , K units. That is, the total demands of customers served by each vehicle cannot exceed q k units. Therefore, the vehicle has to periodically returned to the depot for reloading or a new vehicle needed to be arranged for delivery. Besides, each customer must be visited once and only once by exactly one vehicle. s i represents service time needed by customer i. Therefore, the vehicle has to stay at the location of customer i for a time interval at least s i s 0 0 is associated with the depot 0 for service. A time window ET i , LT i is considered. Therefore, if a vehicle arrives at customer i before ET i , it has to wait until the beginning of the time window to serve the customer. Thus there is a cost e for waiting. On the other hand, if a vehicle cannot arrive at i before LT i , there will be a cost f for late. The velocity of each vehicle is v k . t i represents the moment when the vehicle arrives i from the depot. And the unit freight of each vehicle is C k . This paper considers the Mathematical Problems in Engineering 3 condition that vehicles of the depot are the same, that is, the vehicles have the same velocity v, the same capacity q and the same unit freight C.
Define variable x ijk 1 if the vehicle k travels from i to j, 0 else.

2.1
The goal of VRPTW is In the model, formula N i 1 max{e * ET i − t i ; 0; f * t i − LT i } defines the time window constraint, where t i is the time when the vehicle arrives at customer i, ET i − t i is the waiting time of a vehicle at the customer i. From formula 2.3 , s i is the service time, and t ijk is the traveling time of vehicle k between customer i and j. When i 0, the vehicle is at the depot, s 0 t 0 0. Constraint 2.4 represents the number of the vehicles which start from the depot and go back to depot is k. Constraint 2.5 and constraint 2.6 stand for each customer can only be served by one vehicle. Constraint 2.7 means all the vehicles which start from the depot go back to the depot. Constraint 2.8 denotes the quantity of goods that each vehicle carries could not exceed the capacity q.

Mathematical Problems in Engineering
However, two extra aspects are involved. Firstly, what if the number of the vehicles is uncertain? Zhang et al. 7 proposed that the number of the vehicles can be calculate by q i /Q, where q i is the demands of the customer i, Q is the vehicle's capacity. This is quite simple, but it may not meet the requirement of the time window. When the number of the vehicles is uncertain, it is not necessary to use all of the k vehicles. The reduction of the vehicles may contribute to reducing the total costs. Consider the constraint 2.4 , where k can be replaced by m m ≤ k . Secondly, simultaneous delivery and pickup is involved to the vehicles. Under this condition, two variables are related to the customer, demands delivery g i and supplies pickup p i .
Define parameters: C is unit freight of the vehicle, K is the total number of the vehicles, N is the total number of the customer, d ij represents the distance between customer i and j, v is the velocity of each vehicle, q i is the demands of customer i, p i is the supplies of customer i, s i is the service time of customer i, ET i , LT i represents the time window, e is the cost for waiting, f is the cost for late, q is the specified capacity of the vehicle, t i is the time when the vehicle arrives customer i, y ijk represents the capacity of the vehicle k when it travels from customer i to j, z ijk represents the pick-ups of the vehicle k from customer i when it travels from customer i to j, When the vehicle starts from the depot, its total cargo quantity should be equal to the sum of all the customers' demands, who are on the route of the vehicle travels along, so While, when the vehicle k returns to the depot, the total pick-ups quantities are the sum of each customer's supplies. That is Then the model is as follows: In the model, formula 2.12 is the goal of the problem, that is minimum the cost. Formula 2.13 calculates the time when the vehicle k travels from customer i to j. Constrain 2.14 means that all the vehicles start from the depot and terminate at the depot.

Description of MCPSO Algorithm
The particle swarm optimization PSO was proposed by Kennedy and Eberhart in 1995. It was inspired by the social behavior of animals, such as bird flocking and fish schooling. The mechanism of PSO is as follows. Each member of PSO is seen as a particle, and each particle is a potential solution to the problem. The particle keeps memory of its previous locations, and evolves from one generation to another. The experiences of all the particles are transmitted to the global best particle. By using the communication mechanism, PSO optimum search is speeded up.
However, PSO also has disadvantages. It sometimes converges to undesired local solution, thus the accuracy of the algorithm can achieve is limited. MultiSwarm Cooperative Particle Swarm Optimizer MCPSO proposed in 4 is a variant of PSO. It takes a multiswarm cooperative evolutionary strategy where the master swarms change their particles based on their own knowledge and the knowledge of the particles in the slave swarms, while the slave swarms carry out PSO independently to get the diversity of particles. The mechanism of information transfer for MCPSO is showed in Figure 1  swarm chooses the best of all received individuals and other main swarms' experiences and evolves according to the following equations: where M represents one of the master swarm, Q represents the other master swarms, c 1 and c 2 are accelerating constant, w is inertial weight, c 3 is migration coefficient, while r 1 , r 2 , and r 3 are uniform random sequences in the range 0, 1 . Note that the particle's velocity update in the master swarm is associated with three factors In what follows we briefly sketch out the multiswarm cooperative particle swarm optimizer MCPSO step by step. See Algorithm 1.

Particle Encoding Scheme
For our proposed vehicle route problem with time windows, the appropriate expression of particles in MCPSO algorithm is a key issue. After all, the essence of VRPTW is to determine the best route of vehicle from a series of potential solutions. The object is to minimize the 8 Mathematical Problems in Engineering sum of all costs. Based on the uncertain number of vehicles in this paper, for the VRPTW with N demand points, 2N dimensions encoding scheme is applied. For each demand point, two dimensions are involved. The first k is the serial number of the vehicle that serviced the demand point. The second r is the serial of the demand point that was serviced by k.
Conveniently, each particle corresponds to a matrix of 2, N . The first dimension represents the serial number of vehicles, and the second dimension represents the serial number of customers.

Design of Fitness Function
In this paper, the capacity of vehicles is calculated by Both sides of the equation have unknown quantities. It is complicated to convert the constraint by penalty function method. Hence the constraint is dealt with when we program for the VRPTW-SDP. Thus the objective function corresponds to the fitness function: fitness min z. 3.3

Experimental Study
We consider the following situatoion. 8 customers need served by one depot. The depot has 5 vehicles. Each of the vehicles has a capacity of 3 units and velocity of 10 units. The distance between each customer and the demands supplies of each customer is shown in Table 1. The distance between depot and each customer is shown in Table 2. The service time for each customer is 0. Base on Matlab 7.0, we apply MCPSO algorithm to solve this VRPTW-SDP. In MCPSO algorithm, the number of swarms is n 4. The 4 swarms conclude 3 slave swarms and 1 master swarm. The migration coefficient of the master swarm is c 1 c 2 c 3 1.333. The migration coefficient of the slave swarm is c 1 c 2 2. To validate its performance, the MCPSO algorithm is also compared with GA and PSO.
For fair comparison, in all cases the population size num of GA/PSO and MCPSO was set at 100 all the swarms of MCPSO include the same particles and a fixed number of maximum iterations 100 is set in GA/PSO and MCPSO. In the fitness function, we set four parameters as follows: a 1, b 5, s 1 1, s 2 2. The results are shown in Tables 3 and  4. To serve the 8 customers, 3 vehicles are arranged. The first vehicle serves customer 2, 8 and 4 in sequence. The second vehicle serves customer 3 and 6 in turn. The last one serves  0  1  2  3  4  5  6  7  8  0  0  1 0  9  7  8  8  8  3  4  1  0  4  9  14  18  18  13  14  2  0  5  1 0  1 4  1 7  1 2  1 3  3  0  5  9  15  10  11  4  0  6  1 3  1 1  1 2  5  0  7 1 0 1 2 6 0 6 8 7 0 2 8 0    Figure 2 shows MCPSO algorithm, which converge on the minimum point quickly. The ten fitness values are obtained in ten runtimes in GA algorithm, PSO algorithm and MCPSO algorithm. The final result including maximum, minimum, mean, and variance is shown in Table 5. It is apparently that the maximum, minimum and mean of MCPSO are smaller than PSO, whose are smaller than GA. Although the difference on maximum, minimum, and mean between PSO and MCPSO are small, the gap on variances is big. This means that the MCPSO is more stability. The convergence graph for MCPSO, PSO and GA can be seen in Figure 3. MCPSO achieves a minimal solution 549, which is lower than 570 PSO and 675 GA . It is obvious that MCPSO is more suitable at least for our proposed vehicle route problem with time windows.

Conclusions
The VRPTW-SDP studied in this paper is an extension of VRPTW, where the number of vehicles with simultaneous delivery and pickup is uncertain. The proposed problem is meaningful for transport companies in real world. To solve the proposed problem, we used MCPSO algorithm. A new encoding method is proposed, which may be somewhat benefit to deal with other problems. Furthermore, with comparison to PSO algorithm and GA algorithm, the results show that the simple and robust MCPSO algorithm is more effective for the proposed VRPTW-SDP.