Next Article in Journal
Sowing Performance of the Seeder Drill for the 2BYG-220 Type Combined Rapeseed Planter under Vibration Conditions
Previous Article in Journal
Operational Risk Assessment of Engineering Vehicles Considering Driver Characteristics
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Improved Ant Colony Algorithm for the Split Delivery Vehicle Routing Problem

College of Electrical and Information Engineering, Beijing University of Civil Engineering and Architecture, Beijing 102616, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2024, 14(12), 5090; https://doi.org/10.3390/app14125090
Submission received: 9 May 2024 / Revised: 5 June 2024 / Accepted: 9 June 2024 / Published: 11 June 2024

Abstract

:
The split delivery vehicle routing problem (SDVRP) is a classic combinatorial optimization problem, which is usually solved using a heuristic algorithm. The ant colony optimization algorithm is an excellent heuristic algorithm that has been successfully applied to solve various practical problems, and it has achieved good results. However, in the existing ant colony optimization algorithms, there are issues with weak targeting of different customer selection strategies, difficulty in balancing convergence speed and global search ability, and a predisposition to become trapped in local optima. To solve these problems, this paper proposes an improved ant colony algorithm (IACA). First, in terms of customer point selection, the initial customer and noninitial customer selection strategies are proposed for different customers, and the adaptive selection threshold is designed. Second, in terms of pheromone processing, an initial pheromone distribution method based on a greedy strategy, a pheromone backtracking mechanism, and an adaptive pheromone volatile factor are proposed. Finally, based on the 2-opt local search method, vehicle path self-search and intervehicle path search are proposed to further improve the quality of the solution. This paper tests the performance of the IACA on datasets of different scales. The experimental results show that compared with the clustering algorithm, artificial bee colony algorithm, particle swarm optimization algorithm, traditional ant colony algorithm, and other algorithms, the IACA can achieve more competitive results. Specifically, compared to the path length calculated by other algorithms, the path length calculated by IACA decreased by an average of 1.58%, 4.28%, and 3.64% in small, medium, and large-scale tests, respectively.

1. Introduction

The vehicle routing problem (VRP) has always been an important issue in logistics transportation and distribution [1]. According to different application scenarios, the VRP has inspired many variants [2]. The traditional VRP usually assumes that the demand of each customer can be completed only by one vehicle in a single service. However, in actual logistics, customer demand inevitably exceeds the maximum carrying capacity of the vehicle. At this time, it is necessary to split the customer demand. Therefore, it is of great practical significance to study the vehicle routing problem with separable demand. The split delivery vehicle routing problem (SDVRP) was first proposed in 1989 [3], and has become a new branch of vehicle routing problem. Different from the traditional vehicle routing problems, the SDVRP allows splitting the customer demands among multiple vehicles, thereby increasing the utilization of resources.
The SDVRP can be described as follows: in logistics distribution, multiple customers require delivery of goods, and the company wants to assign these demands to multiple vehicles without exceeding the capacity limit of each vehicle. In such a situation, the goal is to find a set of optimal routes that satisfy all customer demands. Although the SDVRP has the NP-hard property [4], the SDVRP solution will be better than the traditional VRP solution if the customer needs are properly split [5]. The SDVRP solution can reduce the logistics cost by reducing the transportation distance and the number of vehicles.
There are two main approaches to solving VRPs: exact algorithms and heuristic algorithms. The exact algorithms are suitable for solving small-scale problems because as the problem size increases, the computation time of the algorithm significantly increases. The heuristic algorithms include traditional heuristic algorithms and metaheuristic algorithms, which are commonly used to solve larger-scale problems. The traditional heuristic algorithms include the local search algorithm [6], improved savings algorithm [7], and so on. This type of algorithm is prone to falling into local optima, making it difficult to obtain satisfactory solutions. In recent years, metaheuristic algorithms have attracted considerable attention due to their excellent performance. The currently proposed metaheuristic algorithms mainly include the tabu search algorithm [8,9], genetic algorithm [10,11], particle swarm optimization algorithm [12,13], variable neighborhood search algorithm [14,15], large neighborhood search algorithm [16,17], ant colony algorithm [18,19,20], chimp optimization algorithm [21], and mayfly algorithm [22]. We focus on the ant colony algorithm because it has performed well on many optimization problems [23,24,25,26]. However, existing ant colony optimization algorithms still have some problems, such as weak targeting of different customer selection strategies, difficulty in balancing convergence speed and global search ability, and susceptibility to falling into local optima. In previous studies of the ant colony algorithm, the state transition process and pheromone updating strategy were mainly improved. Setting a control threshold is a common improvement for the state transition process of an ant colony. This threshold is used to control the ants’ strategy of choosing the next customer, thus enabling the algorithm to better balance convergence speed and global search ability. However, most of the existing thresholds are set to a fixed value [18,20]. Some scholars [27] divide several fixed intervals according to the number of iterations, and different control thresholds are used in different intervals. Because the ant colony algorithm has different characteristics in different running stages, these threshold-setting methods cannot adapt to the different stages of the algorithm. Pheromones are very important in ant colony algorithms, and the improvement of pheromone processing in ant colony algorithms has been the focus of scholars. To prevent a traditional ant colony algorithm from falling easily into a local optimum, a recent study [20] improved the pheromone update strategy and prevented the algorithm from entering a local optimum prematurely by adjusting the pheromone content. Experiments show that the max-min ant colony algorithm has the best pheromone processing performance. These methods focus on how to keep the algorithm from falling into a local optimum but seldom pay attention to how to make an algorithm that has fallen into a local optimum jump out of the local optimum. In addition, as far as we know, in previous research on the ant colony algorithm for solving the SDVRP, designing different selection strategies for different types of customer points has not been considered.
To address these issues, we have made improvements to the ant colony algorithm. The main contributions of this paper are as follows:
  • For the state transition process of the ant colony algorithm, we propose an adaptive selection threshold to replace the commonly used fixed threshold, which enables the algorithm to better balance convergence speed and global search ability.
  • We designed new pheromone updating rules by referring to the max-min ant colony algorithm. To improve the existing methods, we added a pheromone backtracking mechanism and an adaptive pheromone volatile factor to improve the ability of the algorithm to jump out of a local optimum.
  • Unlike the common single strategy of customer selection, ours divides customers into initial customers and noninitial customers. We also designed selection strategies for each type of customer, so that the selection of customer nodes is more targeted.
  • We applied the proposed improved ant colony algorithm to SDVRP instances of various scales for a comprehensive evaluation. The experiments show that our method can effectively solve problems of different sizes and its performance is competitive compared with other heuristic algorithms.
The structure of this article is organized as follows. Section 2 introduces the related literature of the SDVRP. Section 3 introduces the mathematical model of the SDVRP. Section 4 presents our proposed improved ant colony algorithm in detail. In Section 5, we apply the improved ant colony algorithm proposed in this paper to small-scale, medium-scale and large-scale test sets, and then discuss the experimental results. Finally, Section 6 summarizes this paper.

2. Related Work

The SDVRP is a very important variant of the VRP. Archetti et al. [5] showed that allowing split delivery can save up to 50% of the cost at most. In recent years, the SDVRP has received extensive attention, and many scholars have studied the problem’s solution characteristics and solution algorithms. The methods of solving the SDVRP are divided into two main categories: exact algorithms and heuristic algorithms. A summary of several commonly used algorithms is shown in Table 1.

2.1. Exact Algorithms

The earliest exact algorithm was proposed by Dror et al. [41]. In their research, they proved an integer linear programming formula including new inequalities, and they designed a constraint relaxation algorithm. Archetti et al. [28] proposed two exact branch-and-cut algorithms. Ferreira et al. [29] studied the two-dimensional constrained vehicle routing problem with split deliveries. They proposed an integer linear programming model for the problem and used a branch-and-cut method to solve it. Wolfinger et al. [30] presented a new arc-based mixed-integer formulation for the pickup and delivery problem with split loads and transshipments. The problem studied by Hernández-Pérez et al. [31] is to design a lowest-cost route for a capacitated vehicle to transport goods among a set of customers, considering the possibility of splitting customer demands. They proposed a new branch-and-cut algorithm to find optimal solutions. A master problem was used to solve a relaxed mixed-integer programming model, while a subproblem was used to check the feasibility of the master solutions and generate valid cuts when they were infeasible. Casazza et al. [32] addressed the pickup and delivery vehicle routing problem with split demands. They introduced effective inequalities and designed a branch-and-price algorithm that utilized a tailored pricing routine and branching strategy and embedded a rounding heuristic to accelerate pruning. Li et al. [33] investigated the multi-depot vehicle scheduling problem, considering factors such as time windows and demand split, and proposed two algorithms, a branch-and-price and a branch-and-benders decomposition, to solve this problem. Gschwind et al. [34] studied the commodity-constrained SDVRP, and a branch-price-and-cut algorithm was proposed. Li et al. [35] investigated the SDVRP with a multi-time window, transformed the problem into a three-index vehicle-flow model and a set-covering model, and proposed a branch-price-and-cut algorithm to solve the problem.
Exact algorithms are often used to solve small-scale problems, because when the problem size becomes larger, the computation time of exact algorithms also increases significantly. The time cost of using exact algorithms is too high. Therefore, heuristic algorithms are usually used to solve larger-scale problems.

