Next Article in Journal
How Do Dynamic Capabilities Enable a Firm to Convert the External Pressures into Environmental Innovation? A Process-Based Study Using Structural Equation Modeling
Next Article in Special Issue
Minimization of Construction and Operation Costs of the Fuel Cell Bus Transportation System
Previous Article in Journal / Special Issue
Unraveling the Complex Barriers to and Policies for Shared Autonomous Vehicles: A Strategic Analysis for Sustainable Urban Mobility
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Modeling and Solving the Multi-Objective Vehicle Routing Problem with Soft and Fuzzy Time Windows

School of Management Science and Engineering, Shandong University of Finance and Economics, Jinan 250014, China
*
Author to whom correspondence should be addressed.
Systems 2024, 12(12), 560; https://doi.org/10.3390/systems12120560
Submission received: 14 November 2024 / Revised: 11 December 2024 / Accepted: 12 December 2024 / Published: 13 December 2024

Abstract

In the distribution field, distribution costs and customer service satisfaction are extremely important issues for enterprises. However, both the Vehicle Routing Problem with Soft Time Windows (VRPSTW) and the Vehicle Routing Problem with Fuzzy Time Windows (VRPFTW) have certain deficiencies in describing real-world scenarios. Therefore, this paper considers both soft time windows and fuzzy time windows, improving upon the traditional VRPSTW and VRPFTW models to establish a more comprehensive and realistic model called the Vehicle Routing Problem with Soft Time Windows and Fuzzy Time Windows (VRPSFTW). Secondly, to solve the relevant problems, this paper proposes a Directed Mutation Genetic Algorithm integrated with Large Neighborhood Search (LDGA), which fully utilizes the advantages of the Genetic Algorithm (GA) in the early stages and appropriately adopts removal and re-insertion operators from the Large Neighborhood Search (LNS). This approach not only makes efficient use of computational resources but also compensates for the weaknesses of crossover and mutation operators in the later stages of the genetic algorithm. Thereby, it improves the overall efficiency and accuracy of the algorithm and achieves better solution results. In addition, in order to solve multi-objective problems, this paper employs a two-stage solution approach and designs two sets of algorithms based on the principles of “cost priority” and “service-level priority”. Simulation experiments demonstrated that the algorithms designed in this study achieved a more competitive solving performance.

1. Introduction

The logistics industry is a fundamental, strategic, and leading sector that supports the development of the national economy. Reducing logistics costs and increasing efficiency are not only essential for the nation, society, and industry, but also for the enterprises themselves. For many companies, transportation costs are usually the largest portion of their logistics expenses. According to statistics from the National Development and Reform Commission, China’s total social logistics cost in 2023 reached CNY 18.2 trillion, a year-on-year increase of 2.3%, with the transportation cost amounting to CNY 9.8 trillion, increasing by 2.8%. The transportation cost still accounts for the largest share of the total social logistics cost and is one of the key expenditures for logistics companies. The high proportion of the transportation cost is largely influenced by the delivery costs of logistics companies. According to the “2021 Logistics Business Environment Survey” published by the China Federation of Logistics and Purchasing, delivery costs ranked fourth among the top nine items for which the surveyed companies reported the most significant cost increases, accounting for 35.5%. The persistently high delivery costs are closely related to the failure of many logistics companies to develop scientific, reasonable, and efficient delivery routes, which remains a pressing issue for many enterprises. Currently, the majority of delivery problems faced by enterprises can be categorized as the Vehicle Routing Problem (VRP) and its variants, for which further in-depth research is necessary.
The VRP was first introduced by Dantzig and Ramser in 1959, and was initially termed “The truck dispatching problem” [1]. The authors extended the concept of the Traveling Salesman Problem (TSP) by introducing the constraint of multiple vehicles. Subsequently, researchers have proposed various variants of the VRP based on different scenarios encountered in reality. These include the Capacitated Vehicle Routing Problem (CVRP) [2], Dynamic Vehicle Routing Problem (DVRP) [3], Vehicle Routing Problem with Pickup and Delivery (VRPPD) [4], the Heterogeneous Fleet VRP (HFVRP) [5], among others. The Vehicle Routing Problem with Time Windows (VRPTW) [6] is a significant variant of the VRP that is characterized by time window constraints. As a significant branch of combinatorial optimization problems, the VRPTW has attracted extensive research interest over the years.
The Vehicle Routing Problem with Soft Time Windows (VRPSTW) is an extension of the VRPTW that allows for more flexible scheduling under time window constraints. Soft time windows mean that customers can accept service outside of their specified time windows, but usually at the cost of a penalty fee. Each customer has a desired service time window, and if the vehicle arrives within this window, the service can begin normally without incurring additional costs. However, if the vehicle services the customer outside of their time window, a penalty cost is incurred. Because exceeding the time window incurs extra costs, scheduling strategies must balance timely service and cost reduction. Soft time windows provide greater scheduling flexibility compared to hard time windows, allowing vehicles to adjust their arrival and service times within certain limits to optimize the overall routes and costs. Zhang et al. [7] noted that the feasible solution space for the VRPSTW is larger than that for the VRPHTW, providing decision-makers with more options. The VRPSTW effectively simulates many scenarios wherein the time window constraints are not strict. This model makes it suitable for situations requiring flexible scheduling, such as express delivery and maintenance services, for which customers may tolerate a certain degree of early or late service. Considering both customer experience and economic benefits, soft time windows are more applicable to real-world situations. Chiang et al. [8] argue that the VRPSTW can effectively reduce delivery costs without significantly lowering customer satisfaction.
The Vehicle Routing Problem with Fuzzy Time Windows (VRPFTW) is an extended version of the vehicle routing problem that aims to address the uncertainty and vagueness of time windows. In practical applications, a customer may not only have a desired time window for receiving service but may also have a tolerable time window. Incorporating fuzzy logic to consider the flexibility of time windows allows the service to be delivered earlier or later within a certain range while also considering the corresponding customer satisfaction levels, an approach that better balances customer satisfaction and operational costs. Tang et al. [9] were among the first to consider the VRPFTW. The authors used fuzzy membership functions to describe the service-level issues related to the window violations in vehicle routing problems, and thus introduced the concept of fuzzy time windows. Based on this concept, they proposed the vehicle routing problem with fuzzy time windows. The model they established is framed as a multi-objective optimization problem, with the objective functions able to minimize the total distance and maximize the overall service level.
However, both the VRPSTW and the VRPFTW have some flaws when describing real-world scenarios, as follows:
(1)
The VRPSTW model overlooks the service levels. In some cases, violating the time windows does not directly result in any penalty costs, but customer satisfaction (the service level of the delivery side) may decrease, potentially leading to long-term profit losses.
(2)
Furthermore, in the current literature, VRPSTW models are often used to calculate the penalty costs in the objective function by directly multiplying the amount of time violated by a predetermined penalty coefficient. However, this approach is not very realistic, as it ignores the size of the customer demand, which in practice, is often related to the calculation of penalty fees.
(3)
In contrast, the VRPFTW model established by Tang et al. is overly simplistic. The objective function of this model only considers the minimization of the total distance and the maximization of the overall service level, and its service-level calculation neglects the characteristics of individual customers, and thus cannot accurately reflect the true service level of the delivery side.
In light of the increasing demand in the logistics and transportation sectors, scholars have proposed various algorithms to solve the VRPTW, aiming to enhance the efficiency of vehicle transportation logistics. Initially, researchers attempted to solve the VRPTW using exact algorithms; however, because the VRPTW is an NP-hard problem, using exact algorithms to solve large-scale VRPTWs is time-consuming. As a result, over time, scholars have proposed various heuristic algorithms to tackle the VRPTW, including the Genetic Algorithm (GA) [10], Simulated Annealing (SA) [11], Memetic Algorithm (MA) [12], Ant Colony Optimization (ACO) [13], Particle Swarm Optimization (PSO) [14], Tabu Search (TS) [15], Harmony Search (HS) [16], Large Neighborhood Search (LNS) [17], Variable Neighborhood Search (VNS) [18], and other techniques.
Up to now, no heuristic or metaheuristic algorithm has been found to be superior to other algorithms in all situations, and each algorithm has its own advantages and disadvantages; therefore, researchers have attempted to combine multiple algorithms to obtain better ones. B. Yu and colleagues proposed a hybrid algorithm that combines Ant Colony Optimization (ACO) and Tabu Search (TS) [19]. YANG SHEN and colleagues proposed a hybrid swarm intelligence algorithm that combines the Ant Colony System (ACS) and Brain Storm Optimization (BSO) algorithms [20] to minimize the total distance for solving the VRPTW. Moreover, Qichao Wu and colleagues proposed using Neighborhood Comprehensive Learning Particle Swarm Optimization (N-CLPSO) [21] to solve the VRPTW. The above studies indicate that a reasonable combination of two or more methods can enhance their advantages in specific situations and compensate for their disadvantages.
The Genetic Algorithm (GA) was first proposed by John Holland in the 1970s, and was designed based on the principles of biological evolution in nature. As a heuristic optimization algorithm, the GA has been applied to the VRPTW to find optimal delivery routes. By simulating the process of biological evolution in nature, the GA can find better solutions in large search spaces and demonstrates good robustness when dealing with complex optimization problems.
The Large Neighborhood Search (LNS) algorithm is an effective tool for solving complex combinatorial optimization problems. Paul Shaw utilized constraint programming and the LNS to address the VRPTW [22], demonstrating high accuracy and a high local search capability. Grigorios and colleagues developed a Multi-objective Large Neighborhood Search (MOLNS) algorithm to solve the VRPTW [23].
The model established in this paper is a multi-objective optimization model. One of the most commonly used heuristic algorithms for solving multi-objective vehicle routing problems is the Non-dominated Sorting Genetic Algorithm (NSGA), which was proposed by Srinivas and Deb in 1995 and is based on the concept of Pareto optimality. In 2000, the authors introduced an improved version called the NSGA-II, which incorporates an elitism strategy. The NSGA-II algorithm treats all the objectives as equally important when dealing with multi-objective optimization problems, without assigning priority to any single objective, and it seeks a set of Pareto optimal solutions through non-dominated sorting and the crowding distance, ensuring that all objectives are balanced and considered throughout the solution process. This approach is suitable for scenarios in which all objectives are equally important or it is difficult to clearly define the priorities.
The research on the above-mentioned solution algorithms has several shortcomings, as follows:
(1)
The genetic algorithm has accuracy limitations when solving the VRPTW and faces challenges such as falling into local optimal solutions and a slow convergence speed in the later stages of the algorithm. In particular, the traditional genetic operators in the algorithm may become less effective as the population converges to a certain extent, rendering their performance negligible and potentially causing negative impacts by disrupting the superior individuals within the population.
(2)
The LNS has its limitations, primarily due to its high computational resource consumption, and it can be constrained by the complexity of the search space and limitations related to computational resources, especially when dealing with large-scale problems.
(3)
In scenarios in which certain objectives require higher priority, the standard NSGA-II may struggle to produce satisfactory solutions. In reality, most decision-makers face constraints due to limited resources and often establish priorities in multi-objective optimization. In such cases, optimizing the higher-priority objectives while also attempting to optimize the lower-priority objectives may yield results that are more valuable to decision-makers.
The research and contributions of this paper are as follows:
(1)
The model established in this paper is a variant of the VRPTW that simultaneously considers soft and fuzzy time windows. The variant improves upon the traditional VRPSTW and VRPFTW models, creating a more comprehensive and realistic model called the VRPSFTW model.
(2)
Considering the issues present in the related research, in this study, we address the VRPTW model by designing a Directed Mutation Genetic Algorithm (DGA) combined with a Large Neighborhood Search (LNS) algorithm (LDGA). This approach leverages the advantages of the genetic algorithm in the early stages while mitigating the slower convergence speed in the later stages, thereby improving the overall efficiency and accuracy of the algorithm, leading to better solution results.
(3)
For the multi-objective problem, this paper employs a two-stage solution approach, designing two sets of algorithms based on the principles of “cost priority” and “service-level priority”. It moves away from traditional swarm intelligence algorithms that use the optimal solution from the last generation as the final answer, instead defining a “historical optimal solution” variable that is continuously updated during iterations to seek Pareto solutions. Additionally, a population update operator is introduced to incorporate the “historical optimal solution” into the population.
(4)
The paper also optimizes the start service time by designing an operator to determine it.
(5)
The simulation results demonstrate that the proposed algorithms achieve notable solution performance.
The structure of the rest of this paper is as follows: Section 2 establishes a VRPSFTW model; Section 3 details the specific design of the LDGA and two-stage algorithm; Section 4 presents the relevant experimental results and their analysis; Section 5 concludes the paper and discusses future research directions.

