The objective of vehicle routing problem is usually to minimize the total traveling distance or cost. But in practice, there are a lot of problems needed to minimize the fastest completion time. The milkrun vehicle routing problem (MRVRP) is widely used in milkrun distribution. The mutation ACO is given to solve MRVRP with fastest completion time in this paper. The milkrun VRP with fastest completion time is introduced first, and then the customer division method based on dynamic optimization and split algorithm is given to transform this problem into finding the optimal customer order. At last the mutation ACO is given and the numerical examples verify the effectiveness of the algorithm.
The vehicle routing problem (VRP) was firstly brought forward by Dantzig and Ramser in 1960 [
Though the vehicle routing problem with time windows takes the service time into consideration [
Traditional vehicle routing problem assumes that the total distribution can be completed by one vehicle in a round trip. In practice, the number of vehicles is limited and there are many customers to be served. So a round trip by one vehicle is impossible and more round trips and vehicles are needed, such as the tobacco distribution with thousands of customers. As JIT production, smallscaled and multiplebatch distributions are more popular, in which one vehicle is needed to collect goods on multiple round trips. This kind of vehicle routing problem is called milkrun vehicle routing problem (MRVRP).
For problem aiming to minimize total travel distance or total cost, MRVRP can be transferred into the traditional VPR by increasing the routes number and allowing a vehicle serving customers in different routes. But for problem to minimize the fastest completion time, the completion time in the first period affects that in the second period. It is multiperiod optimization problem, so the algorithm of the MRVRP with fastest completion time will be studied based on dynamic optimization.
VRP is an NPhard problem [
Suppose that there is one depot serving n customers, which have
Because the distances between the depot and the customers and the distances between the customers are different, the travel time between any two nodes is different. Supposing that the traveling time between node
The vehicle routes satisfy the following.
Each customer is served by a certain vehicle.
One vehicle can serve many customers. When the demands of the customers exceed the vehicle capacity, the vehicle returns to the depot to unload and goes back to serve the next customer.
The demands of the customers served by a vehicle cannot exceed
All vehicles should depart from the depot and return to the depot.
When the demands of the customers exceed the vehicle capacity, the customers should be divided into different groups. The customers in the first group are served first, then the second group, until all the customers are served, which is shown in Figure
The milkrun vehicle routes of two vehicles.
For the MRVRP aiming to minimize total travel distance or total cost, because the traveling distance of a vehicle is the sum of the distances of each round and the total distance is the sum of all vehicle traveling distances, the MRVRP can be transferred as the VRP with
But for the MRVRP with fastest completion time, the completion time of the whole distribution task is the completion time of the last vehicle. Suppose that the completion time of vehicle
For each vehicle, the distribution task needs to complete several routes and the completion time is determined by the time when last customer served. Because there is order of each route, the completion time of vehicle
If this problem is transferred to the problem with
The difficulty of solving VRP lies in too many arrays of customer service order. It is hard to solve VRP by dynamic programming since there are too many states. For a given array of customers, the problem is transferred to how to divide the customers into groups and the customers in the same group are served by one vehicle. The feasible groups’ division scheme is much less and it is easy to be solved by dynamic programming. In this paper, we will fix the serving array first and then give the optimal division scheme and calculate the fastest completion time. Taking this completion time as the objective, we will determine the final customer serving order by ACO.
The problem of dividing customers into groups is how to divide a given serving array
Usually there are a lot of division schemes and their completion times are different. Nikolakopoulou gave the split method to minimize the total traveling distances by transferring the dividing problem into the shortestpath problem [
For the MRVRP, there are two divisions: the first is to divide the customers into
The problem of dividing customers into
In the next period, the numbers of unassigned customers and vehicles are
When the decision variable in the present period is
Supposing that
When there is a vehicle left, if the total demands of
The state variable and decision variable are discrete. It can be solved by enumeration method. In a period, the vehicle number decreases one unit and the unassigned vehicle is determined by the periods. Then the number of states is determined by the number of unassigned customers, the number of states of each period does not exceed
In each period, the completion time of every vehicle is needed to calculate and the second division of customers is needed.
Suppose that the customers served by a given vehicle are
To get the division schemes, a directed graph is constructed. The vertex set has the depot and the customers served by the same vehicle. For nodes
Split graph.
The shortest distance from 1 to
Suppose the capacity of a vehicle is 15 and the order of customers to be served by the vehicle is 125347; the traveling times between the nodes are shown in Figure
The distribution of customers.
The total demand of customers 1, 2, and 5 is no more than 15; then an edge is drawn between node 1 and 3 with the weight 90. The other weights are got similarly. After calculation, the directed weighted graph is got in Figure
Split graph.
The shortest path is from node 1 to node 3 plus from node 3 to node 0. The optimal distance is 180. Customers 1, 2, and 5 construct the first route. Customers 3, 4, and 7 construct the second route. The completion time is
The algorithm to solve the shortest path problem such as Dijkstra algorithm is polynomial. Its complexity is
In this section, we will give an improved ACO to solve the optimal customers array.
The main idea of ant colony algorithms is to mimic the pheromone trail used by real ants as a medium for communication and feedback among ants. Basically, the ACO algorithm is a populationbased, cooperative search procedure that is derived from the behavior of real ants. ACO algorithms make use of simple agents called ants that iteratively construct solutions to combinatorial optimization problems. The key problem to solve VRP with ACO is how an individual ant constructs a complete solution by starting with a null solution and iteratively adding solution components until a complete solution is constructed. The key problem of ACO is to determine the pheromone matrix. The pheromone matrix is
In the
The heuristic information is in an
In a given service order, the first served customer is determined by probability. The next served customer is selected from the allowing set
ACO algorithm possibly runs into prematurity just as other evolutionary algorithms. The main reason is the concentrations of pheromone which makes the same solutions be got. In reality, the pheromone may be changed by rain and other factors and this change may help the ants find a new route. A mutation operator will be introduced into the pheromone of ACO to escape from local optima and strengthen its global search ability.
The initial pheromone matrix’s factors are the same. As time goes on, some elements become large but other elements become small in the same row. The pheromone is concentrated which obstructs the ability to find more optimal solutions. The concentration of a row is defined as the ratio of the maximum factor and the sum of the factors in the row. The
The concentrations of different row are not the same. Whether to mutate a row should depend on the concentration of the row. When the concentrations of a row exceed the threshold value, the factors in the row should be mutated.
For the row mutation, the maximum factor decreases randomly and the decreased value is assigned to other positions. Suppose
Row mutation is a local mutation and only affects the choice of routes partly. When the matrix has high concentration, local mutation cannot ensure escaping the local optima and matrix mutation is necessary. The minimum concentration of the row is the matrix concentration, which is
Whether to mutate a matrix should also depend on the concentration of the matrix. When the concentrations of a matrix exceed the threshold value, the matrix should be mutated. For the matrix mutation, every element in the matrix decreases randomly and the decreased value is again randomly assigned. A random number
Then a new pheromone matrix is got and the mutation can ensure that the total pheromones do not change.
The mutation ACO algorithm is as follows.
Initiation: Determine the parameters
For a given array, assign the customers to the vehicle and get the corresponding completion time by dynamic programming and split algorithm. Record the present best route
The local pheromone update is performed by all the ants after each construction step on the formulas (
Row Mutation: Inspect whether the pheromone concentration of the row in the pheromone matrix is more than
Matrix Mutation: Inspect whether the pheromone matrix concentration is more than
According to the new pheromone matrix
Let
In this section, we will consider the emergency supplies distribution after the earthquake in Wenchuan. After the earthquake, the roads on earth are not fluent. The emergency supplies are mainly transported by helicopter. As the number of helicopters is limited comparED to the broad place, the helicopter
Suppose there are 3 helicopters in charge of the distribution of emergency supplies to 20 settlements. The location of material distribution center is (30, 40), the demands and location of the settlements are given in Table
Locations and demands of settlement.
Settlement  1  2  3  4  5  6  7  8  9  10 

Location 










Demand  3  7  5  6  2  9  7  4  4  3.5 
Settlement  11  12  13  14  15  16  17  18  19  20 
Location 










Demand  4  3  8  6  5  1.5  5  2.5  3  3.5 
The capacity of a helicopter is 12
The algorithm is realized by Scilab. The parameters are as follows: the ants number is 10 and
20 times calculation results.
Average fastest completion time is 244.9978, their maximum gap is 7.291, and the gap is 3.1014% of the best scheme. It shows that the algorithm has good convergence.
Best distribution route is as shown in Figure
Optimal scheme of MRVRP with fastest completion time.
Its fastest completion time is 235.08428 and total travel time is 865.66435. A new scheme to minimize total travel time is as shown in Figure
Optimal scheme.
Its shortest total travel time is 845.89676, the fastest completion time of this customer array is 273.379, and it is 38.295 minutes more than the first scheme. And the total flight time is reduced by 19.76759 minutes. In emergency management, effectively shortening the completion time is very necessary, and therefore the first scheme is more reasonable.
In this paper, the MRVRP with fastest completion time is proposed, which has many applications in fast foods distribution, express delivery, and emergency supplies. Solving the problem is more difficult than the general VRP. The key problem to solve MRVRP with fastest completion time is to give the division method for customer array. The customer division method based on dynamic programming and split method is given in this paper, which can transfer MRVRP with fastest completion time into the problem of finding the optimal customer service order. Then the problem is solved with mutation ACO.