2.2. Heuristic Algorithms

Since the first heuristic algorithm was proposed [3], an increasing number of scholars have begun to conduct related research. Qiu et al. [8] improved the emergency table in the tabu search algorithm, and created independent tabu lists for different types of actions. Each list contains the movement attributes of the last five to eight solutions. Aleman et al. [9] proposed a tabu search algorithm with vocabulary construction to improve the diversity of solutions and help find better solutions. Jiang et al. [10] proposed an improved genetic algorithm using adaptive genetic operator probability to adjust the probability of crossover and mutation operators, which is conducive to eliminating the local optimal solution. Wilck et al. [11] studied hybrid genetic algorithms based on different fitness methods. The first fitness approach uses only distances and does not consider demand during the selection of routes. The second fitness approach sorts the feasible routes according to demand units divided by distance units. The experimental results showed that the algorithm performs better when using the second fitness method. Shi et al. [12] combined particle swarm optimization with local search to solve the SDVRP. They proposed an integer encoding method and improved the decoding method based on Bellman’s equation for the SDVRP. In addition, they designed a method to deal with the length differences of the velocity vector, the position vector, the personal best position vector, the local best position vector, and the global best position vector. Qing et al. [13] proposed a fully loaded SDVRP planning strategy based on particle swarm optimization algorithm. Chen et al. [14] improved the variable neighborhood search algorithm by designing a more efficient method for constructing the initial solution. Unlike Chen et al., Han et al. [15] used node insertion and route addition methods to generate initial solutions, and improved the diversification of solutions by generating different initial solutions. Wolfinger [16] used the large neighborhood search algorithm to solve the SDVRP with time windows and multiple vehicle types, and designed a new destruction operator to explore the best demand segmentation scheme. Gasque et al. [17] improved the repair operator of a large neighborhood search algorithm. They introduced a noise control parameter and used an adaptive mechanism to choose whether to use a noisy repair operator, thereby effectively reducing the possibility of the algorithm falling into local optimization. Tang et al. [18] designed an improved max-min ant colony algorithm to solve the weighted vehicle routing problem for split delivery. Mcnabb et al. [19] further improved the max-min ant colony algorithm by using the local move operator, tested the effect of eight operators on the results, considered the combination of up to three operators, and finally found that the operators or-opt and 2-opt⁎ were ideal. Yang et al. [20] improved the pheromone processing. The improved method referred to the ant colony system [42] and the max-min ant colony system [43], which had a certain effect of preventing the algorithm from falling into a local optimum prematurely. Moshref-Javadi et al. [39] studied the multi-commodity vehicle routing problem with split deliveries. They proposed a new heuristic method by combining simulated annealing and variable neighborhood search with adaptive strategy. Guo et al. [40] considered the vehicle routing problem with split deliveries based on orders. They proposed the S-ALNS algorithm to solve the problem, which combines a scanning algorithm, simulated annealing algorithm, and adaptive large neighborhood search algorithm.
Although the variable neighborhood search algorithm and large neighborhood search algorithm have high solution quality, their search efficiency is relatively low [44]. The search quality of the algorithm depends largely on the quality of the neighborhood operator, so it is necessary to design the neighborhood operator skillfully. The tabu search algorithm has a high probability of selecting a good solution, but it depends strongly on the initial solution, and a bad initial solution often makes it difficult or impossible to reach the best solution. The genetic algorithm is adaptive and self-learning, but it easily falls into premature convergence. The particle swarm algorithm has good global optimization capability, but parameter tuning is difficult, making it challenging to find suitable parameters. The ant colony algorithm has a positive feedback mechanism, strong robustness, and strong global optimization ability. However, the ant colony algorithm has problems such as weak targeting of different customer selection strategies, difficulty in balancing convergence speed and global search ability, and susceptibility to falling into local optima. Although the ant colony algorithm has been improved in previous studies, the selection thresholds for the state transition process are set mostly to fixed values. Consequently, the state transition process may be unable to adapt to the different stages of the ant colony algorithm. In addition, the escape method after the algorithm falls into a local optimum is rarely mentioned. Moreover, classifying customers and designing different selection strategies may have an impact on route search results, which is also rarely discussed in previous studies. The local search operator used in the research of Mcnabb et al. [19] and Sabar et al. [45] effectively improves the solution quality, thereby providing us with ideas to further optimize the results of the ant colony algorithm.

3. Modeling the SDVRP

This paper studies the split delivery vehicle routing problem with a single depot, a single vehicle type, no time window constraints, and loading only. The symbol definitions in the mathematical model are shown in Table 2.
Model assumptions:
(1)
The distance between any two customer points is symmetric, which can be expressed as d i j = d j i .
(2)
The distance between the customer points conforms to the triangle inequality and can be expressed as d i k + d k j > d i j .
(3)
The demand of each customer should be met, and this demand can be met by one or more vehicles.
(4)
All vehicles start from the depot and return to the depot after completing the task, and the vehicles cannot be overloaded.
M = i = 1 N q i / Q
x i j m = 1 , vehicle   passing   ( i ,   j )   in   route   m 0 , o t h e r w i s e
Dror et al. [3] proposed the concept of the k-split cycle, as shown in Definition 1, and proved that there is no k-split cycle in the best solution of the SDVRP, which provides a reference for the model construction in this paper.
Definition 1.
If there are k routes (r1, r2, …, rk) in the SDVRP, for k customer points (v1, v2, …, vk), if rm contains vm, vm+1 (m = 1, 2, …, k − 1) and rk contains v1, vk, it is called a k-split cycle. Figure 1 shows a 3-split cycle.
The goal of SDVRP is to reasonably arrange the vehicle transportation scheme to make the vehicle transportation cost as small as possible by having the shortest total vehicle transportation path and the fewest distribution vehicles. The objective function can be written as follows:
m i n m = 1 M i = 0 N j = 0 N d i j x i j m
The constraint conditions of the model are:
i = 0 N x i k m = j = 0 N x k j m ; k = 0 , 1 , , N , m = 1 , 2 , , M
m = 1 M y i m = q i ; i = 1 , 2 , , N
m = 1 M i = 0 N x i j m 1 ; j = 0 , 1 , , N
m = 1 M i , j V c x i j m V c 1
i = 1 N y i m Q ; m = 1 , 2 , , M
q i y i m 0 ; i = 1 , 2 , , N , m = 1 , 2 , , M
x i j m { 0 , 1 } ; i , j = 1 , 2 , , N , m = 1 , 2 , , M
Equation (3) is the objective function, indicating that the total distance path of the vehicles is the shortest. Equation (4) indicates that the number of vehicles entering a certain customer point is consistent with the number of vehicles leaving the customer point. Equation (5) means that the sum of the customer’s demand satisfied by each vehicle is equal to the customer’s total demand. Equation (6) ensures that each customer point is visited at least once. Equation (7) is used to eliminate the k-split cycle. Equation (8) indicates that the vehicle capacity cannot be exceeded. Equation (9) means that the demand of a customer satisfied by each vehicle should not exceed the maximum demand of the customer. Equation (10) represents the value range of decision variables.

4. Improved Ant Colony Algorithm

Considering the existing problems of ant colony algorithms mentioned earlier, this paper improves the algorithm. In the aspect of customer point selection, the initial customer selection scheme, the noninitial customer selection scheme, and the adaptive selection threshold are designed. Compared to the fixed threshold [18] or segmented fixed thresholds [27] used in existing ant colony algorithms, the proposed adaptive threshold in this paper can better adapt to different stages of ant colony search process, thus achieving a better balance between the convergence speed and global search capability of the algorithm. In terms of pheromone processing, unlike existing ant colony algorithms [20], this paper proposes an initial pheromone distribution method based on a greedy strategy, allowing the pheromone to have a guiding effect even in the early stages of algorithm execution. Additionally, we introduce the pheromone backtracking mechanism and adaptive pheromone volatile factor, enhancing the algorithm’s ability to escape local optima. Finally, based on the 2-opt strategy and the characteristics of the SDVRP, vehicle self-search and intervehicle search methods are designed to further improve the quality of the solutions. The flowchart of the proposed algorithm in this paper is shown in Figure 2.