2. Model Formulation

2.1. Problem Description

Currently, many delivery problems in real-world scenarios can be classified according to the VRPTW and its variants. The VRPTW is a classic, single-objective, combinatorial optimization problem, and the model established in this study is a variant of the VRPTW that simultaneously considers soft and fuzzy time windows, improving upon the traditional VRPSTW and VRPFTW models to create a model that better fits real-world scenarios.
The following assumptions are made for the model established in this study:
(1)
There is a distribution center and a set of customers;
(2)
The distribution center has a certain number of vehicles, all of which have the same loading capacity limit, driving speed, fixed costs, and unit transportation costs;
(3)
Each customer has a specific demand, location coordinates, a desired service time window, and a tolerable service time window;
(4)
The delivery vehicles depart from the distribution center, complete the delivery services in sequence, and then return to the distribution center;
(5)
The number of vehicles is sufficient to complete the delivery tasks, and the capacity of each vehicle is greater than the demand of a single customer, and the demand of a customer can be satisfied by a single vehicle;
(6)
Each customer must be served by exactly one vehicle according to a single delivery route plan;
(7)
If a vehicle arrives at customer i before their tolerable service time window, then it must wait, incurring waiting costs;
(8)
If the service time for customer i falls outside their desired service time window, then a penalty is applied;
(9)
The relationship between the time at which a vehicle starts serving customer i and the tolerable service time window, along with the demand of customer i, determine the service level provided to customer i.
The optimization objective of the problem is to determine the routes for each vehicle to meet the customer demand while minimizing the overall delivery cost and maximizing the overall service level.

2.2. Notations

2.2.1. Sets and Parameters

N : Number of customers;
K : Maximum number of vehicles;
m : Set of vehicle indexes, m = {1, 2, 3, …, K};
n : Set of customer indexes, n = {1, 2, 3, …, N}; index 0 represents the distribution center;
h ,   i ,   j : Node indices, where h ,   i ,   j { 0,1 , 2,3 , , N } ;
k : Vehicles indices, where k m ;
d i j : Distance from customer i to customer j;
d 0 i : Distance from the distribution center to customer i;
q i : Demand of customer i;
a i : Start time of the time window during which customer i wishes to receive service;
b i : End time of the time window during which customer i wishes to receive service;
A i : Start time of the time window in which customer i can tolerate receiving service;
B i : End time of the time window in which customer i can tolerate receiving service;
s i : Service time for customer i;
a 0 : Start time of the time window for the distribution center;
b 0 : End time of the time window for the distribution center;
P 1 : Penalty coefficient for violating time window constraint 1;
P 2 : Penalty coefficient for violating time window constraint 2;
P 3 : Penalty coefficient for violating time window constraint 3;
Q : Maximum load capacity for each vehicle;
F : Fixed cost for each vehicle;
v : Average travel speed of the vehicles;
p : Unit travel cost of vehicles;

2.2.2. Variables

t i k : Time when vehicle k arrives at customer i;
t 0 k : Time when vehicle k returns to the distribution center;
T i k : Time when vehicle k starts servicing customer i;
x i j k 1 ,   i f   v e h i c l e   k   t r a v e l s   f r o m   c u s t o m e r   i   t o   c u s t o m e r   j 0 ,                                                                                                                                 o t h e r w i s e
y i k 1 ,   i f   v e h i c l e   k   s e r v e s   c u s t o m e r   i 0 ,                                                               o t h e r w i s e                                                            

2.3. Formulation

2.3.1. Objective Function

The objective function of the model established in this paper includes two components: the cost function and the service-level function.
  • Cost Function
The cost function is composed of three parts: the fixed costs of the vehicles, the driving costs of the vehicles, and the penalty costs.
The fixed cost function for the vehicles is as follows:
f 1 = F k = 1 K i = 1 N x 0 i k
The driving cost function for the vehicles is as follows:
f 2 = p k = 1 K i = 0 N j = 0 N d i j x i j k
The time window in this study has the characteristics of both soft and fuzzy time windows. Customer i has a desired service time window [ a i , b i ] and a tolerable service time window [ A i , B i ] . Vehicles are allowed to serve customer i outside the interval [ a i , b i ] ; however, they will be penalized based on the extent of the deviation from this time window and the demand of customer i.
Additionally, when a vehicle arrives at customer i earlier than A i , it must wait until A i to begin the service. If vehicle k arrives at customer i at time t i k and starts serving customer i at time T i k , A i T i k , the vehicle waits from t i k to T i k , and the waiting cost during this period needs to be calculated.
Overall, it can be divided into the following situations:
  • If vehicle k arrives at customer i at time point t i k and t i k < T i k , then it must incur a corresponding waiting cost based on the duration of the waiting time and the penalty coefficient P 1 ;
  • If vehicle k starts serving customer i at time point T i k and T i k < a i , then a corresponding penalty cost must be incurred to compensate customer i, which is based on the extent of the early start time, the demand q i of customer i, and the penalty coefficient P 2 ;
  • If vehicle k starts serving customer i at time point T i k and T i k > b i , a corresponding penalty cost must be incurred to compensate customer i. This cost is based on the extent of the delayed start time, the demand q i of customer i, and the penalty coefficient P 3 ;
  • If vehicle k serves customer i at time point T i k within the interval [ a i , b i ] , then no penalty cost is incurred.