4.1. Customer Selection Method

4.1.1. Initial Customer Selection

In the SDVRP, because both the vehicle and the customer have load requirements, the choice of the initial customer will affect the vehicle’s subsequent choice of customer points. If the initial customer selection is not good, it is difficult to explore the best solution route. When the ant colony algorithm is used to solve the vehicle routing problem, the initial customer of the vehicle generally comes from two choices:
(1)
All coverage methods. The vehicle can search the customer points as the initial customer one by one, thereby expanding the search scope. However, when handling larger-scale problems, the algorithm running time may increase dramatically.
(2)
Random placement. This method will randomly select the initial customer of the vehicle according to a probability distribution. The advantage of this method is that the running time of the algorithm can be reduced. However, due to the random selection, the best path length generated by each iteration may greatly differ, thus reducing the convergence speed of the algorithm.
To enable the algorithm to balance convergence speed and global search ability, this paper proposes an initial customer selection method using a combination of best selection and random selection and designs an adaptive selection threshold, as shown in Equation (11).
q 0 = λ e 1 2 ( i t e r max _ i t e r ) 2
where λ is the scale coefficient, the value range is (0, 1), iter is the current iteration number, and max_iter is the total iteration number. The variable q0 is responsible for adjusting the customer selection strategy of the algorithm.
Additionally, if the path distance between customer points is also taken as an influence factor, it may make it easier for ants to select the customer point closest to the depot as the initial customer point. However, this is not necessarily the initial customer on the global best path, so the selection of the initial customer is affected only by the pheromone on the path. All vehicles are parked in the depot. At time t, the initial customer that vehicle k can select is j, and the customer selection method is shown in Equation (12):
j = arg max { τ 0 y ( t ) } , y a l l o w ( 0 ) q q 0 p 0 j k = τ 0 j ( t ) y a l l o w ( 0 ) τ 0 y ( t ) , q > q 0
where τ0y(t) denotes the pheromone content on the path (0, y) at time t, p 0 j k denotes the probability that the initial customer of vehicle k selects j, allow(0) denotes the set of customer points with transportation demand when the vehicle is in the depot, q is a random value in the interval (0, 1), and q0 is the set adaptive selection threshold.

4.1.2. Noninitial Customer Selection

The noninitial customer selection method refers to the state transition rule in the traditional ant colony algorithm, as shown in Equation (13):
j = arg max { [ τ i y ( t ) ] α [ η i y ( t ) ] β } , y a l l l o w ( i ) q q 0 p i j k = [ τ i j ( t ) ] α [ η i j ( t ) ] β y a l l o w ( i ) [ τ i y ( t ) ] α [ η i y ( t ) ] β , q > q 0
where p i j k denotes the probability that the next customer of vehicle k selects j, τij(t) denotes the pheromone content on path (i, j) at time t, and ηij denotes the heuristic information of customers i and j. In this paper, we set the heuristic information as the reciprocal of the distance between two customer points, which can be expressed as ηij = 1/dij. α is the pheromone concentration factor, and β is the expected heuristic factor, which reflect the relative importance of the accumulated pheromone and heuristic information in the ants’ path selection, respectively. The variable allow(i) denotes the set of customer points with transportation demand when the vehicle is at customer point i.
In the early stage of the algorithm, the value of q0 is large, and the ants have a large probability of directly selecting the customer point through the pheromone content and heuristic information, so as to enhance the convergence speed in the early stage of the algorithm. In the middle and late stages of the algorithm, after a number of iterations, the positive feedback adjustment of pheromones makes the current best path accumulate more pheromones, and the algorithm easily falls into a local optimum. At this time, the value of q0 is small, and the ants are more likely to select customer points according to roulette rules, so as to enhance the global search ability of the algorithm and improve the possibility of the algorithm jumping out of a local optimum.

4.2. Pheromone Processing

Since the ant colony algorithm was proposed, many scholars have improved the algorithm’s performance. The current main ant colony optimization algorithms include the ant system, elite ant system, ant colony system, max-min ant system (MMAS), and so on. The implementation processes of these algorithms differ, and each has its own advantages and disadvantages. The pheromone processing method in the MMAS has shown good results in many applications, so the pheromone processing method of the algorithm proposed in this paper is improved based on the MMAS.

4.2.1. Pheromone Initialization

When the pheromone in the MMAS is initialized, the pheromone is set to the maximum value τmax. However, the same pheromone distribution will cause the pheromone to not play a good guiding role in the initial stage of the algorithm. To make the ants have a better direction in the initial search, this paper proposes an initial pheromone allocation method based on a greedy strategy.
When the pheromone is initialized, a greedy algorithm is used to find a suboptimal transportation scheme, and different pheromone assignments are performed on the path in this scheme and other paths, as shown in Equation (14):
τ i j = τ max , path   ( i ,   j )   in   suboptimal   solution 0.8 τ max , o t h e r w i s e
Allocating extra pheromone on the suboptimal path searched by the greedy strategy can make the pheromone play a guiding role in the early stage of the algorithm and accelerate the convergence of the algorithm.

4.2.2. Pheromone Update Method

After each iteration of the algorithm, only the pheromone on the best path in the current iteration is updated. The global best path is not selected here, because if the global best path is selected, the algorithm may be unable to find a better solution than the global best solution in several rounds of iterations, resulting in excessive pheromone on the global best path. This makes it difficult to discover new solutions, reducing the global search ability of the algorithm. The iterative best path is often different in each round of iteration, so the pheromone will increase on each local best path, avoiding the relatively high pheromone on a certain path.
The pheromone update rule is shown in Equation (15):
τ i j ( t + 1 ) = ( 1 ρ ) τ i j ( t ) + Δ τ i j
where ρ is the pheromone volatilization factor.
The calculation of the pheromone increment refers to the most commonly used ant cycle model, as shown in Equation (16):
Δ τ i j = Z / C i t e r , ( i , j ) iterative   optimal   path 0 , o t h e r w i s e
where Z denotes the total amount of pheromone carried by the ants and C i t e r denotes the path length of the best solution in this iteration.
Because the ant colony algorithm easily enters a stagnant state in the middle and late stages and falls into a local optimum, to enhance the ability of the algorithm to jump out of the local optimum, this paper proposes a pheromone backtracking mechanism and an adaptive pheromone volatile factor.
The basic idea of the pheromone backtracking mechanism is to change the pheromone value on the path to the value before the algorithm falls into a local optimum, thereby enhancing the algorithm’s ability to jump out of the local optimum. In the iterative process, if the best solution obtained by consecutive A-th iterations does not change, it is considered that the algorithm has fallen into a local optimum, and the pheromone on the path is set to the value before the A iteration. To prevent ants from falling into the same local optimum again after pheromone backtracking, an adaptive pheromone volatile factor is proposed, as shown in Equation (17):
ρ = ρ s + c Δ ρ , ρ ρ max ρ max , ρ > ρ max
where ρs is the initial pheromone volatilization factor, ∆ρ is the increase in the volatilization factor, and c is the number of pheromone backtracking events. By increasing the value of ρ, more pheromone on the suboptimal path can be volatilized, thus increasing the possibility of ants choosing other paths, thereby improving the algorithm’s ability to jump out of the local optimum.

4.2.3. Pheromone Restriction

Constrain the pheromone on all paths to be between [τmin, τmax], as shown in Equation (18):
τ i j = τ m a x , τ i j > τ m a x τ i j = τ m i n , τ i j < τ m i n
The calculations of τmax and τmin are shown in Equations (19) and (20), respectively:
τ m a x = 1 C g l o b a l
τ m i n = τ m a x ω
where C g l o b a l denotes the path length of the global best solution and ω is constant.

4.3. Search Method Based on the 2-Opt Strategy

To enlarge the search range and accelerate the convergence of the algorithm, two search methods based on the 2-opt strategy are proposed to optimize the solution after each iteration.
1.
Vehicle path self-search
In the current iterative best solution, customers on the path of each vehicle are exchanged in pairs. After the exchange, there is no need to review the carrying capacity because the vehicle carrying capacity has been reviewed in the vehicle path search, and the overall carrying capacity will be unaffected by the order of the exchanged customer points. After the exchange, the new path length is calculated. If the length is less than the current best solution, the best solution will be replaced by the currently found solution. The detailed steps of the algorithm can be seen in Algorithm 1.
Algorithm 1. Vehicle path self-search
1: Input solution s;
2: Set vehicle_num = number of vehicles used in s;
3: Set old_length = path length in s;
4: for vehicle = 1 to vehicle_num do
5:  Set c_path = path of current vehicle;
6:    while not all customer pairs in c_path have been exchanged do
7:      Exchange the customer points in c_path in pairs to obtain new solution s’;
8:      Calculate the path length new_length of the new solution s’;
9:      if new_length < old_length do
10:       old_length = new_length; s = s’;
11:      end if
12:   end while
13: end for
14: Output s;
When the number of customer points is large, if the search is carried out in each iteration, the operation efficiency of the algorithm will decrease. Therefore, it is specified to perform this search under the following conditions:
(1)
Search should be performed every p iterations. After experimental verification, the best effect is achieved when the value of p is 10.
(2)
If the current iterative best solution is better than the global best solution, the search is performed.
2.
Route search is performed between vehicles.
In the current iterative best solution, customers of different vehicles are exchanged in pairs, as shown in Figure 3. The lines of different colors in the figure represent the paths of two vehicles, where i and j are customers on the respective vehicles. By swapping i and j, a shorter path is obtained. This process is known as intervehicle exchange search. To ensure the minimization of the number of vehicles used, this paper adopts a simple yet effective method. When there are still customer demands, vehicles need to return to the depot only when they are fully loaded. This results in only the last vehicle potentially having leftover capacity. Because the customer demand is different, it is easy to overload one of the vehicles if customer points are exchanged between two fully loaded vehicles. In this way, new solutions are not obtained and time is consumed. Therefore, we consider only the situation where the last vehicle exchanges customer points with other vehicles. Because the last vehicle may not be fully loaded, the success rate of customer exchange is relatively high.
After the exchange, the carrying capacity needs to be reviewed. If the requirements are met, the new path length will be calculated. If it is less than the current best solution, the best solution will be replaced by the newly found solution. The detailed steps of the algorithm can be seen in Algorithm 2. The execution rules of route search between vehicles are consistent with the vehicle path self-search.
Algorithm 2. Route search between vehicles
1: Input solution s, vehicle capacity Q;
2: Set vehicle_num = number of vehicles used in s;
3: Set f_path = path of the last vehicle in s;
4: Set old_length = path length in s;
5: for vehicle = 1 to (vehicle_num − 1) do
6:  Set c_path = path of current vehicle;
7:  while not all customer pairs in c_path and f_path have been swapped do
8:    Swap customer point i in c_path and customer point j in f_path in pairs for new solution s’;
9:    Set demand_c = total demand of customer points on c_path;
10:   Set demand_f = total demand of customer points on f_path;
11:     if demand_cQ and demand_fQ do
12:       Calculate the path length new_length of the new solution s’;
13:       if new_length < old_length do
14:        old_length = new_length; s = s’;
15:       end if
16:     end if
17:  end while
18: end for
19: Output s;

4.4. Steps of the IACA

The specific steps of the IACA are shown in Algorithm 3.
pathib denotes the best path length of the current iteration, and pathgb denotes the historical global best path length. Lines 12 to 17 denote that customers are selected based on different policies. Lines 18 to 22 denote updates to vehicle capacity and customer demands. Lines 30 to 32 denote that if the conditions are met, the 2-opt strategy will be used to optimize the solution. Lines 33 to 36 denote that if the conditions are met, the pheromone backtracking mechanism will be used and the pheromone volatilization factor will be updated.
Algorithm 3. IACA
1: Initialize parameters α, β, ρ, ρmax, Z, λ, ω, A, ant_num, max_iter;
2: Initialize τij(0) according to Equation (14) for all node pairs;
3: Set iteration counter iter = 0, Set N = number of customers;
4: for iter = 1 to max_iter do
5:  for each ant k = 1 to ant_num do
6:    Set demand = demand of nodes;
7:    Set capacity v = Q;
8:    while j = 1 N d e m a n d j 0 do
9:      if v > 0 then
10:       Put nodes with demandj > 0 into allow;
11:     end if
12:     if allow is not empty then
13:       if the node to be selected is the first node then
14:         Select the next node j according to Equation (12), then add j into the path;
15:       else
16:         Select the next node j according to Equation (13), then add j into the path;
17:        end if
18:       if vdemandj ≥ 0 then
19:         demandj = 0; v = vdemandj;
20:       else
21:         demandj = demandjv; v = 0;
22:       end if
23:     else
24:       Return to depot 0; Reload set v = Q;
25:     end if
26:   end while
27:  end for
28:  Save the shortest paths of all ants in this iteration;
29:  Update the pheromone on the path according to Equations (15), (16) and (18);
30:  if iter MOD 10 = 0 or pathib < pathgb then
31:    Execute Algorithm 1; Execute Algorithm 2;
32:  end if
33:  if pathgb has not changed for A consecutive iterations then
34:    Set the pheromone on the path to the value before A iterations;
35:    Update ρ according to Equation (17);
36:  end if
37:  iter = iter + 1;
38: end for
39: Output the shortest paths;

5. Experimental Results

To verify the effectiveness of the IACA in solving SDVRP, simulation experiments were conducted using Python code (v.3.7.0). The experimental environments were the Windows 10 operating system, an AMD 5800X processor, and 32 GB memory (Santa Clara, CA, USA). To test as comprehensively as possible, experiments were conducted on small, medium, and large datasets to compare the IACA with other algorithms.

5.1. Datasets

Sui et al. [46] designed an instance containing 15 customer points, and the carrying capacity of each vehicle was 500. Xie [47] designed an instance containing 20 customer points, and the carrying capacity of each vehicle was 5. Qing et al. [13] designed an instance containing 35 customer points, and the carrying capacity of each vehicle was 8. These three instances were used by us for small-scale dataset experiments.
Belenguer et al. [48] proposed fourteen medium-scale instances, and Yang et al. [20] used four large-scale instances in their experiments. These instances were also selected for our experiments. The information of fourteen medium-scale instances is shown in Table 3, and the information of four large-scale instances is shown in Table 4. Euclidean distance is considered when calculating distances on all datasets.

5.2. Setup of Experimental Parameters

The settings of each parameter in the ant colony algorithm will affect the performance of the algorithm. In the existing related research [49], the parameter settings of the ant colony algorithm usually need to be determined based on past experience and comparative experiments.
We determined the range of α and β according to experience: α ∈ {1, 2, 3, 4} and β ∈ {4, 5, 6, 7, 8, 9}. Then, we selected Xie’s dataset from the small-scale datasets; S51D1, S76D4 and S101D2 from the medium-scale datasets; and kelly02 from the large-scale datasets. On these datasets, the algorithm used different combinations of α and β values for calculation. The experiment of each set of parameters was run 5 times, and the average path length was calculated. Finally, when α = 2 and β = 8, the average length of the path obtained by the algorithm was the shorter. The algorithm parameters are shown in Table 5. The maximum number of iterations is different due to the size of the experimental data set, which will be explained in the specific experiment.

5.3. Small-Scale Dataset Experiments

This section discusses the results of experiments on small-scale datasets. The comparison algorithm selected in this section comes from literature that uses the same dataset. The number of iterations of the IACA is set to 60. The IACA is run 20 times, and the results are recorded in Table 6, Table 7 and Table 8. In these tables, “-” indicates that the corresponding data are not given in the literature.

5.3.1. Experiment 1

We used the instance of Sui et al. [46] to conduct experiments and compared the IACA described in this paper with the clustering algorithm (CA) [50], particle swarm optimization (PSO) algorithm [13], ant colony optimization (ACO) algorithm [46], artificial bee colony (ABC) algorithm [51], piecewise solution algorithm (PSA) [52], and improved pyramid evolution strategy (IPES) [53]. The results are shown in Table 6.
As shown in Table 6, IACA outperforms the other algorithms in both solution quality and solution time. Compared with the CA, PSO, ACO, PSA, and IPES, the IACA uses fewer iterations to obtain higher quality solutions. The IACA algorithm reduces the best solution by a maximum of 7.64% and a minimum of 0.59%. Although the ABC algorithm has fewer iterations, it is inferior to the IACA in terms of solving quality and running time.

5.3.2. Experiment 2

We used the instance of Xie [47] to conduct experiments and compared the IACA described in this paper with the CA [50], PSO algorithm [13], IPES [53], and tabu search algorithm (TSA) [47]. The results are shown in Table 7.
Table 7 reveals that the best solution calculated by the IACA is 170.5, which is consistent with the result of the IPES and is better than the results of other algorithms. The IACA algorithm reduces the best solution by a maximum of 8.53%. Although the best solution calculated by the IACA is consistent with the best solution calculated by the IPES, the IACA requires fewer iterations. The running time of the IACA is slightly higher than that of the CA, but the calculation result is better.

5.3.3. Experiment 3