Additionally, when the vehicle returns to the distribution center and the arrival time ( t 0 ) is later than the end ( b 0 ) of the time window at the distribution center, a corresponding penalty cost must also be incurred.
The penalty function expression for violating the time window constraints is as follows:
f 3 = k = 1 K i = 1 N y i k { P 1 ( T i k t i k ) + q i × m a x [ P 2 ( a i T i k ) , P 3 ( T i k b i ) , 0 ] } + k = 1 K m a x [ P 3 ( t 0 k b 0 ) , 0 ]
where P 1 is the waiting cost coefficient for early arrival; P 2 is the penalty cost coefficient for starting services early; P 3 is the penalty cost coefficient for delaying the start of service.
2.
Service-level function
In the traditional VRPTW, the delivery plan must satisfy all customers’ desired service time windows. When customer i is served within their preferred time window [ a i , b i ] , the service level provided by the delivery party is deemed good; otherwise, it is considered poor. Thus, the service level of the delivery party can be represented using a binary variable. If the service time falls within the time window specified by customer i, then the service level for customer i is 1; otherwise, it is 0.
As mentioned earlier, the time windows studied in this paper have the characteristics of soft time windows, allowing vehicles to serve customers outside the time windows in which they wish to receive service. However, there are certain limits to the degree of time window violations that customers can tolerate. Several quantities were defined earlier to describe these limits: [ a i , b i ] represents the time window during which customer i wishes to receive service, while [ A i , B i ] denotes the time window in which customer i can tolerate receiving service, A i a i , b i B i .
Clearly, for customer i, the degree to which the time of service acceptance deviates from the two time windows is closely related to the service level of the delivery provider. The level of customer satisfaction in response to a given service time may not be simply classified as “good” or “bad” but may fall somewhere in between. For example, customer i might consider the service acceptable within the ranges [ A i , a i ] or [ b i , B i ] . In both cases, the service level cannot be simply described by 0 or 1. For issues involving personal feelings, fuzzy set theory is a useful tool. Many studies have applied fuzzy set theory [24,25]. In this context, the service level provided by the delivery provider to customer i can be described using a fuzzy membership function:
L i ( t ) = 0 ,                       t < A i             f ( t ) ,               A i t < a i           1 ,                     a i t < b i       g ( t ) ,               b i t < B i 0 ,                   B i t              
In this article, f ( t ) is a non-decreasing function, and g ( t ) is a non-increasing function.
The time window at this point is called a fuzzy time window. In the simplest version of the fuzzy time window, f ( t ) and g ( t ) take linear forms:
f ( t ) = t A i a i A i
g ( t ) = B i t B i b i
Tang et al. argue that it is unwise for the delivery provider to develop a service plan that is “too early” or “too late” for customers, as this may undermine the strength of the customer relationships and lead to profit losses in the long run. Their approach involves setting a value ( l i ) for each customer, referred to as the minimum service level, which represents the minimum service level required to satisfy customer i. To reduce operational costs and meet customer demand, suppliers must determine the routes for each vehicle without violating the constraints of the minimum service level. Therefore, a key issue studied in the process of establishing the VRPFTW model by Tang et al. is how to determine the minimum service level to ensure that all customers are satisfied.
However, the reality is that it is challenging for delivery providers to meet a minimum service level for all customers because they operate with limited resources. Some customers may be located in remote areas and have relatively low demands, and meeting the minimum service level for these customers may consume a disproportionate amount of resources without yielding significant benefits. In fact, this could prevent the provider from meeting the minimum service levels of other customers with higher demand, which is clearly counterproductive. Even without considering the cost–benefit ratio, satisfying the minimum service level for all customers under resource constraints may exceed the delivery provider’s capabilities.
In addition, the objective function of the VRPFTW model established by Tang et al. consists of two parts: the total travel distance function and the total service-level function. The value of the latter is the sum of the fuzzy membership function values of the service levels for all the customers, as follows:
m a x   i = 1 n L i k = 1 K y i k T i k
According to the previous analysis, the establishment of this objective function does not adequately reflect real-world scenarios and has room for further improvement. As mentioned earlier, delivery providers generally have limited resources, and ensuring revenue with these limited resources is a primary concern for most of them. The factor closely related to revenue is “demand”. Even without considering revenue, if the aim is solely to fulfill the delivery function and meet social delivery needs, the focus should be on how much “demand” is satisfied rather than on the number of customers served. Therefore, the calculation of the overall service level should take into account the service level weights of different customers, which can be represented by their demand, as follows:
m a x   i = 1 n q i L i k = 1 K y i k T i k
3.
Objective Function Establishment
m i n   ( f 1 + f 2 + f 3 )
m a x   i = 1 n q i L i k = 1 K y i k T i k

2.3.2. Constraints

i = 1 N q i y i k Q , k m
k = 1 K i = 1 N x 0 i k K
k = 1 K y i k = 1 , i n
k = 1 K i = 0 N x i j k = 1 , j n
i = 1 N x i j k = y j k , j n , k m
i = 1 N x 0 i k = j = 1 N x j 0 k 1 , k m
i = 0 N x i j k = h = 0 N x j h k , j n , k m , i h
t i k + s i + d i j v M 1 ( 1 x i j k ) + t j k , j n , k m
t i k M 2 ( 1 y i k ) + T i k , i n , k m
A i M 3 ( 1 y i k ) + T i k , i n , k m
x i j k { 0 ,   1 } , i n , j n , k m
y i k { 0 ,   1 } , i n , k m
t i k 0 , i n , k m
T i k 0 , i n , k m
Equations (9) and (10) are the two objectives of the VRPSFTW. Constraint (11) is the vehicle loading capacity constraint. Constraint (12) ensures that the number of vehicles used does not exceed the maximum permitted number of vehicles. Constraint (13) ensures that each customer receives service and can only be served by one vehicle. Constraint (14) indicates that each customer is served by the vehicle only once. Constraint (15) indicates that each customer is only served by the vehicle traveling to it. Constraint (16) indicates that each vehicle on each distribution route leaves and returns to the distribution center only once. Constraint (17) is a flow conservation constraint, indicating that each vehicle must leave a customer point after arriving at that point. Constraint (18) is a recursive inequality relating the arrival time t j k of vehicle k at customer j to the arrival time t i k of vehicle k at the location of the previous customer i. Here, M 1 is a sufficiently large number. Constraints (19) and (20) express the relationship between the time T i k when vehicle k begins serving customer i and the time of arrival t i k at the location of customer i. When t i k < A i , the vehicle must wait until they are within the time window in which the customer can tolerate receiving service. Here, M 2 and M 3 are two sufficiently large numbers; (21) to (24) indicate the constraints on the values of the relevant variables.

3. Algorithm Design

The VRPSFTW model established in this paper is a multi-objective programming model that is an extension of the VRPTW problem. The VRPTW is an NP-hard problem, and its search space grows exponentially with the increase in the problem size. Therefore, traditional exact algorithms often require significant computational resources and time to solve the VRPTW, making them both difficult and impractical. In this context, heuristic algorithms have become an effective approach for solving the VRPTW.
The Genetic Algorithm (GA) is a commonly used heuristic algorithm. When solving complex problems such as the VRPTW, genetic algorithms can usually find better solutions, but their search efficiencies vary at different stages. In the early stages of genetic algorithms, there are significant differences among the individuals in the population due to the vast search space and large diversity. Therefore, operations such as selection, crossover, and mutation can rapidly and effectively explore the solution space to obtain better solutions. Hence, the early-stage efficiency of genetic algorithms is relatively high. However, as the search progresses, the individuals in the population gradually become similar, reducing the diversity, and the rate of fitness improvement slows down. Consequently, the search efficiency of genetic algorithms decreases. The continuation of traditional non-directed mutation operations at this point may no longer be useful to the search for better solutions and may even have negative effects due to the lack of clear direction and the excessive randomness. Therefore, this paper proposes a Directed Mutation Genetic Algorithm (DGA) combined with Large Neighborhood Search (LNS) algorithm (LDGA). It fully utilizes the advantages of genetic algorithms in the early stages and compensates for the weaknesses of the crossover and mutation operators in the later stages. This enhancement improves the search capability in the later stages, thereby enhancing the overall efficiency and accuracy of the algorithm and ultimately achieving better solution results.
For the VRPTW with hard time windows, the time T i k at which vehicle k starts servicing customer i is not a decision variable because when vehicle k arrives at customer point i earlier than a i , it must wait until time a i to begin service; when vehicle k arrives at customer point i within [ a i , b i ] , it can start service immediately; and vehicle k is not allowed to arrive at customer point i later than b i . The VRPTW with hard time windows has only one objective function, which is to minimize the total distance traveled by the vehicle, which is independent of T i k .
For the VRPSTW, when vehicle k arrives at customer i earlier than time a i , it can start service early, but incurs a certain penalty cost. The exact timing of the early start to the service will affect the total cost objective function value, and thus optimization is necessary. For the VRPFTW, there is a tolerable start time ( A i ) ( A i a i ) for customer i, and the vehicle can start service at any point in the range [ A i , a i ] . The specific timing of the service start will impact the total service level objective function value; thus, this also requires optimization.
However, as we understand it, in most of the current studies that employ heuristic algorithms to solve the VRPSTW or VRPFTW, researchers do not discuss the optimization of the starting service time, which they often assume is the same as the arrival time, or when the arrival time is earlier than A i , the starting time is set to be delayed until A i and after that, the service starts immediately. In this study, we optimized the start of the service time and designed an operator to determine it.
To address the multi-objective problem, this paper adopts a two-stage solution approach and discards the traditional method of using the optimal solution from the final generation of the population as the final solution in swarm intelligence algorithms. Instead, it defines a “historical optimal solution” variable and designs an algorithm that continuously updates this variable during the iteration process to seek Pareto solutions. Additionally, an updating operator for the population is designed to incorporate the “historical optimal solution”, resulting in excellent solving performance.
This paper designs two sets of algorithms to solve the VRPSFTW based on the principles of “cost priority” and “service-level priority”, respectively.
The general concept of the algorithm designed in this paper is illustrated in Figure 1.

3.1. Directed Mutation Genetic Algorithm

Below is a detailed introduction to the algorithm, including its chromosome encoding, initial population construction, fitness evaluation, chromosome selection, crossover, traditional mutation, and directed mutation.

3.1.1. Chromosome Encoding

In genetic algorithms, chromosome encoding is a way to represent the solutions to a problem as chromosomes. Each chromosome represents an individual (that is, a feasible solution). A chromosome is composed of a set of genes, and the population consists of a set of chromosomes.
The coding method adopted in this study treats the customer index numbers as the elements that constitute individuals (1, 2, 3, …, N), using a sequence of arranged customer index numbers to represent the customers served by a vehicle in order. The paths of all the vehicles in an overall delivery plan are concatenated to form a single individual code, and the index numbers of all the available vehicles are increased by N, resulting in a set, z = {1 + N, 2 + N, 3 + N, …, K + N}. The elements of set z are inserted sequentially between every two vehicle paths to indicate the vehicles’ return to the distribution center and to facilitate the distinction between different vehicle paths. If the length of the individual code has not reached N + K − 1, then elements from set z that have not been inserted between the two vehicle paths will continue to be added to the end of the code. When the length of the individual code reaches N + K − 1, the addition will stop.
For example, if the number of customers is 6, the customer index numbers are 1, 2, 3, 4, 5, 6, the maximum number of vehicles is 4, and the vehicle index numbers are 1, 2, 3, 4, then z = {1 + 6, 2 + 6, 3 + 6, 4 + 6} = {7, 8, 9, 10}. A feasible individual encoding can be represented as 127348569, where 7 and 8 indicate that a vehicle has completed its delivery and returned to the depot. The encoding is divided into three parts corresponding to the delivery routes of three vehicles, with 0 representing the depot, as follows:
0→1→2→0,
0→3→4→0,
0→5→6→0.
Because 9 is not inserted between the two vehicle paths, it is added to the end of the three routes. At this point, the length of the individual encoding has reached N + K − 1; thus, 10 is no longer added.

3.1.2. Initial Population Construction

In the genetic algorithm, the construction of the initial population directly impacts the convergence speed of the algorithm and its final optimization results. A good initial population can help the algorithm quickly find the global optimal solution, while a poor initial population is more likely to cause the algorithm to converge to a local optimal solution, or even fail to converge at all.
If the individuals in the initial population are somewhat close to the optimal solution, this will be more favorable for accelerating the convergence process. Therefore, the initial population construction method used in this study differs from the commonly used completely random construction. Instead, a heuristic method is employed, utilizing time window and vehicle load constraints to construct an initial population that satisfies these constraints as much as possible. The method is as follows:
Randomly generate a sequence S that can traverse all customers, where each element S [ i ] represents the customer index (i {1, 2, 3, …, N}). Traverse each customer according to sequence S and add them to the paths. The specific principles are as follows:
  • Initialize a path, with the load of goods currently loaded by the vehicle on this path set as l = 0 ;
  • The current customer index being traversed is S [ i ] , the corresponding customer demand is q , and the maximum load capacity of each vehicle is Q ;
  • Determine whether inserting this customer into the current path satisfies the load constraint;
  • When l + q Q , compare the start time ( a ) of the service window to find a suitable position to add the customer to the current path, for which there are three possible cases:
    • If the current path is empty, then simply add the customer to it;
    • If there is only one customer ( S [ i 1 ] ) in the current path, compare the start time of the service windows ( a S [ i ] and a S [ i 1 ] ):
      a)
      If a S [ i ] is earlier than the start time of customer S [ i 1 ] ’s service window ( a S [ i 1 ] ), then insert customer S [ i ] before S [ i 1 ] ;
      b)
      If a S [ i ] is later than the start time of customer S [ i 1 ] ’s service window ( a S [ i 1 ] ), then insert customer S [ i ] after S [ i 1 ] ;
    • If there are multiple customers in the current path, then traverse their start times of their service windows:
      a)
      If a S [ i ] is earlier than the start time of the first customer in the path, then insert customer S [ i ] at the beginning;
      b)
      If the interval between the start times of two adjacent customers in the path can accommodate a S [ i ] , then insert customer S [ i ] between them;
      c)
      If a S [ i ] is later than the start time of the last customer in the path, then insert customer S [ i ] at the end;
  • When l + q Q , create a new path and insert customer S [ i ] into it;
  • Following the above steps, traverse from customer S [ 1 ] to S [ n ] to generate an initial solution;
  • Repeat the above steps until initial solutions that meet the population size are generated.

3.1.3. Fitness Evaluation

In the “cost priority” algorithm, the fitness is the inverse of the cost function value, as follows:
F i t n e s s = 1 f 1 + f 2 + f 3
In the “service-level priority” algorithm, the fitness is the overall service-level function value, as follows:
F i t n e s s = i = 1 n q i L i ( k = 1 K y i k T i k )
The fitness defined in this paper is primarily used for optimizing the solution of the first-priority objective in the first stage of a two-stage algorithm. The specific details of the two stages will be explained in more detail later.

3.1.4. Chromosome Selection

The roulette wheel selection method is employed in this study. In the genetic algorithm, roulette wheel selection is a commonly used selection strategy. Its basic idea is similar to selecting individuals on a rotating wheel, where the probability of each individual being selected is proportional to its fitness value. The advantage of this method is that it effectively preserves individuals with higher fitness, granting them a greater chance of survival, while it also considers individuals with lower fitness, thereby reducing the likelihood of falling into local optima to some extent.

3.1.5. Crossover

The crossover operator in the genetic algorithm simulates the gene exchange process in biological reproduction and evolution. Through the crossover operator, information between different individuals can be exchanged, resulting in new individuals. Specifically, the crossover operator exchanges part of the chromosome information (gene sequences) between two parent individuals to produce new offspring individuals. This way, there is a chance to combine the excellent characteristics of different individuals, resulting in better offspring.
The crossover method employed in this study is as follows: If two individuals, A and B, undergo a crossover operation, two crossover points are randomly selected, and the chromosome segments between these points form the crossover interval. The elements within the crossover interval are separately placed in front of the other individuals, resulting in new individuals, A’ and B’. Then, the new individuals are traversed from front to back for processing purposes; if duplicate elements are encountered, the second element is removed, leaving only the first one, which ensures that each element appears only once. Once these operations are complete, the crossover operation for individuals A and B is finished.

3.1.6. Traditional Mutation

The traditional mutation operation used in this study involves randomly selecting two genes on a chromosome and exchanging their positions.

3.1.7. Directed Mutation

This paper designs a directed mutation operator based on the traditional mutation operator, and the specific operation is as follows:
  • Firstly, create a duplicate (b) of chromosome a.
  • Perform the traditional mutation operation on duplicate b, generating b’.
  • Compare the fitness levels of a and b’. If the fitness of b’ is better than that of a, replace a with b’; otherwise, retain a.
Unlike traditional mutation, the mutation rate of the directed mutation operator should be set higher. In this paper, it is set to 100%, meaning that all the individuals selected by the selection operator participate in the directed mutation.

3.2. Large Neighborhood Search

Large Neighborhood Search (LNS) is a heuristic search algorithm that is primarily used to solve combinatorial optimization problems (COPs). LNS explores the solution space by destroying and repairing parts of a solution, aiming to find better solutions.
The algorithm used in this study primarily applies the concept of destruction and repair from the LNS algorithm. Specifically, it involves removing a portion of the customers from the path and then re-inserting them.

3.2.1. Removal Operator

  • Randomly select a customer from the path and remove it, then place it in the set μ.
  • Randomly select a customer c from set μ.
  • Calculate the relevance between the remaining customers in the path and customer c, then arrange these customers in temporary set α in descending order of their relevance to customer c. The function used to calculate the relevance is as follows:
    R ( i , j ) = 1 d i j + D i j
    where d i j represents the normalized value of d i j , with a range of [0, 1]. D i j represents whether i and j are on the same vehicle’s delivery route. If they are, D i j = 0; otherwise, D i j = 1.
  • In order to avoid a situation wherein similar sets of visits are constantly selected based on relevance alone, a random element is added:
    R e m o v e I n d e x = R e m a i n × r a n d P
    where RemoveIndex represents the index of the next customer to be removed in set α; Remain represents the number of customers in set α; Rand represents a random number between 0 and 1; and P is the parameter controlling the determinism. When P = 1, relevance is ignored, and customers are randomly selected for removal from set α. When P = ∞, it approaches selecting the customer in set α with the highest rank (i.e., the customer most relevant to customer c) for removal.
  • The removed customers are stored in set μ.
  • Repeat steps B to E until the desired number of removed customers is met.

3.2.2. Re-Insertion Operator

The approach combines the farthest insertion heuristic with branch and bound.
  • Take out an element from set μ, which is composed of removed customers.
  • Find all the insertion points where inserting the element into the route satisfies the vehicle load constraint. If no such points exist, then create a new route and place the element into it.
  • Calculate the increase in the distance that each feasible insertion scheme for the customer would bring to the total route, and identify the smallest increase in the distance among them.
  • Perform the above operations for each element in the set μ. Find the element with the maximum “minimum distance increment” and insert it into the path according to the scheme with the smallest distance increment. Then, remove this element from the set μ.
  • Repeat steps A to D until all the elements in the set μ are re-inserted into the route.

3.2.3. Acceptance Criterion

If the fitness value of the new solution is greater than that of the solution before the destruction and repair process, then accept the new solution as the current solution.

3.3. Directed Mutation Genetic Algorithm Combined with Large Neighborhood Search

To address the issue of high efficiency in the early stages but low efficiency in the later stages of the genetic algorithm, this paper proposes an algorithm that fully leverages the advantages of the genetic algorithm in the early stages while enhancing the search capability in the later stages. The specific combination approach of the algorithm is outlined as follows:
  • In the early stage of the algorithm, only the traditional operations of the genetic algorithm are performed, adopting traditional mutation;
  • When the algorithm iterates to the g-th generation, the population converges to a certain extent, and the speed of exploring the optimal solution slows down. At this point, directed mutation begins to replace traditional mutation;
  • At the same time, a large neighborhood search removal operator and a re-insertion operator are added after the directed mutation operator;
  • Starting from the g-th generation, the removal and re-insertion operations are performed every f generations. Finally, the removal and re-insertion operations are performed in every generation of the last h generations.
The parameters g, f, and h need to be reasonably set according to specific circumstances. The main consideration is the complexity of the problem, and the main factors that affect it are the number of points and their degree of clustering. If the problem is not very complex and requires fewer iterations to converge the population to a certain level, then g and f can be set smaller. If the problem is very complex, with a huge solution space, and requires more iterations to ensure that the algorithm has enough opportunities to explore the solution space, then g should correspondingly be set larger. It is an empirical summary that for datasets with around 100 points, when the number of iterations G is large (several thousand generations), balancing computational efficiency and effectiveness can be achieved by satisfying the following constraint:
20 G g f + h 150
This constraint actually limits the number of executions of the removal and re-insertion operators used in the LDGA for solving datasets containing approximately 100 points. The reason is that these operators are effective but require a long execution time. When the number of executions is less than 20, their effectiveness is not fully realized and when the number of executions exceeds 150, the execution time becomes excessively long, and the marginal benefits decrease significantly in the later stages. Therefore, based on the experience gained from our experiments, we recommend limiting the number of executions to the range of [20, 150].