We used the instance of Qing et al. [13] to conduct experiments and compared the IACA described in this paper with the PSO algorithm [13]. The results are shown in Table 8.
Table 8 shows that the number of iterations of the IACA is less than that of the PSO algorithm. The best solution and average solution calculated by the IACA are better than those calculated by the PSO algorithm in the case of fewer iterations. The IACA algorithm reduces the best solution by 4.16%.

5.4. Medium-Scale Dataset Experiments

We conducted experiments on 14 instances and compared the results with those obtained by the traditional ant colony algorithm (TACA) to verify the effectiveness of the improved method proposed in this paper. ASGCT, ACGCT, and MMGCT were the recently proposed improved ant colony algorithms [20]. To verify the performance of the algorithm, we also compared it with these three algorithms. The number of iterations of all algorithms was set to 180, and the number of ants was 40. Each algorithm was run 20 times, and the results were recorded in a table. The experimental results are shown in Table 9, where the numbers in the IACA column in bold indicate that the algorithm performs better than BKS.
Table 9 indicates that both the best solution and the average solution of the IACA are superior to other algorithms. The path of the best solution obtained by the IACA is at most 16.70% shorter and at least 4.23% shorter than the path of the best solution obtained by the TACA. The path of the average solutions obtained by the IACA is at most 14.57% shorter and at least 3.36% shorter than the path of the average solutions obtained by the TACA. In addition, the IACA achieved better results than the other three improved ant colony optimization algorithms. Figure 4 shows the reduction rate of these algorithms compared to the TACA, which can more intuitively demonstrate the algorithm’s solving performance.
These results show that the improved method proposed in this paper improves solution quality. When compared to the BKS of these datasets, the IACA finds better solutions on four datasets. Although IACA was unable to find better solutions on more datasets, the gap between IACA’s solution and BKS is modest. The average difference between the solution of IACA and the BKS of 14 datasets is 1.24%.
The running time comparison of different algorithms is shown in Table 10. Additionally, to visualize the differences more clearly, a line chart based on the table data is shown in Figure 5.
The overall running time of the IACA is shorter than that of the traditional ant colony algorithm, and when the number of customer points is the same, the greater the overall customer demand is, the more time is saved. Comparing the running times of the IACA with those of the other three modified ant colony optimization algorithms reveals the following: the running time of the IACA is less than that of the ASGCT and is similar to those of the ACGCT and MMGCT. However, the running time of the IACA is slightly longer than that of the ACGCT and MMGCT on the datasets of 100 customer points.
Comparing the quality and running time of the solutions verifies that the comprehensive improvement method proposed in this paper is effective on medium-scale datasets.

5.5. Large-Scale Dataset Experiments

We conducted experiments on four instances and compared the results with those obtained by the TACA and three improved ant colony algorithms [20]. The number of iterations of all algorithms was set to 500, and the number of ants was 40. Each algorithm was run 20 times, and the results were recorded in a table. The experimental results are shown in Table 11, where the numbers in the IACA column in bold indicate that the algorithm performs better than BKS. Furthermore, we used TACA as the benchmark to calculate the reduction rate of the optimal solution for other algorithms, as shown in Table 12.
The IACA performs well on large-scale datasets, and both the best solution and the average solution are better than those of the other algorithms. The best solution of the IACA is reduced the most on average compared to the TACA, by 6.87%, and reduced the least on average compared to the MMGCT, by 3.64%. When compared to the BKS of these datasets, the IACA finds better solutions on the kelly03 and kelly04 datasets, reducing the path length by 2.51% and 1.41%, respectively. In addition, the solutions found by the IACA on the kelly01 and kelly02 datasets are also close to the BKS, with difference values of 0.29% and 1.03%, respectively.
A comparison of algorithm running times is shown in Table 13. In addition, we calculated the reduction rate of the running time for other algorithms based on TACA, as shown in Table 14.
These tables show that the running time of the IACA is better than that of the TACA and the ASGCT. However, on some datasets, the running time of IACA is slightly longer than that of the ACGCT or the MMGCT. This may be because the vehicle path self-search and intervehicle exchange search in the IACA take some time. Although the proposed improved method does not outperform all algorithms in running time, the comparison of running time and solution quality shows that the improved method proposed in this paper is effective on large-scale datasets.

5.6. Exploratory Ability of the Algorithm

We observed the behavior of the algorithm in exploration and development through the iterative curve and the diversity curve. We took the S51D1, S76D4, and kelly01 datasets as examples to draw the convergence curve of the algorithm, as shown in Figure 6.
As shown in Figure 6, the initial solution found by the IACA is of high quality. In Figure 6a,c, the initial solution of the IACA is superior to other algorithms. In Figure 6b, the initial solution of the IACA is similar to the ACGCT and better than the remaining algorithms. This indicates that the proposed initial pheromone distribution method based on a greedy strategy in this paper is effective. With the guidance of pheromones, ants can find higher quality initial solutions. From Figure 6, it can also be observed that the IACA achieves a better balance between convergence speed and global search ability. Compared to other algorithms, the IACA can converge to better solutions. This indicates that the proposed adaptive threshold selection can better adapt to different stages of the ant colony search process, thereby achieving a better balance between convergence speed and global search ability of the algorithm. In addition, as the number of iterations increases, the positive feedback mechanism of the pheromone leads to the accumulation of a large amount of pheromone on the current optimal path, causing these algorithms to gradually become trapped in local optima. Due to the use of the pheromone backtracking mechanism and the adaptive pheromone volatile factor during the pheromone handling stage, the IACA exhibits a stronger ability to escape from local optima. Even in the middle and late stages of the algorithm, the IACA can still jump out of the local optimum. In Figure 6a, the IACA jumps out of the local optimal value when the algorithm iterates approximately 150 times, and in Figure 6b, the IACA jumps out of the local optimal value when the algorithm iterates approximately 160 times. In Figure 6c, the IACA can still find a better solution after almost 360 iterations.
From Figure 6, it can also be observed that during the mid-phase of the algorithm, the ants do not find better solutions for an extended period. This indicates that further improvements can be made to enhance the algorithm’s performance during the mid-phase, such as improving the pheromone update strategy.
We took the datasets of S51D1, S76D1, and S101D1 as examples to draw the solution diversity curves of the four improved ant colony algorithms, as shown in Figure 7.
The diversity of solutions refers to the number of different solutions found by ants in each iteration. The higher the diversity of solutions, the more likely the ants are to find a better solution. Since the 2-opt strategy can improve the diversity of solutions, the IACA without the 2-opt strategy is used here to only observe the situation of ants when exploring solutions.
As shown in Figure 7, with the progress of iteration, the diversity of solutions gradually decreases and then begins to fluctuate within a certain range. This is because as the number of iterations increases, a large number of pheromones will accumulate on some paths, leading some ants to keep searching the same path. Compared with other algorithms, the IACA can explore more solutions. Although some ants in the IACA fell into local optima as the number of iterations increased, the diversity of solutions remained high. This finding indicates that the proposed improvement method effectively enhances the search capability of the ants, increases solution diversity, and facilitates the algorithm’s escape from local optima. In addition, with the increase of the number customer points, the overall level of solution diversity also increases. The reason may be that as the number of customer points increases, the number of customer points that can be split requirements also increases. When different customer points are selected to split requirements, the final solution is often different, thus increasing the diversity of solutions.

6. Conclusions

This paper proposes an improved ant colony algorithm to solve the SDVRP. Different customer selection strategies are designed according to the characteristics of the SDVRP, and then the adaptive selection threshold is designed according to the characteristics of each stage of the ant colony algorithm. To guide the early stages of the algorithm, an initial pheromone allocation method based on a greedy strategy is introduced. Furthermore, to overcome the problem of local optima, the pheromone backtracking mechanism and adaptive pheromone volatile factor are proposed to enhance the algorithm’s ability to escape local optima. Finally, a 2-opt strategy is integrated to further improve the solution quality. The IACA achieves an average reduction of 1.58%, 4.28%, and 3.64% in the best path length in small, medium, and large-scale tests, respectively. In addition, the IACA has a stronger ability to escape local optima, and it can jump out of local optima even in the middle and late stages of an algorithm run.
However, the algorithm still has certain limitations. From the medium and large-scale experiments, it can be seen that although IACA achieves better solution quality, there is still room for improvement in solution time. The reasons for the long solution time may include: (1) The 2-opt search has low efficiency and consumes more time as the customer scale increases. (2) The heuristic information focuses too much on local features and cannot effectively guide the ants, resulting in the need for more iterations.
Therefore, in future research, we will explore improving the algorithm by combining more diverse search methods or integrating deep reinforcement learning techniques to better balance solution quality and solution time. Furthermore, this paper focuses on the basic SDVRP model, while real-world scenarios are often more complex. Future research will consider incorporating common constraints such as multiple depots, time windows, and uncertain demands into the model for further investigation.