3.4. Operator for Determining the Start of the Service Time

According to the encoding method adopted in this study, a chromosome represents a delivery plan that can be decoded into multiple vehicle delivery routes. In this study, the planning of the start service time is carried out for each distribution route.
t i k represents the arrival time of vehicle k at customer i, and T i k represents the time at which vehicle k starts serving customer i. r o u t e ( i ) represents the index of the i-th customer in the path among all the customers, where a r o u t e ( i ) is the desired start time of the service window for that customer, and A r o u t e ( i ) is the acceptable start time of the service window that the customer can tolerate.
In the “cost priority” algorithm, the method for determining the start service time is as follows:
  • Starting from the first customer served by vehicle k, calculate the arrival time ( t r o u t e ( i ) k ) of vehicle k at that customer;
  • If t r o u t e ( i ) k < a r o u t e ( i ) , then execute the following operations:
    • Calculate the compensation cost of providing service to the customer in advance by one unit of time B C = P 2 q r o u t e ( i ) , where q r o u t e ( i ) represents the demand of the i-th customer in that route;
    • P 1 is the waiting cost per unit time. Determine the relationship between P 1 and B C :
      a)
      If P 1 B C , then T r o u t e ( i ) k = a r o u t e ( i ) ;
      b)
      If P 1 > B C , then determine which value is larger or smaller between t r o u t e ( i ) k and A r o u t e ( i ) :
      • If t r o u t e ( i ) k A r o u t e ( i ) , then T r o u t e ( i ) k = A r o u t e ( i ) ;
      • If t r o u t e ( i ) k > A r o u t e ( i ) , then T r o u t e ( i ) k = t r o u t e ( i ) k .
  • If t r o u t e ( i ) k a r o u t e ( i ) , then T r o u t e ( i ) k = t r o u t e ( i ) k .
  • Repeat the process from A to C until all customers served by vehicle k have been traversed.
The idea behind the above operator is visually demonstrated in Figure 2.
In the “service-level priority” algorithm, the method for determining the start service time is as follows:
  • Starting from the first customer served by vehicle k, calculate the arrival time ( t r o u t e ( i ) k ) of vehicle k at the location of that customer;
  • If t r o u t e ( i ) k < a r o u t e ( i ) , then T r o u t e ( i ) k = a r o u t e ( i ) ;
  • If t r o u t e ( i ) k a r o u t e ( i ) , then T r o u t e ( i ) k = t r o u t e ( i ) k ;
  • Repeat the process from A to C until all customers served by vehicle k have been traversed.
The idea behind the above operator is visually demonstrated in Figure 3.

3.5. Update Historical Optimal Solution Operator

The previous operations mainly utilized the fitness function to screen and accept new solutions. In our algorithm, the “fitness function” is defined as “the objective function prioritized for optimization within the multi-objective function”. Therefore, the main role of the various operators in the preceding stage is to complete the optimization of the first phase in the two-stage algorithm. Updating the historical optimal solution is the core operation of the second stage of the two-stage algorithm and a key step in seeking Pareto solutions. This paper describes the specific operations of this operator in the two algorithms: “cost priority” and “service-level priority”.
The premise for updating the historical optimal solution is that a historical optimal solution is currently available. The operation for initializing the historical optimal solution follows immediately after the population initialization and before the iterative optimization. Taking “cost priority” as an example, it is first necessary to filter out the subset C 1 of individuals in the initial population with the minimum total cost. Then, from C 1 , the subset C 2 with the highest overall service level should be selected. Finally, we randomly choose one individual from C 2 as the initial historical optimal solution. The “service-level priority” follows a similar approach: It is first necessary to filter out the subset of individuals with the highest overall service level. Then, from this subset, those with the minimum total cost should be selected. Finally, we randomly choose one individual from this group as the initial historical optimal solution.
In the “cost priority” algorithm, the method for updating the historical optimal solution is as follows:
  • Calculate the cost function value of the current historical optimal solution ( B C ) and the overall service-level function value of the current historical optimal solution ( B S L );
  • Select the individuals with the minimum cost function values from the current population to form the set Z 1 , and let their cost function values be m i n C ;
  • If m i n C B C :
    • If m i n C = B C :
      a)
      Select all individuals from Z 1 with an overall service level greater than B S L to form the set Z 2 ;
      b)
      If Z 2 is non-empty:
      • Calculate the difference between the overall service level of each individual in set Z 2 and B S L , and identify all individuals with the largest difference to form the set Z 3 ;
      • Select any individual from set Z 3 as the new historical optimal solution;
      c)
      If Z 2 is empty, then retain the current historical optimal solution;
    • If m i n C < B C :
      a)
      Select any individual from set Z 1 to temporarily replace the historical optimal solution;
      b)
      Calculate the cost function value of the current historical optimal solution ( B C ) and the overall service-level function value of the current historical optimal solution ( B S L );
      c)
      Select all individuals from Z 1 with an overall service level greater than B S L to form the set Z 2 ;
      d)
      If Z 2 is non-empty, complete the following steps:
      • Calculate the difference between the overall service level of each individual in set Z 2 and B S L , and identify the individual with the largest difference to form the set Z 3 ;
      • Select any individual from set Z 3 as the new historical optimal solution;
      e)
      If Z 2 is empty, then retain the current historical optimal solution;
  • If m i n C > B C , then retain the current historical optimal solution.
In the “service-level priority” algorithm, the method for updating the historical optimal solution is as follows:
  • Calculate the cost function value of the current historical optimal solution ( B C ) and the overall service-level function value of the current historical optimal solution ( B S L );
  • Select the individuals with the maximum overall service-level function values from the current population to form the set Z 1 , and let their overall service-level function values be m a x S L ;
  • If m a x S L B S L :
    • If m a x S L = B S L :
      a)
      Select all individuals from set Z 1 with cost function values less than B C to form the set Z 2 ;
      b)
      If Z 2 is non-empty, complete the following steps:
      • Calculate the difference between B C and the cost function value of each individual in set Z 2 and identify all individuals with the largest difference to form the set Z 3 ;
      • Select any individual from set Z 3 as the new historical optimal solution;
      c)
      If Z 2 is empty, then retain the current historical optimal solution.
    • If m a x S L > B S L :
      a)
      Select any individual from set Z 1 to temporarily replace the historical optimal solution;
      b)
      Calculate the cost function value of the current historical optimal solution ( B C ) and the overall service-level function value of the current historical optimal solution ( B S L );
      c)
      Select all individuals from set Z 1 whose cost function value is less than B C to form set Z 2 ;
      d)
      If Z 2 is non-empty, complete the following steps:
      • Calculate the difference between B C and the cost function value of each individual in set Z 2 and identify all individuals with the largest difference to form set Z 3 ;
      • Select any individual from set Z 3 as the new historical optimal solution;
      e)
      If Z 2 is empty, then retain the current historical optimal solution.
  • If m a x S L < B S L , then retain the current historical optimal solution.

3.6. Update Population Operator

In order to fully leverage the value of the superior individuals generated during the iteration process while ensuring the diversity of the population and avoiding local optimal solutions, the new population is composed of three parts: the current historical optimal solution, the new set of individuals generated during this iteration from the individuals selected by the selection operator, and a portion of the population from before this iteration. Firstly, the first two sets are added to the new population. Then, the individuals from the previous population are sorted in descending order based on their fitness values. Finally, a batch of individuals is selected from the sorted list and added to the new population until the number of individuals in the new population meets the specified criteria.

3.7. Two-Stage Algorithm

The first phase of the two-stage algorithm is primarily based on the Directed Mutation Genetic Algorithm combined with Large Neighborhood Search (LDGA), while the second phase focuses on the operator for updating the historical optimal solution.
Figure 4 presents a flowchart of the algorithm.

4. Experimental Results and Comparisons

4.1. Datasets Selection

To validate the effectiveness of our improved algorithm, this paper selected the classic Solomon benchmark test datasets for testing [26], and the relevant datasets can be accessed from “https://www.bernabe.dorronsoro.es/vrp/” accessed on 1 October 2024. Taking the first ten customer points and the depot from the C101 dataset as an example, Table 1 shows the structure of the Solomon datasets.
The Solomon datasets can be divided into six categories: R1, C1, RC1, R2, C2, and RC2. In the R-class datasets, the coordinates of the nodes are randomly generated and relatively dispersed. In the C-class datasets, the coordinates form multiple clusters. In the RC-class datasets, the nodes are both random and clustered. Additionally, in the R1, C1, and RC1 datasets, the time intervals of each node’s time window are significantly smaller than those in the R2, C2, and RC2 datasets. This paper considered various scenarios and selected six representative datasets for testing and further development, as shown in Table 2.
To solve the problem model established in this paper, we expanded and constructed a set of datasets suitable for the VRPSFTW based on these six datasets, which were then used for the case testing. The classic Solomon benchmark test dataset does not include the [ A i , B i ] values for customers. Therefore, this paper attempted to construct the [ A i , B i ] values for each customer using the following formulas:
A i = a i 0.2 × r a n d × a i
B i = b i + 0.2 × r a n d × b i
where r a n d is a random number between 0 and 1. This is because if the weights are directly set as random numbers between 0 and 1, the resulting distribution may deviate too much, which does not align well with real-world delivery scenarios. Therefore, we chose to set the weights as random numbers between 0 and 0.2.
Table 3 shows the structure of the Extended Solomon dataset using the first ten customer points and the depot from the Extended C101 dataset as an example.
In Section 4.2 and Section 4.3, this paper uses six datasets from the Solomon benchmark set to validate the effectiveness and superiority of the DGA and LDGA. The Solomon dataset is a typical set of test instances for the VRPTW and its variants and, to date, many studies have used these datasets for testing, making them a standard benchmark for related problems. Moreover, the six datasets we selected, which include R1, C1, RC1, R2, C2, and RC2, cover all the different types of instances with various characteristics in the Solomon dataset.
In Section 4.4, this paper uses a case study from Reference [27], which has been adopted in multiple studies. This case is well structured and corresponds to a typical multi-objective problem. We use this case to test the two-stage algorithm proposed in this paper to verify its effectiveness and superiority in solving multi-objective problems.

4.2. Effectiveness Validation of Directed Mutation

To verify the effectiveness of the directed mutation operator in solving the VRPTW, this paper compared the Directed Mutation Genetic Algorithm (DGA) to the Standard Genetic Algorithm (SGA). The Solomon benchmark datasets were used for testing.
In the C-class datasets, the coordinates form multiple clusters; in the R-class datasets, the coordinates of the nodes are randomly generated and relatively dispersed; and in the RC-class datasets, the nodes are both random and clustered. Therefore, for the C-class datasets, the population can converge to a satisfactory level with relatively fewer generations, and for the R- and RC-class datasets, more generations are required to achieve convergence at a satisfactory level. A large number of experiments were conducted in this study to better set the number of iterations. Due to the paper’s length, this paper presents only the convergence curves of two representative datasets, as shown in Figure 5.
As shown in Figure 5, the C208 convergence curve shows little change when the number of iterations reaches 3000, and in our experiments, the other C-class datasets exhibited similar behavior. The RC208 convergence curve still decreases after 3000 iterations, stabilizing around 4000 generations. Similarly, the other R-class and RC-class datasets in our experiments exhibit the same pattern. Therefore, for the C-class datasets, the number of iterations was set to 3000, and for the R- and RC-classes, it was set to 4000. The algorithm with the directed mutation operator replaced traditional mutation with directed mutation starting from the 2000th generation until the end of the iterations. The population size was 100, the generation gap (the proportion of individuals selected by the selection operator relative to the total number of individuals in the population) was 0.9, the crossover probability was 0.9, and the directed mutation probability was 1. Through extensive research, we found that the mutation rates are typically set within the range of 0.01 to 0.2 and should not be too high or too low. We conducted numerous experiments, starting with a mutation rate of 0.01 and increasing it by 0.005 each time until we reached 0.2, testing each mutation rate 10 times. We selected the best-performing mutation rate, 0.05, as the traditional mutation probability. Each algorithm was run 10 times for each dataset to ensure the reliability of the experimental data, and the experimental results are shown in Table 4.
The formula for calculating the relative error is as follows:
R e l a t i v e   E r r o r = A v e r a g e   V a l u e B e s t   K n o w n   D i s t a n c e B e s t   K n o w n   D i s t a n c e
The average computation time per generation of the SGA is 0.1254 s. For the C-class datasets, the DGA runs for 3000 generations, with an average computation time of 0.1265 s per generation. For the R- and RC-class datasets, the DGA runs for 4000 generations, with an average computation time of 0.1560 s per generation.
According to the experimental results for the six representative datasets, the results of the DGA in terms of the mean, minimum, relative error, and variance are superior to those of the SGA, proving the effectiveness of the directed mutation operator and the superiority of the DGA.

4.3. Comparison of LDGA with Other Algorithms

To validate the effectiveness and superiority of the Directed Mutation Genetic Algorithm combined with Large Neighborhood Search (LDGA) for solving the VRPTW, it was compared against recently published representative algorithms, including the hybrid swarm intelligence algorithm which was created by hybridizing Ant Colony System and Brain Storm Optimization algorithm (BSO), the Multi-Objective Large Neighborhood Search algorithm (MOLNS), and Neighborhood Comprehensive Learning Particle Swarm Optimization (N-CLPSO). For the C-class datasets, this paper sets the number of iterations for the LDGA to 3000. Starting from the 2000th generation, this paper performs removal and re-insertion operations every 100 generations, with the final 10 generations executing these operations in every iteration. For the R- and RC-class datasets, this paper sets the number of iterations for the LDGA to 4000. Starting from the 2000th generation, this paper performs removal and re-insertion operations every 50 generations, with the final 100 generations executing these operations in every iteration. In the removal operator, the parameter controlling the determinism ( P ) is set to 15, and the number of customers to be removed is set to 15. Other parameters are set as described in Section 4.2. The experimental results are shown in Table 5.
According to Table 5, the LDGA achieved better results than the other algorithms in four out of the six datasets tested. Additionally, the LDGA achieved results consistent with the best-known distance in the C-class datasets and even surpassed the best-known distance in the R- and RC-class datasets. In conclusion, the experimental results demonstrate the superiority of the LDGA in exploring the solution space.
The vehicle transport route solutions for the six instances computed using the LDGA are shown in Figure 6.

4.4. Comparison of the Two-Stage Algorithm with NSGA-II

To validate the effectiveness and superiority of the two-stage algorithm proposed in this paper for solving multi-objective problems, this section conducted simulation experiments using the test cases from Reference [27] and compared the results with the popular NSGA-II. The specific details of the cases are as follows: A single distribution center serves multiple customers, with the center located at the central position relative to all the customers, numbered as 0, and the customer distribution is radial. All the delivery vehicles are of the same specifications, with a maximum load capacity of 8 tons, an average speed of 40 km/h, a fixed vehicle cost of CNY 100, and a travel cost of CNY 2 per kilometer. The waiting cost is CNY 10 per hour, and the penalty cost is CNY 40 per hour. Table 6 shows a portion of the customer information.
The parameter settings are as follows: the population size is 100, the generation gap is 0.9, the crossover probability is 0.9, and the traditional mutation probability is 0.05. Starting from the 2000th generation, directed mutation replaces traditional mutation with a probability of 1. A removal and re-insertion operation is performed every 50 generations, and in the last 100 generations, this operation is executed in each generation. In the removal operator, the deterministic parameter is set to P = 15 , and the number of customers to be removed is set to 15. The problem model and relevant parameters are consistent with those in Reference [27]. The aims of the objective functions in this reference are to minimize the total cost and maximize the average customer satisfaction. The satisfaction of a single customer ranges within [0, 1], and the average customer satisfaction function is the geometric mean of the satisfaction levels of all the customers, with a maximum value of 1. The experimental results are shown in Table 7.
The experimental results indicate that for this multi-objective problem, the two-stage algorithm proposed in this paper significantly outperforms the NSGA-II in terms of the best, average, and worst values, as well as in terms of the standard deviation of the minimum cost and maximum satisfaction. This demonstrates that our algorithm has a clear advantage in handling priority objectives. In situations with limited resources and clearly defined priority goals, the algorithm can effectively address the key objectives while optimizing the secondary objectives to the best of its ability. This mechanism makes the algorithm more aligned with the demands of practical applications.
The two transportation route schemes calculated using the two-stage algorithm for this case are shown in Figure 7.

4.5. Results of the Two-Stage Algorithm for Solving the VRPSFTW

This paper considers real-world scenarios and integrates improvements to the VRPSTW and VRPFTW, establishing a multi-objective vehicle routing problem model known as the VRPSFTW, which incorporates soft and fuzzy time windows. This section will apply the two-stage algorithm designed in this study to solve this problem. A simulation experiment is conducted using the Solomon datasets extended in Section 4.1.
The model parameter settings are shown in Table 8.
The maximum number of vehicles and the maximum load capacity per vehicle are as specified in Table 2, and the algorithm parameters are the same as those in Section 4.4.
The results of the two-stage algorithm for solving the VRPSFTW are shown in Table 9.
This paper obtained two sets of results using two algorithms designed based on the “cost priority” and “service-level priority” principles. For the same case, the final results from the “cost priority” algorithm showed significantly lower costs compared to those of the “service-level priority” algorithm, while also optimizing the service levels to some extent. In this approach, the service quality is not neglected in the pursuit of the lowest cost. Conversely, the final results from the “service-level priority” algorithm demonstrated significantly higher service levels than those obtained from the “cost priority” algorithm, while also achieving some degree of cost optimization. This helps prevent resource wastage that could arise from focusing solely on service level maximization without considering cost control. Decision-makers can flexibly choose a solution strategy based on their actual needs to better achieve their objectives.
The transportation route schemes obtained from solving three of these cases using the two-stage algorithm are shown in Figure 8.
The cost priority algorithm solving the Extended C101 is used as an example to illustrate the operation of our algorithm. Figure 9 shows the iterative evolution of the two objective function values.
As can be seen from Figure 9, under the cost priority strategy, the total cost function continuously decreases during the iteration process, while the total service-level function fluctuates within a small range but shows an overall increasing trend. This indicates that both objective functions have been effectively optimized during the iteration process.
Finally, Figure 10 displays the scatter plot of the two objective functions.
As shown in Figure 10, the cost decreases while the service level increases during the iteration process, which means that both objective functions have been optimized during the iteration process, demonstrating the effectiveness of the two-stage algorithm designed in this study for solving the VRPSFTW.
Due to the paper’s length, this paper presents only a selection of these representative datasets; however, we also tested other datasets, including numerous VRPTW-related cases from the website “https://www.bernabe.dorronsoro.es/vrp/” accessed on 1 October 2024, and the algorithms proposed in this paper also demonstrated excellent performances in solving these cases.

5. Conclusions