Author Contributions

Conceptualization, X.M. and C.L.; methodology, X.M. and C.L.; software, C.L.; validation, C.L.; formal analysis, X.M. and C.L.; investigation, X.M. and C.L.; resources, X.M. and C.L.; data curation, C.L.; writing—original draft preparation, C.L.; writing—review and editing, X.M. and C.L.; visualization, C.L.; supervision, X.M.; project administration, C.L.; funding acquisition, X.M. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by National Key Research and Development Program of China, grant number 2020YFB2103604.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The website for obtaining the dataset we used in our research has been provided in the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Laporte, G. What You Should Know about the Vehicle Routing Problem. Nav. Res. Logist. 2007, 54, 811–819. [Google Scholar] [CrossRef]
  2. Sharma, S.K.; Routroy, S.; Yadav, U. Vehicle routing problem: Recent literature review of its variants. Int. J. Oper. Res. 2018, 33, 1–31. [Google Scholar] [CrossRef]
  3. Dror, M.; Trudeau, P. Savings by split delivery routing. Transp. Sci. 1989, 23, 141–145. [Google Scholar] [CrossRef]
  4. Archetti, C.; Feillet, D.; Gendreau, M.; Speranza, M.G. Complexity of the VRP and SDVRP. Transp. Res. Part C Emerg. Technol. 2011, 19, 741–750. [Google Scholar] [CrossRef]
  5. Archetti, C.; Savelsbergh, M.W.P.; Speranza, M.G. Worst-case analysis for split delivery vehicle routing problems. Transp. Sci. 2006, 40, 226–234. [Google Scholar] [CrossRef]
  6. Dror, M.; Trudeau, P. Split delivery routing. Nav. Res. Logist. 1990, 37, 383–402. [Google Scholar] [CrossRef]
  7. Gulczynski, D.; Golden, B.; Wasil, E. The split delivery vehicle routing problem with minimum delivery amounts. Transp. Res. Part E Logist. Transp. Rev. 2010, 46, 612–626. [Google Scholar] [CrossRef]
  8. Qiu, M.; Fu, Z.; Eglese, R.; Tang, Q. A tabu search algorithm for the vehicle routing problem with discrete split deliveries and pickups. Comput. Oper. Res. 2018, 100, 102–116. [Google Scholar] [CrossRef]
  9. Aleman, R.E.; Hill, R.R. A tabu search with vocabulary building approach for the vehicle routing problem with split demands. Int. J. Metaheuristics 2010, 1, 55–80. [Google Scholar] [CrossRef]
  10. Jiang, Y.; Bian, B.; Liu, Y. Integrated multi-item packaging and vehicle routing with split delivery problem for fresh agri-product emergency supply at large-scale epidemic disease context. J. Traffic Transp. Eng. (Engl. Ed.) 2020, 8, 196–208. [Google Scholar] [CrossRef]
  11. Wilck, J.H., IV; Cavalier, T.M. A genetic algorithm for the split delivery vehicle routing problem. Am. J. Oper. Res. 2012, 2, 207–216. [Google Scholar] [CrossRef]
  12. Shi, J.; Zhang, J.; Wang, K.; Fang, X. Particle swarm optimization for split delivery vehicle routing problem. Asia-Pac. J. Oper. Res. 2018, 35, 1840006. [Google Scholar] [CrossRef]
  13. Qing, D.S.; Deng, Q.L.; Li, J.J.; Liu, S.; Liu, X.; Zeng, S.P. Split vehicle route planning with full load demand based on particle swarm optimization. Control Decis. 2021, 36, 1397–1406. [Google Scholar] [CrossRef]
  14. Chen, Q.; Li, K.; Liu, Z. Model and algorithm for an unpaired pickup and delivery vehicle routing problem with split loads. Transp. Res. Part E Logist. Transp. Rev. 2014, 69, 218–235. [Google Scholar] [CrossRef]
  15. Han, A.F.-W.; Chu, Y.-C. A multi-start heuristic approach for the split-delivery vehicle routing problem with minimum delivery amounts. Transp. Res. Part E Logist. Transp. Rev. 2016, 88, 11–31. [Google Scholar] [CrossRef]
  16. Wolfinger, D. A large neighborhood search for the pickup and delivery problem with time windows, split loads and transshipments. Comput. Oper. Res. 2021, 126, 105110. [Google Scholar] [CrossRef]
  17. Gasque, D.; Munari, P. Metaheuristic, models and software for the heterogeneous fleet pickup and delivery problem with split loads. J. Comput. Sci. 2022, 59, 101549. [Google Scholar] [CrossRef]
  18. Tang, J.; Ma, Y.; Guan, J.; Yan, C. A max–min ant system for the split delivery weighted vehicle routing problem. Expert Syst. Appl. 2013, 40, 7468–7477. [Google Scholar] [CrossRef]
  19. McNabb, M.E.; Weir, J.D.; Hill, R.R.; Hall, S.N. Testing local search move operators on the vehicle routing problem with split deliveries and time windows. Comput. Oper. Res. 2015, 56, 93–109. [Google Scholar] [CrossRef]
  20. Yang, W.; Wang, D.; Pang, W.; Tan, A.-H.; Zhou, Y. Goods consumed during transit in split delivery vehicle routing problems: Modeling and solution. IEEE Access 2020, 8, 110336–110350. [Google Scholar] [CrossRef]
  21. Xiang, Y.; Zhou, Y.; Huang, H.; Luo, Q. An Improved Chimp-Inspired Optimization Algorithm for Large-Scale Spherical Vehicle Routing Problem with Time Windows. Biomimetics 2022, 7, 241. [Google Scholar] [CrossRef]
  22. Zhang, T.; Zhou, Y.; Zhou, G.; Deng, W.; Luo, Q. Discrete Mayfly Algorithm for spherical asymmetric traveling salesman problem. Expert Syst. Appl. 2023, 221, 119765. [Google Scholar] [CrossRef]
  23. Hou, W.; Xiong, Z.; Wang, C.; Chen, H. Enhanced ant colony algorithm with communication mechanism for mobile robot path planning. Robot. Auton. Syst. 2021, 148, 103949. [Google Scholar] [CrossRef]
  24. Stodola, P.; Otřísal, P.; Hasilová, K. Adaptive ant colony optimization with node clustering applied to the Travelling Salesman Problem. Swarm Evol. Comput. 2022, 70, 101056. [Google Scholar] [CrossRef]
  25. Xing, H.; Zhu, J.; Qu, R.; Dai, P.; Luo, S.; Iqbal, M.A. An ACO for energy-efficient and traffic-aware virtual machine placement in cloud computing. Swarm Evol. Comput. 2021, 68, 101012. [Google Scholar] [CrossRef]
  26. Wang, Z.; Xing, H.; Li, T.; Yang, Y.; Qu, R.; Pan, Y. A Modified Ant Colony Optimization Algorithm for Network Coding Resource Minimization. IEEE Trans. Evol. Comput. 2015, 20, 325–342. [Google Scholar] [CrossRef]
  27. Lei, J.X.; Sun, Y.; Zhu, H.J. Improved ant colony optimization algorithm for vehicle routing problems with time window. Comput. Integr. Manuf. Syst. 2022, 28, 3535–3544. [Google Scholar] [CrossRef]
  28. Archetti, C.; Bianchessi, N.; Speranza, M.G. Branch-and-cut algorithms for the split delivery vehicle routing problem. Eur. J. Oper. Res. 2014, 238, 685–698. [Google Scholar] [CrossRef]
  29. Ferreira, K.M.; de Queiroz, T.A.; Toledo, F.M.B. An exact approach for the green vehicle routing problem with two-dimensional loading constraints and split delivery. Comput. Oper. Res. 2021, 136, 105452. [Google Scholar] [CrossRef]
  30. Wolfinger, D.; Salazar-González, J.-J. The pickup and delivery problem with split loads and transshipments: A branch-and-cut solution approach. Eur. J. Oper. Res. 2020, 289, 470–484. [Google Scholar] [CrossRef]
  31. Hernández-Pérez, H.; Salazar-González, J.-J. A Branch-and-cut algorithm for the split-demand one-commodity pickup-and-delivery travelling salesman problem. Eur. J. Oper. Res. 2021, 297, 467–483. [Google Scholar] [CrossRef]
  32. Casazza, M.; Ceselli, A.; Calvo, R.W. A route decomposition approach for the single commodity Split Pickup and Split Delivery Vehicle Routing Problem. Eur. J. Oper. Res. 2019, 289, 897–911. [Google Scholar] [CrossRef]
  33. Li, J.L.; Qin, H.; Shen, H.X.; Tong, X.; Xu, Z. Exact algorithms for the multiple depot vehicle scheduling problem with heterogeneous vehicles, split loads and toll-by-weight scheme. Comput. Ind. Eng. 2022, 168, 108137. [Google Scholar] [CrossRef]
  34. Gschwind, T.; Bianchessi, N.; Irnich, S. Stabilized branch-price-and-cut for the commodity-constrained split delivery vehicle routing problem. Eur. J. Oper. Res. 2019, 278, 91–104. [Google Scholar] [CrossRef]
  35. Li, J.; Qin, H.; Baldacci, R.; Zhu, W. Branch-and-price-and-cut for the synchronized vehicle routing problem with split delivery, proportional service time and multiple time windows. Transp. Res. Part E Logist. Transp. Rev. 2020, 140, 101955. [Google Scholar] [CrossRef]
  36. Xia, Y.K.; Deng, Y.D.; Pang, Y.; Wang, Z.W.; Gao, L. Fresh food vehicle routing problem with split deliveries and customer classification. Comput. Integr. Manuf. Syst. 2021, 27, 1238–1248. [Google Scholar] [CrossRef]
  37. Fan, H.M.; Zhang, X.; Ren, X.X.; Liu, P. Optimization of multi-depot open split delivery vehicle routing problem with simultaneous delivery and pick-up. Syst. Eng.—Theory Pract. 2021, 41, 1521–1534. [Google Scholar] [CrossRef]
  38. Gu, W.; Cattaruzza, D.; Ogier, M.; Semet, F. Adaptive large neighborhood search for the commodity constrained split delivery VRP. Comput. Oper. Res. 2019, 112, 104761. [Google Scholar] [CrossRef]
  39. Moshref-Javadi, M.; Lee, S. The customer-centric, multi-commodity vehicle routing problem with split delivery. Expert Syst. Appl. 2016, 56, 335–348. [Google Scholar] [CrossRef]
  40. Guo, F.; Huang, Z.; Huang, W. Heuristic approaches for a vehicle routing problem with an incompatible loading constraint and splitting deliveries by order. Comput. Oper. Res. 2021, 134, 105379. [Google Scholar] [CrossRef]
  41. Dror, M.; Laporte, G.; Trudeau, P. Vehicle routing with split deliveries. Discret. Appl. Math. 1994, 50, 239–254. [Google Scholar] [CrossRef]
  42. Dorigo, M.; Gambardella, L. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Trans. Evol. Comput. 1997, 1, 53–66. [Google Scholar] [CrossRef]
  43. Stutzle, T.; Hoos, H. Max-min ant system and local search for the traveling salesman problem. In Proceedings of the 1997 IEEE International Conference on Evolutionary Computation, Indianapolis, IN, USA, 13–16 April 1997. [Google Scholar] [CrossRef]
  44. Zhou, X.C.; Zhou, K.J.; Wang, L.; Liu, C.; Huang, X. Review of green vehicle routing model and its algorithm in logistics distribution. Syst. Eng.—Theory Pract. 2021, 41, 213–230. [Google Scholar] [CrossRef]
  45. Sabar, N.R.; Goh, S.L.; Turky, A.; Kendall, G. Population-based iterated local search approach for dynamic vehicle routing problems. IEEE Trans. Autom. Sci. Eng. 2022, 19, 2933–2943. [Google Scholar] [CrossRef]
  46. Sui, L.S.; Tang, J.F.; Pan, Z.D.; Liu, S.A. Using ant colony algorithm to solve the vehicle routing problem with separable demand. In Proceedings of the 2008 Chinese Control and Decision Conference, Yantai, China, 2–4 July 2008. [Google Scholar]
  47. Xie, Y. The Study of Logistics Vehicle Routing Problem with Split Demand. Master’s Thesis, Tongji University, Shanghai, China, 2006. [Google Scholar]
  48. Belenguer, J.M.; Martinez, M.C.; Mota, E. A lower bound for the split delivery vehicle routing problem. Oper. Res. 2000, 48, 801–810. [Google Scholar] [CrossRef]
  49. Wang, Y.; Han, T.; Jiang, X.; Yan, Y.; Liu, H. Path Planning of Pattern Transfer Based on Dual-Operator and a Dual-Population Ant Colony Algorithm for Digital Mask Projection Lithography. Entropy 2020, 22, 295. [Google Scholar] [CrossRef]
  50. Xiang, T.; Pan, D.Z. Clustering algorithm for split delivery vehicle routing problem. J. Comput. Appl. 2016, 36, 3141–3145. [Google Scholar]
  51. Jiang, T. Artificial bee colony algorithm for split delivery vehicle routing Problem. J. Sichuan Univ. Sci. Eng. (Nat. Sci. Ed.) 2017, 30, 6–9. [Google Scholar]
  52. Liu, W.S.; Huang, J. Two-stage algorithm for split delivery vehicle routing problem. J. Jimei Univ. (Nat. Sci.) 2011, 16, 38–44. [Google Scholar] [CrossRef]
  53. Li, H.F.; Huang, Z.C.; Zhang, Q.; Zhan, H.; Tan, Q. Improved pyramid evolution strategy for solving split delivery vehicle routing problem. J. Comput. Appl. 2021, 41, 300–306. [Google Scholar] [CrossRef]