This paper established a vehicle routing problem with soft time windows and fuzzy time windows (VRPSFTW) and designs a two-stage heuristic algorithm to solve the VRPSFTW.
The VRPSFTW established in this study represents a synthesis and extension of the VRPSTW and VRPFTW, incorporating the strengths of both models while addressing their shortcomings.
This paper has improved the mutation operation of traditional genetic algorithm in the LDGA by proposing a directed mutation operator, while also integrating a large neighborhood search algorithm, enhancing the search capability of the algorithm in the later stages. The overall algorithm design fully utilizes the advantages of the genetic algorithm in the early stages. In the middle and later stages, directed mutation is used instead of traditional mutation, and removal and re-insertion operators are introduced to compensate for the weakness of the genetic algorithm in the later stages, thereby improving its overall efficiency and accuracy. The experimental results indicate that the LDGA is significantly competitive in exploring the solution space among the selected state-of-the-art algorithms recently published.
For multi-objective problems, the two-stage algorithm designed in this paper significantly outperforms the NSGA-II in handling priorities among objectives. Under conditions of limited resources and clearly defined primary goals, the algorithm can effectively optimize the key objectives while also addressing the secondary objectives within feasible limits. This mechanism makes the algorithm more aligned with the demands of practical applications.
The implications of this paper for relevant business managers in reality are as follows:
(1)
The VRPSFTW model is more effective at describing the real-world scenarios faced by managers who have access to customer-related information. This model simultaneously considers two objective functions: total cost and total service level. This not only enables managers to optimize both the company’s short-term and long-term profits when designing delivery plans, but also helps improve customer satisfaction, achieving a win–win situation for both the company and its clients. Moreover, the model provides a more accurate and reasonable characterization of total cost and total service level, allowing managers to better understand the actual impact of the related delivery plans and thus make more informed vehicle routing decisions.
(2)
The LDGA provides a valuable tool that management decision-makers in relevant enterprises can consider for optimizing vehicle routing arrangements.
(3)
In reality, management decision-makers often have limited resources and typically have clear priority optimization goals during specific periods. Therefore, they can use the two-stage algorithm and flexibly choose solution strategies based on their actual needs to better achieve their objectives:
1)
When the company is in a phase that requires prioritizing cost savings, decision-makers can use the two-stage algorithm with the cost priority strategy for vehicle routing. This approach aims to minimize cost while also optimizing the service level to a certain extent, thereby avoiding any neglect of the service level due to a sole focus on cost reduction.
2)
When the company is in a phase that requires prioritizing customer satisfaction, decision-makers can use the two-stage algorithm with the service-level priority strategy for vehicle routing. This approach aims to maximize the service level while also optimizing cost to some extent, thereby avoiding any neglect of cost control that could lead to resource waste due to a sole focus on the service level.
Although the algorithm designed in this study demonstrates excellent performance, there is still room for further improvement. In our algorithm structure, the timing and frequency of the use of various operators are derived from empirical summaries based on multiple experiments. We hope to establish more standardized rules or develop adaptive rules that can be adjusted according to the population conditions in future research, which could potentially enhance the overall performance of the algorithm. Furthermore, the operator we designed to determine the starting service time employs a greedy strategy, which may not guarantee an optimal solution, which warrants further investigation.

Author Contributions

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

Funding

This research was funded by the National Natural Science Foundation of China (NSFC), grant number 72201155.

Data Availability Statement

https://www.bernabe.dorronsoro.es/vrp/” accessed on 1 October 2024.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Dantzig, G.B.; Ramser, J.H. The truck dispatching problem. Manag. Sci. 1959, 6, 80–91. [Google Scholar] [CrossRef]
  2. Rahman, M.H.; Menezes, B.C.; Al Amin, M. Determination of optimal depot location for a capacitated vehicle routing problem (CVRP) based on gross vehicle weight. Int. J. Syst. Sci. Oper. Logist. 2024, 11, 2339385. [Google Scholar] [CrossRef]
  3. Kim, G. Dynamic Vehicle Routing Problem with Fuzzy Customer Response. Sustainability 2023, 15, 4376. [Google Scholar] [CrossRef]
  4. Louati, A.; Lahyani, R.; Aldaej, A.; Mellouli, R.; Nusir, M. Mixed Integer Linear Programming Models to Solve a Real-Life Vehicle Routing Problem with Pickup and Delivery. Appl. Sci. 2021, 11, 9551. [Google Scholar] [CrossRef]
  5. Máximo, V.R.; Cordeau, J.-F.; Nascimento, M.C.V. An adaptive iterated local search heuristic for the Heterogeneous Fleet Vehicle Routing Problem. Comput. Oper. Res. 2022, 148, 105954. [Google Scholar]
  6. Cordeau, J.; Desaulniers, G.; Desrosiers, J.; Solomon, M.M.; Soumis, F. VRP with time windows. In The Vehicle Routing Problem (SIAM Monographs on Discrete Mathematics and Applications); 2002; Volume 9, pp. 157–193. Available online: https://epubs.siam.org/doi/10.1137/1.9780898718515.ch7 (accessed on 1 October 2024.).
  7. Zhang, H.; Zhang, Q.; Ma, L.; Zhang, Z.; Liu, Y. A hybrid ant colony optimization algorithm for a multi-objective vehicle routing problem with flexible time windows. Inf. Sci. 2019, 490, 166–190. [Google Scholar]
  8. Chiang, W.C.; Russell, R.A. metaheuristic for the vehicle-routeing problem with soft time windows. J. Oper. Res. Soc. 2004, 55, 1298–1310. [Google Scholar] [CrossRef]
  9. Tang, J.; Pan, Z.; Fung, R.Y.K.; Lau, H. Vehicle routing problem with fuzzy time windows. Fuzzy Sets Syst. 2009, 160, 683–695. [Google Scholar]
  10. AJasim, N.; Fourati, L.C. Guided Genetic Algorithm for Solving Capacitated Vehicle Routing Problem with Unmanned-Aerial-Vehicles. IEEE Access 2024, 12, 106333–106358. [Google Scholar]
  11. Chiang, W.-C.; Russell, R.A. Simulated annealing metaheuristics for the vehicle routing problem with time windows. Ann. Oper. Res. 1996, 63, 3–27. [Google Scholar] [CrossRef]
  12. Berahhoua, A.; Benadadaa, Y.; Bouanane, K. Memetic algorithm for the dynamic vehicle routing problem with simultaneous delivery and pickup. Int. J. Ind. Eng. Comput. 2022, 13, 587–600. [Google Scholar] [CrossRef]
  13. Tadaros, M.; Kyriakakis, N.A. A Hybrid Clustered Ant Colony Optimization Approach for the Hierarchical Multi-Switch Multi-Echelon Vehicle Routing Problem with Service Times. Comput. Ind. Eng. 2024, 190, 110040. [Google Scholar] [CrossRef]
  14. Salehi Sarbijan, M.; Behnamian, J. Feeder vehicle routing problem in a collaborative environment using hybrid particle swarm optimization and adaptive learning strategy. Environ. Dev. Sustain. 2023. Available online: https://link.springer.com/article/10.1007/s10668-023-04123-x (accessed on 1 October 2024).
  15. Shao, W.; Xiao, T.; Su, Z.; Ding, J.; Lü, Z. A hybridization of granular adaptive tabu search with path relinking for the multi-depot open vehicle routing problem. Egypt. Inform. J. 2023, 24, 100420. [Google Scholar] [CrossRef]
  16. Yassen, E.T.; Ayob, M.; Nazri, M.Z.A.; Sabar, N.R. Meta-harmony search algorithm for the vehicle routing problem with time windows. Inf. Sci. 2015, 325, 140–158. [Google Scholar] [CrossRef]
  17. Paul, S. A New Local Search Algorithm Providing High Quality Solutions to Vehicle Routing Problems. 1997. Available online: https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=8ac9d5287ede9463d33cc0a1daf4191a5e34608d (accessed on 1 October 2024).
  18. Tadaros, M.; Sifaleras, A.; Migdalas, A. A variable neighborhood search approach for solving a real-world hierarchical multi-echelon vehicle routing problem involving HCT vehicles. Comput. Oper. Res. 2024, 165, 106594. [Google Scholar] [CrossRef]
  19. Yu, B.; Yang, Z.Z.; Yao, B.Z. A hybrid algorithm for vehicle routing problem with time windows. Expert Syst. Appl. 2011, 38, 435–441. [Google Scholar] [CrossRef]
  20. Shen, Y.; Liu, M.; Yang, J.; Shi, Y.; Middendorf, M. A Hybrid Swarm Intelligence Algorithm for Vehicle Routing Problem With Time Windows. IEEE Access 2020, 8, 93882–93893. [Google Scholar] [CrossRef]
  21. Wu, Q.; Xia, X.; Song, H.; Zeng, H.; Xu, X.; Zhang, Y.; Yu, F.; Wu, H. A neighborhood comprehensive learning particle swarm optimization for the vehicle routing problem with time windows. Swarm Evol. Comput. 2024, 84, 101425. [Google Scholar] [CrossRef]
  22. Shaw, P. Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems. In Principles and Practice of Constraint Programming; Maher, M., Puget, J.F., Eds.; CP98; Springer: Berlin/Heidelberg, Germany, 1998; Volume 1520, pp. 417–431. [Google Scholar]
  23. Konstantakopoulos, G.D.; Gayialis, S.P.; Kechagias, E.P.; Papadopoulos, G.A.; Tatsiopoulos, I.P. A Multiobjective Large Neighborhood Search Metaheuristic for the Vehicle Routing Problem with Time Windows. Algorithms 2020, 13, 243. [Google Scholar] [CrossRef]
  24. Sun, Y.; Yu, N.; Huang, B. Green road–rail intermodal routing problem with improved pickup and delivery services integrating truck departure time planning under uncertainty: An interactive fuzzy programming approach. Complex Intell. Syst. 2022, 8, 1459–1486. [Google Scholar] [CrossRef]
  25. Sun, Y. Fuzzy approaches and simulation-based reliability modeling to solve a Road–Rail intermodal routing problem with soft delivery time windows when demand and capacity are uncertain. Int. J. Fuzzy Syst. 2020, 22, 2119–2148. [Google Scholar] [CrossRef]
  26. Solomon, M.M. Algorithms for the Vehicle Routing and Scheduling Problems with Time Window Constraints. Oper. Res. 1987, 35, 254–265. [Google Scholar] [CrossRef]
  27. Deng, L.; Zhang, J. A Hybrid Ant Colony Optimization for Bi-Objective VRP with Time Windows. Complex Syst. Complex. Sci. 2020, 17, 73–84. [Google Scholar]
Figure 1. Framework diagram of the algorithm designed in this paper.
Figure 1. Framework diagram of the algorithm designed in this paper.
Systems 12 00560 g001
Figure 2. The idea behind the operator for determining the start service time in the “cost priority” algorithm.
Figure 2. The idea behind the operator for determining the start service time in the “cost priority” algorithm.
Systems 12 00560 g002
Figure 3. The idea behind the operator for determining the start service time in the “service-level priority” algorithm.
Figure 3. The idea behind the operator for determining the start service time in the “service-level priority” algorithm.
Systems 12 00560 g003
Figure 4. Framework of two-stage algorithm (i indicates the current generation number, n is a positive integer, and the meaning of the other letters is the same as in Section 3.3).
Figure 4. Framework of two-stage algorithm (i indicates the current generation number, n is a positive integer, and the meaning of the other letters is the same as in Section 3.3).
Systems 12 00560 g004
Figure 5. C208 and RC208 convergence curves. (a) Convergence curve of C208; (b) convergence curve of RC208.
Figure 5. C208 and RC208 convergence curves. (a) Convergence curve of C208; (b) convergence curve of RC208.
Systems 12 00560 g005
Figure 6. Charts of the vehicle transport route schemes of six instances (Different colored lines represent the paths of different vehicles). (a) Chart for instance C101; (b) chart for instance R101; (c) chart for instance RC101; (d) chart for instance C208; (e) chart for instance R208; (f) chart for instance RC208.
Figure 6. Charts of the vehicle transport route schemes of six instances (Different colored lines represent the paths of different vehicles). (a) Chart for instance C101; (b) chart for instance R101; (c) chart for instance RC101; (d) chart for instance C208; (e) chart for instance R208; (f) chart for instance RC208.
Systems 12 00560 g006
Figure 7. The transportation route schemes derived from the two-stage algorithm (Different colored lines represent the paths of different vehicles): (a) the cost-priority scheme; (b) the satisfaction-priority scheme.
Figure 7. The transportation route schemes derived from the two-stage algorithm (Different colored lines represent the paths of different vehicles): (a) the cost-priority scheme; (b) the satisfaction-priority scheme.
Systems 12 00560 g007
Figure 8. Transportation route schemes obtained from the two-stage algorithm for solving the VRPSFTW (Different colored lines represent the paths of different vehicles). (a) Instance Extended C101 (cost priority); (b) Instance Extended C101 (Service-level priority); (c) Instance Extended R101 (cost priority); (d) Instance Extended R101 (Service-level priority); (e) Instance Extended RC101 (cost priority); (f) Instance Extended RC101 (Service-level priority).
Figure 8. Transportation route schemes obtained from the two-stage algorithm for solving the VRPSFTW (Different colored lines represent the paths of different vehicles). (a) Instance Extended C101 (cost priority); (b) Instance Extended C101 (Service-level priority); (c) Instance Extended R101 (cost priority); (d) Instance Extended R101 (Service-level priority); (e) Instance Extended RC101 (cost priority); (f) Instance Extended RC101 (Service-level priority).
Systems 12 00560 g008
Figure 9. Taking the Extended C101 as an example: (a) the evolution of the historical minimum cost and (b) the corresponding maximum service level.
Figure 9. Taking the Extended C101 as an example: (a) the evolution of the historical minimum cost and (b) the corresponding maximum service level.
Systems 12 00560 g009
Figure 10. Scatter plot of cost and service level using the Extended C101 as an example.
Figure 10. Scatter plot of cost and service level using the Extended C101 as an example.
Systems 12 00560 g010
Table 1. The structure of the Solomon datasets.
Table 1. The structure of the Solomon datasets.
Cust No.Xcoord.Ycoord.Demand a i b i Service Time
040500012360
145681091296790
245703082587090
34266106514690
442681072778290
5426510156790
640692062170290
740662017022590
838682025532490
938701053460590
1035661035741090
Table 2. Information on datasets (Scale represents the number of points in the dataset, including 1 distribution center and 100 customer points).
Table 2. Information on datasets (Scale represents the number of points in the dataset, including 1 distribution center and 100 customer points).
No.NameScaleVehicle NumberCapacity
1C10110125200
2R10110125200
3RC10110125200
4C20810125700
5R208101251000
6RC208101251000
Table 3. The structure of the Extended Solomon dataset.
Table 3. The structure of the Extended Solomon dataset.
Cust No.Xcoord.Ycoord.Demand a i b i A i B i Service Time
04050001236012360
1456810912967907.521080.3390
2457030825870699.24983.8590
34266106514656.98156.1290
4426810727782636.51910.1690
5426510156712.0467.1190
6406920621702532.55799.8090
7406620170225162.94240.7990
8386820255324215.18353.3790
9387010534605442.07713.8790
10356610357410346.46451.0190
Table 4. Comparison of DGA and GA solutions.
Table 4. Comparison of DGA and GA solutions.
InstanceBest-Known DistanceAverageMinVarianceRelative Error
DGASGADGASGADGASGADGASGA
C101828.941153.441289.831019.461155.367986.788075.720.390.56
R1011650.81808.611940.111751.801795.481591.888372.870.100.18
RC1011696.951912.042002.481873.731903.601806.553712.270.130.18
C208588.32780.85855.91727.21745.791163.295794.910.330.45
R208726.821032.021176.10972.671092.831614.682848.170.420.62
RC208828.141182.761332.471134.071222.761825.954790.370.430.61
Table 5. Comparison of LDGA with other algorithms.
Table 5. Comparison of LDGA with other algorithms.
InstanceBest-Known DistanceAlgorithmComparison with the Best-Known Distance
LDGABSOMOLNSN-CLPSOLDGABSOMOLNSN-CLPSO
C101828.94828.94828.94828.94828.94====
R1011650.801646.051671.161654.931648.08−4.75+20.36+4.13−2.72
RC1011696.951657.371643.781662.561635.11−39.58−53.17−34.39−61.84
C208588.32588.32588.32588.32588.32====
R208726.82722.84940.30754.99740.36−3.98+213.48+28.17+13.54
RC208828.14802.43910.59859.13843.28−25.71+82.45+30.99+15.14
Table 6. A portion of the customer information.
Table 6. A portion of the customer information.
Cust No.Xcoord.Ycoord.Demand a i b i A i B i Service Time
0707000100100
1107773.41.53.50.54.50.2
21091390.835.526.50.2
3120223.925160.2
448471.91.550.560.4
5116223.225.516.50.2
6121381.448390.5
786402.21.530.540.4
81211242.12.551.560.2
961573.54.583.590.2
10401132.323.514.50.2
Table 7. Comparison of two-stage algorithm and NSGA-Ⅱ solutions.
Table 7. Comparison of two-stage algorithm and NSGA-Ⅱ solutions.
Two-Stage AlgorithmNSGA-Ⅱ
BestAverageWorstSDBestAverageWorstSD
Minimum Cost2627.61 2629.90 2633.57 3.21 2636.422728.662860.91224.49
Maximum Satisfaction11100.870.760.650.22
Table 8. The model parameter settings.
Table 8. The model parameter settings.
Vehicle waiting cost coefficient P 1 = 0.2 CNY/min
Penalty coefficient for starting service early P 2 = 0.01 CNY/min
Penalty coefficient for delaying service P 3 = 0.02 CNY/min
Fixed cost per vehicleF = 60 CNY
Average vehicle speedv = 60 km/h
Unit travel costp = 1 CNY/km
Table 9. Computational results of the VRPSFTW.
Table 9. Computational results of the VRPSFTW.
Cost Priority
InstanceHistorical Minimum CostCorresponding Maximum Service LevelDriving DistanceNumber of Vehicles UsedComputation Time
Total(s)Per Generation(s)
Extended C1012955.67961644.41371714.6901141511.13170.5037
Extended R1012995.5166603.24381541.2318121546.21890.3866
Extended RC1013001.2132997.90491520.7091121578.70340.3947
Extended C2081483.31691772.17491151.377641396.53940.4655
Extended R2081080.5741355.992794.31431544.58540.3861
Extended RC2081433.86881574.0623873.728241395.64340.3489
Service-level priority
InstanceHistorical Maximum Service LevelCorresponding Minimum CostDriving DistanceNumber of Vehicles UsedComputation Time
Total(s)Per Generation(s)
Extended C10118104087.52342289.3963181772.79310.5909
Extended R1011423.26514601.79692807.3128251823.45690.4559
Extended RC1011700.6154639.13212920.7883251828.97120.4572
Extended C20818104453.732541.88471626.12560.5420
Extended R20814582690.58421866.387281631.23780.4078
Extended RC20817243910.99252908.1711101690.49910.4226
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

Chen, A.; Li, T. Modeling and Solving the Multi-Objective Vehicle Routing Problem with Soft and Fuzzy Time Windows. Systems 2024, 12, 560. https://doi.org/10.3390/systems12120560

AMA Style

Chen A, Li T. Modeling and Solving the Multi-Objective Vehicle Routing Problem with Soft and Fuzzy Time Windows. Systems. 2024; 12(12):560. https://doi.org/10.3390/systems12120560

Chicago/Turabian Style

Chen, Ailing, and Tianao Li. 2024. "Modeling and Solving the Multi-Objective Vehicle Routing Problem with Soft and Fuzzy Time Windows" Systems 12, no. 12: 560. https://doi.org/10.3390/systems12120560

APA Style

Chen, A., & Li, T. (2024). Modeling and Solving the Multi-Objective Vehicle Routing Problem with Soft and Fuzzy Time Windows. Systems, 12(12), 560. https://doi.org/10.3390/systems12120560

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