Figure 1. 3-split cycle.
Figure 1. 3-split cycle.
Applsci 14 05090 g001
Figure 2. The flowchart of the improved ant colony algorithm proposed in this paper.
Figure 2. The flowchart of the improved ant colony algorithm proposed in this paper.
Applsci 14 05090 g002
Figure 3. Intervehicle exchange search.
Figure 3. Intervehicle exchange search.
Applsci 14 05090 g003
Figure 4. Reduction rate compared to the best solution of the TACA.
Figure 4. Reduction rate compared to the best solution of the TACA.
Applsci 14 05090 g004
Figure 5. Comparison of algorithm running times.
Figure 5. Comparison of algorithm running times.
Applsci 14 05090 g005
Figure 6. (a) Iteration curve of the S51D1 dataset. (b) Iteration curve of the S76D4 dataset. (c) Iteration curve of the kelly01 dataset.
Figure 6. (a) Iteration curve of the S51D1 dataset. (b) Iteration curve of the S76D4 dataset. (c) Iteration curve of the kelly01 dataset.
Applsci 14 05090 g006
Figure 7. (a) Solution diversity curve of the S51D1 dataset. (b) Solution diversity curve of the S76D1 dataset. (c) Solution diversity curve of the S101D1 dataset.
Figure 7. (a) Solution diversity curve of the S51D1 dataset. (b) Solution diversity curve of the S76D1 dataset. (c) Solution diversity curve of the S101D1 dataset.
Applsci 14 05090 g007
Table 1. Summary of related algorithms.
Table 1. Summary of related algorithms.
TypeAlgorithmAuthor(s)
Exact algorithmBranch-and-cut algorithmArchetti et al. [28]
Ferreira et al. [29]
Wolfinger et al. [30]
Hernández-Pérez et al. [31]
Branch-and-price algorithmCasazza et al. [32]
Li et al. [33]
Branch-price-and-cut algorithmGschwind et al. [34]
Li et al. [35]
Heuristic algorithmTabu search algorithmQiu et al. [8]
Aleman et al. [9]
Xia et al. [36]
Genetic algorithmJiang et al. [10]
Wilck et al. [11]
Fan et al. [37]
Particle swarm algorithmShi et al. [12]
Qing et al. [13]
Variable neighborhood search algorithmChen et al. [14]
Han et al. [15]
Large neighborhood search algorithmWolfinger [16]
Gasque et al. [17]
Gu et al. [38]
Ant colony algorithmTang et al. [18]
Mcnabb et al. [19]
Yang et al. [20]
Simulated annealing algorithmMoshref-Javadi et al. [39]
Guo et al. [40]
Table 2. List of parameters and variables used in the SDVRP.
Table 2. List of parameters and variables used in the SDVRP.
SymbolDefinition
NThe number of customers.
MThe minimum number of vehicles, the value of which is shown in Equation (1).
VThe set of depot and customer points, including 0 and Vc, where 0 represents the depot and Vc = {1, 2, …, N} represents the customer set.
dijThe distance between customers i and j.
qiThe demand of customer i.
QThe capacity of each vehicle.
x i j m The indicator of whether edge (i, j) has been traversed by vehicle m, as shown by Equation (2).
y i m Customer i’s demand supplied by vehicle m.
Table 3. Information on medium-scale instances.
Table 3. Information on medium-scale instances.
Name 1N 2D 3Q 4M 5BKS 6
S51D150[⌈0.01Q⌉, ⌊0.1Q⌋]1603458
S51D250[⌈0.1Q⌉, ⌊0.3Q⌋]1609726
S51D350[⌈0.1Q⌉, ⌊0.5Q⌋]16015972
S51D450[⌈0.1Q⌉, ⌊0.9Q⌋]160271677
S51D550[⌈0.3Q⌉, ⌊0.7Q⌋]160231440
S51D650[⌈0.7Q⌉, ⌊0.9Q⌋]160412327
S76D175[⌈0.01Q⌉, ⌊0.1Q⌋]1604594
S76D275[⌈0.1Q⌉, ⌊0.3Q⌋]160151147
S76D375[⌈0.1Q⌉, ⌊0.5Q⌋]160231474
S76D475[⌈0.1Q⌉, ⌊0.9Q⌋]160372257
S101D1100[⌈0.01Q⌉, ⌊0.1Q⌋]1605716
S101D2100[⌈0.1Q⌉, ⌊0.3Q⌋]160201393
S101D3100[⌈0.1Q⌉, ⌊0.5Q⌋]160311975
S101D5100[⌈0.3Q⌉, ⌊0.7Q⌋]160482915
1 “Name” denotes the instances’ name. These data can be found at https://www.uv.es/belengue/sdvrp.html (accessed on 22 April 2024). 2 “N” denotes the number of customers. 3 “D” denotes scope of the demand of the customers. 4 “Q” denotes the capacity of the vehicles. 5 “M” denotes the minimum number of vehicles required for the instance. 6 “BKS” denotes the value of the best known solution.
Table 4. Information on large-scale instances.
Table 4. Information on large-scale instances.
Name 1NQD(avg) 2D(std) 3BKS
kelly0124055020105646.46
kelly0232070020108566.04
kelly03400900201011,649.06
kelly044801000201014,639.32
1 “Name” denotes the instances’ name. These data can be found at https://www.bernabe.dorronsoro.es/vrp (accessed on 22 April 2024). 2 “D(avg)” denotes the average of all customer demands in each instance. 3 “D(std)” denotes the standard deviation of customer demands in each instance.
Table 5. Algorithm parameter settings.
Table 5. Algorithm parameter settings.
αβλρsρmaxant_num
280.50.20.840
Table 6. Comparison of the calculation results obtained in Experiment 1.
Table 6. Comparison of the calculation results obtained in Experiment 1.
AlgorithmBest SolutionAverage SolutionTime/s 1NV 2Iterations 3
CA1721.71728.91.3310500
PSO1722.1--10200
ACO1836.0--101000
ABC1757.61785.71.711050
PSA1827.71832.32.1110500
IPES1705.8-4.6010100
IACA1695.81713.11.301060
1 “Time” denotes the average time for the algorithm to run. 2 “NV” denotes the number of vehicles obtained in the best solution. 3 “Iterations” denotes the number of iterations of the algorithm.
Table 7. Comparison of the calculation results obtained in Experiment 2.
Table 7. Comparison of the calculation results obtained in Experiment 2.
AlgorithmBest SolutionAverage SolutionTime/sNVIterations
CA172.5173.91.358500
PSO171.1--8200
IPES170.5--8100
TSA186.4192.3168.6081000
IACA170.5170.81.40860
Table 8. Comparison of the calculation results obtained in Experiment 3.
Table 8. Comparison of the calculation results obtained in Experiment 3.
AlgorithmBest SolutionAverage SolutionTime/sNVIterations
PSO208.24213.19-7200
IACA199.58208.143.75760
Table 9. Comparison of the calculation results obtained on medium-scale datasets.
Table 9. Comparison of the calculation results obtained on medium-scale datasets.
DatasetBKSBest SolutionAverage Solution
TACAASGCT *ACGCT *MMGCT *IACATACAASGCT *ACGCT *MMGCT *IACA
S51D1458545.84520.94516.26492.34466.25551.32526.55525.63507.75480.30
S51D2726841.20833.25816.11808.92727.00847.13838.63825.65817.81741.47
S51D39721116.381075.301065.461060.03994.011126.521083.421075.531070.381024.40
S51D416771729.551705.871697.931678.501639.691741.371709.361702.941690.171659.02
S51D514401470.591431.801425.051421.951385.011482.301440.471438.781429.321407.64
S51D623272409.842325.302310.762293.692261.112429.452330.892324.902308.662273.79
S76D1594686.80681.42665.83661.45611.84695.27688.55681.83676.22631.47
S76D211471249.531241.941233.371228.701151.661252.241245.001240.261238.111190.20
S76D314741655.481619.651611.791568.741540.381680.311627.201619.211607.641567.79
S76D422572374.502306.212292.602279.722229.192391.052312.632302.742296.792268.51
S101D1716883.14868.54853.58793.77735.65890.21877.22876.39842.56760.50
S101D213931642.721622.761606.941546.381510.851647.671631.831627.151602.271553.99
S101D319752127.842110.992096.582082.302026.972137.852118.742103.452096.162063.99
S101D529153088.613036.293025.763014.292957.873094.723053.903038.333029.322990.59
* Since the experimental parameter data are not given in the literature [20] and there is no data such as algorithm running time, we wrote test code according to the pseudo code in the literature [20] to obtain more comprehensive experimental data. The test code was applied to the medium-scale dataset experiments and large-scale dataset experiments.
Table 10. Average running time of algorithms on medium-scale datasets.
Table 10. Average running time of algorithms on medium-scale datasets.
DatasetTACA/sASGCT/sACGCT/sMMGCT/sIACA/s
S51D122.2821.8419.2019.0619.59
S51D224.2522.5820.1320.0520.09
S51D326.3123.1921.6320.8720.86
S51D430.7724.4122.2321.9022.50
S51D529.4323.6221.8421.0121.53
S51D635.7825.8724.1523.2124.22
S76D145.5043.1338.0537.7639.59
S76D247.8744.1139.3641.4240.67
S76D351.1345.8141.0842.4741.19
S76D456.6046.9242.4444.5843.10
S101D173.5372.0265.2466.1566.95
S101D280.5473.8165.3668.5867.93
S101D385.6675.2067.1167.4969.53
S101D594.5276.8369.5169.9371.19
Table 11. Comparison of the calculation results obtained on large-scale datasets.
Table 11. Comparison of the calculation results obtained on large-scale datasets.
DatasetBKSBest SolutionAverage Solution
TACAASGCTACGCTMMGCTIACATACAASGCTACGCTMMGCTIACA
kelly015646.465879.585794.955769.365754.205662.985893.625841.345837.555824.725684.91
kelly028566.049195.579176.289117.099077.508654.379257.489208.789170.329152.068735.00
kelly0311,649.0612,428.9212,282.9711,935.6411,843.6511,356.6612,813.6112,361.1712,345.9812,078.9411,486.70
kelly0414,639.3215,909.3215,731.1115,553.7015,065.5314,433.0816,356.8515,932.1215,777.6415,593.2014,679.80
Table 12. Reduction rate compared to the best solution of the TACA.
Table 12. Reduction rate compared to the best solution of the TACA.
DatasetASGCT/%ACGCT/%MMGCT/%IACA/%
kelly011.441.872.133.68
kelly020.210.851.285.89
kelly031.173.974.718.63
kelly041.122.245.319.28
Table 13. Average running time of algorithms on large-scale datasets.
Table 13. Average running time of algorithms on large-scale datasets.
DatasetTACA/sASGCT/sACGCT/sMMGCT/sIACA/s
kelly011157.841104.85993.33989.58994.36
kelly022039.381943.891733.781757.551747.29
kelly033251.283100.412860.842912.492904.04
kelly044111.774008.173978.554004.513923.41
Table 14. Reduction rate compared to the running time of the TACA.
Table 14. Reduction rate compared to the running time of the TACA.
DatasetASGCT/%ACGCT/%MMGCT/%IACA/%
kelly014.5814.2114.5314.12
kelly024.6814.9813.8214.32
kelly034.6412.0110.4210.68
kelly042.523.242.614.58
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Ma, X.; Liu, C. Improved Ant Colony Algorithm for the Split Delivery Vehicle Routing Problem. Appl. Sci. 2024, 14, 5090. https://doi.org/10.3390/app14125090

AMA Style

Ma X, Liu C. Improved Ant Colony Algorithm for the Split Delivery Vehicle Routing Problem. Applied Sciences. 2024; 14(12):5090. https://doi.org/10.3390/app14125090

Chicago/Turabian Style

Ma, Xiaoxuan, and Chao Liu. 2024. "Improved Ant Colony Algorithm for the Split Delivery Vehicle Routing Problem" Applied Sciences 14, no. 12: 5090. https://doi.org/10.3390/app14125090

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop