Next Article in Journal
A Hybridized Flower Pollination Algorithm and Its Application on Microgrid Operations Planning
Next Article in Special Issue
A Proactive Approach to Extended Vehicle Routing Problem with Drones (EVRPD)
Previous Article in Journal
Wavelet Time-Scale Modeling of Brand Sales and Prices
Previous Article in Special Issue
Solving a Multi-Class Traffic Assignment Model with Mixed Modes
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Hybrid Heuristic for Vehicle Routing Problem with Time Windows and Compatibility Constraints in Home Healthcare System

by
Payakorn Saksuriya
1 and
Chulin Likasiri
2,*
1
PhD Degree Program in Mathematics, Department of Mathematics, Faculty of Science, Chiang Mai University, Chiang Mai 50200, Thailand
2
Research Group in Mathematics and Applied Mathematics, Department of Mathematics, Faculty of Science, Chiang Mai University, Chiang Mai 50200, Thailand
*
Author to whom correspondence should be addressed.
Appl. Sci. 2022, 12(13), 6486; https://doi.org/10.3390/app12136486
Submission received: 6 June 2022 / Revised: 17 June 2022 / Accepted: 24 June 2022 / Published: 26 June 2022

Abstract

:
This work involves a heuristic for solving vehicle routing problems with time windows (VRPTW) with general compatibility-matching between customer/patient and server/caretaker constraints to capture the nature of systems such as caretakers’ home visiting systems or home healthcare (HHC) systems. Since any variation of VRPTW is more complicated than regular VRP, a specific, custom-made heuristic is needed to solve the problem. The heuristic proposed in this work is an efficient hybrid of a novice Local Search (LS), Ruin and Recreate procedure (R&R) and Particle Swarm Optimization (PSO). The proposed LS acts as the initial solution finder as well as the engine for finding a feasible/local optimum. While PSO helps in moving from current best solution to the next best solution, the R&R part allows the solution to be over-optimized and LS moves the solution back on the feasible side. To test our heuristic, we solved 56 benchmark instances of 25, 50, and 100 customers and found that our heuristics can find 52, 21, and 18 optimal cases, respectively. To further investigate the proficiency of our heuristic, we modified the benchmark instances to include compatibility constraints. The results show that our heuristic can reach the optimal solutions in 5 out of 56 instances.

1. Introduction

In the year 2020, the proportion of the Thai population aged over 65 was 19.8%, more than double the global average of 9.3%. This figure is expected to increase to 29.6% over the next 30 years [1]. This means that in a short period of time Thailand will become a Super Aged country, defined as a country where more than 28% of the population is over 60 years of age. As projected by the Office of the National Economic and Social Development Board, Office of the Prime Minister, Bangkok, Thailand [2], the number of elderly people living alone with health problems will also increase. Home healthcare (HHC), which plays a major role in a proactive healthcare system, is essential for this population group, especially those with chronic diseases and bedridden patients requiring long-term care [3]. Caring for these people may involve injections, wound dressing, physical therapy, and other rehabilitation procedures, as well as health-related advice-giving to ensure the sustainability and improved life quality of the coming Aged Society. For the elderly, home visits represent more efficient management of human resources than having them visit the hospital individually.
In attempting to manage home visits in an HHC system, the following need to be considered: (1) compatibility matching of patients/customers and physicians, experts, or healthcare staff; (2) best routing for healthcare personnel to visit their customers; (3) meeting applicable service conditions, and (4) minimizing the cost of the whole system. The second consideration together with the fourth bear similarities to a regular VRP, and if the third is also considered, the problem becomes a vehicle routing problem with time windows (VRPTW). In this work, we will also integrate the first aspect into the VRPTW to better capture the nature of the HHC system. When all these aspects are taken into consideration, the problem becomes even more complicated and requires a custom-made heuristic to find a solution.
Most of the VRPTWs showcased in the literature already consider minimizing distance traveled as the main objective. The model we constructed can also deal with minimizing the total cost, with main objectives ranging from total distance traveled to completion time. This, along with the new general set of compatibility constraints, will make it more relevant for real-world applications, as patient-caretaker compatibility matching is sometimes necessary and minimizing waiting time and balancing job numbers per vehicle are a more important issue in VRPTWs that are similar to HHC systems.
The work process in this study goes as follows: First, a VRPTW with compatibility matching constraints is formulated. Subsequently, a hybrid heuristic combining local search (LS), Ruin and Recreate procedure (R&R), and particle swarm optimization (PSO) is proposed for solving the problem, which is NP-hard in nature. Finally, simulation results tested on best known benchmark instances, namely Solomon’s instances, are presented to show our heuristic’s efficiency in solving VRPTW problems with and without compatibility matching constraints.
This paper is organized as follows: Section 2 provides a review of literature on VRPTW. Section 3 presents a mathematical formulation of the problem. Section 4 describes the solution approach. Computational experiments on Solomon’s instances and conclusions are presented in Section 5 and Section 6, respectively.

2. Materials and Methods

As mentioned earlier, managing home visits in HHC systems can be viewed as a variety of VRPTW. In addition to minimizing the arrival time, finishing time, or processing time in caretaker-customer matching, the models may require further constraints to better suit the problems. Some existing works consider the travel cost, penalty cost, fixed cost, and overtime cost of the healthcare worker in their objective function. Wirnitzer et al. [4] find the minimum staff numbers including minimum number per hour and per customer and the number of staff replacing/switching times per customer. Braekers et al. [5] minimize the weighted sum costs while maximizing service level; therefore, the costs considered comprise the total costs and penalty costs that arise when customers find it inconvenient to receive service. Putting compatibility in the objective function, Ait Haddadene et al. [6] minimize total travel time as well as non-preferences between caretakers and patients to maximize compatibility while adding synchronization constraints, as some patients may need multiple services at the same time. Polnik et al. [7], also with synchronized visits to a home, construct a heuristic to solve the problem where each stop has only one task that might need multiple caretakers. Considering compatibility in the constraints, Yu et al. [8] minimize maximum traveling time with the vehicle allowed to visit only compatible nodes. Riazi et al. [9] consider minimizing total distance traveled but with caretaker qualification requirements in the constraints. In another work, Kandakoglu et al. [10] consider the weighted sum of total distance traveled, total travel cost, overtime wages and number of working staff; their notable constraints include the lunch break of the nurses. Nasir and Kuo [11] only consider the minimum total travel cost of staff but have synchronization constraints between nurses and vehicles as they consider the travel costs of the two separately. Cissé et al. [12] and Mascolo et al. [13] give the most recent extended review of literature in HHC routing and scheduling problems with variety of constraints to date.
Of the recently proposed heuristics for solving VRPTW that are more complicated than an NP-hard VRP, most are metaheuristics. The benchmark instances given in [14], known as Solomon’s instances, can be used to assess constructed heuristics. Table 1 shows the objective function values studied in the most recent literature. Note that only works that consider hard time windows, i.e., where the service providers need to wait for customers to become available, are presented in the table.
There are three groups of Solomon’s instances. After plotting these instances, we can see that the customers in Group C instances appear to be scattered in groups or clusters, as seen in Figure 1. These instances are similar to real-world problems where customers live in geographically scattered villages. The customers in Group R instances (Figure 2) are relatively randomly placed, corresponding to customers living in a big city. The customers in Group RC (Figure 3) are randomly clustered, that is, they appear in groups, but within these groups, they are more or less randomly placed. This system can also be found in a typical real-world system as well. Since VRPTW is very applicable and useful for real-world problems, heuristics for solving VRPTW have been widely studied and still attract many researchers in the field. The relevant recent works are summarized in Table 2.

3. Mathematical Modeling

As mentioned earlier, home visiting in a HHC system can be formulated as a VRPTW problem, which can then be written as a complete graph, G = ( N , E ) having N = { 0 , 1 , , n } being customers (or patients) where 0 is the starting point of the route. The set E , the edges in the graph, represents the travelling connections between nodes. The travel times between points and service time at each point are given. Since the medical needs of patients or customers are unique and may be time-bound, if the service providers (or caretakers) arrive before the specified time window, they will have to wait until the appropriate time. This problem is considered a hard time windows problem. The model constructed here has the objective to minimize total travel costs with the constraints to meet all the traveling/service/matching conditions. The proposed model can be described as follows:
Indices:
0 :
the starting point of the route (called the origin or the health center)
i , j :
patients ( 1 , 2 , , n )
k :
the caretaker ( 1 , 2 , , m )
Parameters:
d i j :
the travel time from patient i to patient j
p j k :
the service time of caretaker k at patient j
e j :
the earliest starting time (or availability time) of patient j
l j :
the latest start time of patient j
q j :
the demand of patient j
Q :
the capacity of all vehicles
[ r j k ] :
 a compatible matching matrix ( n × m ) whose element r j k = 1 means patient j can be treated by caretaker k otherwise r j k = 0
M :
a large number
Variables:
x 0 j k :
equal to 1 if caretaker k travels from the origin to patient j ; otherwise, 0
x i j k :
equal to 1 if caretaker k travels from node i to patient j ; otherwise, 0
x j 0 k :
equal to 1 if patient j is the last patient visited by caretaker k ; otherwise, 0
u j :
variables for subtour elimination
t j :
the starting time of patient j
c i j :
the traveled cost between patient i and patient j

Mathematical Model

Given a set of patients N = { 0 , 1 , 2 , , n } where 0 represents depot node, a set of caretakers K = { 1 ,   2 ,   ,   m } and a set of time windows corresponding to the caretakers, the objective is to find a route for each caretaker to start and return to the origin, with all patients needing to be visited only once with a minimum total cost. Each caretaker must start the job within the time window. This HHC problem can be formulated as a mixed-integer linear programming (MILP):
minimize   j = 0 n i = 0 ,   i j n c i j x i j k
subject to
j = 1 n x 0 j k = 1 ,   k K
j = 1 n x j 0 k = 1 ,     k K
k = 1 m i = 0 , i j n x i j k = 1 ,     j N \ { 0 }
k = 1 m j = 0 , i j n x i j k = 1 ,     i N \ { 0 }
i = 0 , i j n x i j k l = 0 , l j n x j l k = 0 ,     j N \ { 0 } ,     k K
i = 0 , i j n x i j k r j k ,   j N ,   k K
u i u j + q j Q ( 1 x i j k ) ,     i , j N \ { 0 } ,     i j ,     k K
q j u j Q ,     j N \ { 0 }
t i + p i k + d i j M ( 1 x i j k ) t j ,     i N ,     i j ,     j N ,         k K
e j t j l j ,     j N
x i j k { 0 , 1 } ,     i , j N ,     i j ,     k K
With the objective function being to minimize total costs, constraints (1) and (2) are to make sure that each caretaker starts and ends their route at the origin. Constraints (3) and (4) make sure that, for each patient, there is only one caretaker visit and departure. Similarly, constraints (5) ensure that a caretaker leaves a patient for the next one after completing service to the first patient. Constraints (6) are the compatibility constraints to guarantee that only a caretaker compatible with the patient will travel and take care of that patient. Constraints (7) and (8) are the subtour elimination constraint together with capacity constraints. Constraints (9) will activate when caretaker k travels from patient i to patient j ( x i j k = 1 ). The completion time of patient i (sum of starting time, service duration and travel time) must be less than the starting time of patient j . Constraints (10) are time window constraints. Constraints (11) ensure integrality of variables. Finally, M is a sufficiently large number.

4. Algorithms

VRPTW is complicated and becomes even more so when some specific constraints, in this case compatibility-matching constraints, are added. We therefore construct a local search to use along with the help of PSO and R&R to solve the problem. Given the discrete nature of our problem, the moving directions in the PSO initially used to solve the continuous optimization problem can be adapted using our developed local search, R&R, and PSO (path relinking procedure). The local search and R&R represent the effect of the individual particle’s cognitive behavior, while the path relinking describes the impact of global social learning behavior which allows a jump out of the local optimum.
Note that the feasibility of solution (particle) can be checked by substituting the particle’s binary representation into the proposed mathematical model. Due to the complexity caused by the presence of time windows, it is difficult to randomly generate a feasible solution (particle). To solve this issue, after the random solution (which is probably infeasible) is obtained, the patients that cause solution infeasibility (arrival time lies outside the time window) are removed. Then the Inserting procedure, described below, is applied to reinsert the patients. The removed patients are added to each caretaker until there is no available place left. If there is still a patient left, a new caretaker is deployed, and the Inserting procedure is applied until there is no patient left to schedule.
Note that the constructed heuristic can be applied, with only slight modifications, to any VRPTW. All steps in the proposed heuristic remain the same, but the feasibility check is based on the characteristics of the new problem. In a similar manner to the feasibility check, the calculation of objective value can be adjusted to satisfy the new problem.
The main algorithm along with all sub-procedures are given in detail below.

4.1. Main Algorithm

PSO is a population-based algorithm for solving an optimization problem which simulates the social behavior of the birth flock. Each individual, called a particle, represents a feasible solution. The particles try to find a direction to the best new solution iteratively around the search space using the information guided by themselves and the best-known best solution.
Let n be the population size, r be the number of R&R runs, I t e r max   be the maximum number of iterations, P = { p 1 ,   p 2 ,   ,   p n } be the set of all particles, and f ( p i ) be the objective value (i.e., total cost) of particle p i , for i = 1 , 2 , , n . The pseudocode of the main algorithm based on PSO is given below.
Main Algorithm
1.Set parameters:  population   size   ( n ) , the number of R&R runs ( r ), and maximum number of iterations ( I t e r m a x )
2.Initial step:   Generate   n   initial   particles ,   set   as   P = { p 1 ,   p 2 ,   ,   p n }
3. For  p i   P  do
4. If  p i is infeasible do
5.       Remove   all   patients   from   p i that make the schedule infeasible
6. Insert the removed patients into the remaining schedule using the Inserting procedure
7. End If
8.  End For
9.End Initial step
10.Calculate best-known solution (particle), p b e s t = arg min p i P ( f ( p i ) )
11.While i t e r a t i o n < I t e r m a x and the best particle does not change for 10 iterations
12. Apply Local search procedure to each particle ( p i )
13. Apply Path relinking procedure to each particle ( p i )
14. Calculate   the   new   p b e s t (line 10)
15. If  p b e s t does not change for r iterations do
16. Apply the R&R procedure
17. End If
18.End While
19.Return  p b e s t

4.2. Path Relinking Procedure

Path relinking is a search strategy guided by the other solution based on the idea that quality solutions may share similar properties [44]. The guide solution is selected from the current best solution.
Path relinking aims to create a new solution that shares information from the original and the guided solutions. In the context of VRPTW, the good solutions may retain some routes as the current best solution. Route-based path relinking is therefore considered in this study: the new solution will have one of the routes as the guided solution. The path relinking contains two steps. The first step is to select a guided route (any route) from the guided solution and then remove all patients corresponding to the guided route from the current solution. The next step is to insert the removed patients into the current solution using the Inserting procedure. Suppose, for example, that the current solution contains 3 routes arranged as follows: O-A1-A2-A3-A4-O, O-B1-B2-B3-O, O-C1-C2-C3-C4-C5-O, and the guided route is O-A2-B3-A3-C5-O. The result will contain 4 routes: O-A2-B3-A3-C5-O (the guided route), O-A1-A4-O, O-B1-B2-O, and O-C1-C2-C3-C4-O. The procedure can be summarized as follows:
Path Relinking Procedure
1.Input: the current solution, set to p and guided solution (current best solution), set to p b e s t
2.Randomly choose any route in p b e s t ,   set   to   r 0
3.Remove all jobs corresponding to route r 0   from   p . If the remaining schedule is infeasible, move the infeasible patient to r 0 .
4.Apply the Inserting procedure to insert all jobs in r 0   to   p

4.3. Inserting Procedure

The aim of this procedure is to arrange patients, one by one, between pairs of already assigned patients where none of the assigned patients are served late. In the iteration process, if the inserted patient cannot be treated immediately after the completion time of the directly preceding patient, that caretaker will wait until the lower time window of the patient is reached. A patient that cannot be inserted into any position will be considered a tardy (late) patient.
Let J be a set of assigned patients, J w be a set of tardy patients, J c be a set of remaining unattended patients and let J ( j ) be a set of all assignments obtained by inserting patient j between every pair of patients in the assignment J , iteratively. The inserting procedure can be described as follows:
Inserting Procedure
1.Input: A set of assigned patients, set to J , and a set of patients (waiting to be scheduled), set to J c
2.Set J w = and arrange the patients in J c according to their upper time windows in ascending order
3.While  J c  do
4. Choose the first patient in J c ,   say   j .   Remove   j   from   J c
5. Consider the set of assignments J ( j )
6. If there is more than one assignment and all patients are not late do
7. Choose the case that has the minimum completion time, set to J
8. Else If there is a tardy patient in every assignment in J ( j )  do
9.  Choose the assignment with only one late patient, set as J ,   and   whose   assignment   completion   time   after   removing   that   patient   is   the   smallest .   Add   the   late   patient   to   J w
10. Else If    every   assignment   J ( j ) has more than two tardy patients do
11. Add   the   patient   j   to   the   set   J w
12. End If
13.End While
14.While  J w  do
15. Add a new caretaker. Repeat all steps in the While loop with J w ,   instead   of   J c , until there is no change in J .
16.End While

4.4. Local Search Procedure

The aim of the proposed Local Search is to improve the solution. Some patients, if served by a different caretaker, could result in reduced objective value. Since there are many candidates to consider, it is more convenient to generate a priority list of every pair of jobs. The List is sorted using the traveling times between pairs of patients in ascending order.
We developed three improving procedures: Swapping procedure (Section 4.4.1), Moving procedure (Section 4.4.2), and 2-opt procedure (Section 4.4.3). In the first step of Local Search, the procedure will generate a priority list containing all candidates for swapping, moving, and 2-opt. It will then apply Swapping, Moving and 2-opt procedures accordingly. The procedures are explained in detail below.

4.4.1. Swapping Procedure

The swapping procedure aims to switch the order of a pair of jobs on the List in order to make the solution better, or to reduce the objective value. For our purpose, the List is generated by sorting travel times between pairs of patients. This procedure will be applied multiple times until the solution can no longer be improved.
Swapping Procedure
1.For (job1, job2) in List do
2.  swap the routing position between job1 and job2 if it reduces the total routing cost and the routing is still feasible.
3.End For

4.4.2. Moving Procedure

This procedure uses the same idea as the swapping procedure: the chosen patient is moved to another position. The patient moves when the objective value is reduced; otherwise, the patient will maintain his/her position. This procedure also uses the same List as the swapping procedure.
Moving Procedure
1.For (job1, job2) in List do
2.  Move job2 to process before or after job1 if it reduces the total routing cost and the routing is feasible. If both positions reduce cost, choose the one with more cost reduction.
3.End For

4.4.3. 2-Opt Procedure

This is a local search procedure for solving the traveling salesman problem. It uses the same idea as the swapping procedure by swapping a pair of edges, instead of patients, from any route and reconnecting them with each other. In other words, the main idea is the crossover between two routes. The edge moves when the objective value is reduced; otherwise, all patients will maintain their positions. The List for this procedure contains all pairs of edges in random order. Suppose, for example, that we have two routes that start and end at the origin, denoted by “O”, and are arranged as follows: O-A1-A2-A3-A4-A5-O and O-B1-B2-B3-B4-B5-B6-O. Suppose the selected edges are (A1-A2) and (B4-B5). The result routes will be O-A1-B5-B6-O and O-B1-B2-B3-B4-A2-A3-A4-A5-O.
2-Opt Procedure
1.For (A-B, C-D) in List do
2.  Define a path starting from depot to node A by OA, a path starting from B to depot by BO, a path starting from depot to node C by OC, and a path starting from D to depot by DO.
3. Reconstruct a path as OA connected to DO and OC connected to BO only if the result is feasible and the total cost is reduced.
4.End For

4.5. R&R Procedure

The main idea behind this procedure is to jump out to a new solution to avoid the local optimum [30]. In this procedure, one of the caretakers is randomly removed. The removed patients are then added to the remaining caretakers using the Inserting procedure. If some of the remaining patients cannot be inserted into any place, a new caretaker will be deployed by applying the Inserting procedure to the remaining patients.
R&R Procedure
1.Input: Routing solution
2.Randomly select a caretaker, set to R e m o v a l , and remove all patients belonging to that caretaker from the routing solution.
3.For  p a t i e n t R e m o v a l  do
4.   Insert   p a t i e n t by applying the Inserting procedure to each caretaker; if there is no place to insert, deploy a new caretaker and apply the procedure again
5.End For

5. Computational Results on Solomon’s Instances

To test our constructed heuristic, we apply it to solve the well-known benchmark instances called Solomon’s instances with 25, 50, and 100 customers. As mentioned earlier, there are 3 groups of instances, C (clustered), R (random) and RC (randomly clustered). The parameters used in all simulation results are: number of particles, set at 15 ( n = 15 ); number of R&R runs, which is 5 ( r = 5 ); and maximum iterations, set at 500 ( I t e r _ m a x = 500 ). These parameters greatly affect the performance of the heuristic. For example, if the number of particles is high, the objective function value tends to be better. However, we will have to sacrifice the time needed to execute each iteration. Since a higher number of particles does not guarantee a better solution, we limit the number of particles to 15 where the running time is comparatively low. The number of R&R is set to 5 in an attempt to diversify particles when they have similar solutions or similar route. This normally occurs when the heuristic reaches a local optimum, since the path relinking process tends to move all particles that are similar to each other. As for the maximum number of iterations, in all problems tested this has never reached 500, hence the number is set to 500.
To illustrate the proposed heuristic’s performance, the heuristic is written in Julia’s language [45,46] and run on AMD Ryzen 9 12-Core processors with 3.8 GHz CPU and 64 GB of RAM. The results shown in Table 3, Table 4 and Table 5 compare the optimum objective function values and that obtained with our heuristic for the Solomon’s instances with 25, 50, and 100 customers, respectively. For those instances where the optimal solutions have not been found in the existing literature, we compare our results with the best solutions from the literature. The number of vehicles presented is equivalent to the number of caretakers. The customers presented can be seen as the patients. The “%Gap” is the percentage difference between the values obtained with our heuristic and the optimal values. With 52, 21, and 18 out of 56 cases that our heuristic can find the optimal solutions in 25, 50, and 100 customer instances, we can say that our heuristic performs better in smaller-size instances. In general, our heuristic performs better in C1 and C2 instances since the %Gap is smaller compared to the R1, R2, RC1, and RC2 instances. Moreover, in most cases the optimal solutions have yet to be found, and the %Gap is less than 5%.
Note that for all computations, the distance between each pair of nodes is truncated to 1 digit. It is also worth mentioning that the running time for each iteration on 25-customer instances is recorded at approximately 1 s for RC2 instances (at 20 total number of iterations), 2 s for all C1, R1, R2, and RC1 instances (at 10, 10, 12, and 20 iterations), and 3 s for C2 instances (at 15 iterations). The running times for each iteration on 50 customer instances are 4 s for C1 (at 25 iterations), 5 s for R2 and RC2 (at 25 and 30 iterations), and 6, 7, and 10 s for R1, RC1, and C2 instances (at 20, 25, and 30 iterations), respectively. For those instances with 100 customers, the running time for each iteration is recorded at approximately 30 s for all C1 instances, and 1 min for C2, R1, R2, RC1, and RC2 instances. Note that the running time depends on the number of particles and maximum iterations set. However, for each instance, the heuristic executes with the indicated solution after only a few iterations (for the worst case, up to 30 iterations or up to 30 min for each instance).
To further analyze the performance of our heuristic, we modify Solomon’s instances to contain compatibility between patients and caretakers. The solutions obtained with our heuristic are shown in Table 6 along with the optimal solutions. Note the negative %Gap in the first instance: this is because our heuristic cannot find a feasible solution with 3 vehicles. The optimal solutions can be found for only 5 out of 56 cases. This indicates that the difficulty level of the problem has increased dramatically. Note that the computation time of the instances with compatibility is the same as without compatibility constraints.

6. Conclusions

In this paper, we formulated mathematical modeling and a heuristic for solving a home healthcare routing and scheduling problem in which caretakers must visit specific patients within a specific time frame. This problem can be formulated into a vehicle routing problem with time windows (VRPTW) and compatibility constraints.
Due to the NP-hard nature of the problem, we presented a new heuristic combining particle swarm optimization, inserting procedure, local search, path relinking, and ruin-and-recreate (R&R) procedures. In particular, the inserting procedure is used to generate initial solutions and restore the feasibility of the solution. The constructed local search procedure representing the particle’s movement to the local space is used to improve the solutions. Path relinking represents the global search movement of particles; at each iteration, the procedure is used to improve the current solution by integrating the current solution with the current best solution. R&R is deployed in cases where leaping out of the local optimum is necessary.
To test the performance of the heuristic, we applied it to Solomon’s instances with 25, 50 and 100 customers and compared objective values obtained with our heuristic and the optimum values collected from published literature. Computational results show that our proposed heuristic performs better on smaller instances and in all clustered problems (C1 and C2 instances). Further investigation with compatibility constraints included in the model shows that our proposed heuristic also performed very well on 25 customer instances yielding solutions with less than 10% optimality gap. However, only 5 optimal solutions are found in the model with compatibility constraints compared with 52 optimal solutions found in the model without the constraints. This also suggests that the problem is much more difficult compared with regular VRPTW.
The parameters in this study are experimentally selected to balance the computation time and solution quality. This does not guarantee the best performance of the algorithm. Moreover, as searching for the parameters is very time-consuming, one could consider the parameterized metaheuristic as presented in [52].

Author Contributions

Conceptualization, P.S. and C.L.; Data curation, P.S.; Formal analysis, C.L.; Investigation, P.S.; Methodology, P.S. and C.L.; Software, P.S.; Supervision, C.L.; Validation, P.S. and C.L.; Visualization, C.L.; Writing—original draft, P.S.; Writing—review and editing, C.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research is supported by the Royal Golden Jubilee Ph.D. Program [Grant No. PHD/0041/2560]; and the Research Group in Mathematics and Applied Mathematics, Department of Mathematics, Faculty of Science, Chiang Mai University.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors thanks the Royal Golden Jubilee Ph.D. Program, and the Research Group in Mathe-matics and Applied Mathematics, Department of Mathematics, Faculty of Science, Chiang Mai University for the support. The authors appreciate Wiriya Sungkhaniyom for her proofreading help.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. United Nations. World Population Prospects 2019, Volume II: Demographic Profiles; Department of Economic and Social Affairs: New York, NY, USA, 2019. [Google Scholar]
  2. Office of the National Economic and Social Development Board Office of the Prime Minister Bangkok Thailand. Summary the Twelfth National Economic and Social Development Plan (2017–2021); Office of the National Economic and Social Development Board Office of the Prime Minister: Bangkok, Thailand, 2017.
  3. Suriyanrattakorn, S.; Chang, C.-L. Long-Term Care (LTC) Policy in Thailand on the Homebound and Bedridden Elderly Happiness. Health Policy Open 2021, 2, 100026. [Google Scholar] [CrossRef]
  4. Wirnitzer, J.; Heckmann, I.; Meyer, A.; Nickel, S. Patient-Based Nurse Rostering in Home Care. Oper. Res. Health Care 2016, 8, 91–102. [Google Scholar] [CrossRef]
  5. Braekers, K.; Hartl, R.F.; Parragh, S.N.; Tricoire, F. A Bi-Objective Home Care Scheduling Problem: Analyzing the Trade-off between Costs and Client Inconvenience. Eur. J. Oper. Res. 2016, 248, 428–443. [Google Scholar] [CrossRef] [Green Version]
  6. Ait Haddadene, S.R.; Labadie, N.; Prodhon, C. A GRASP × ILS for the Vehicle Routing Problem with Time Windows, Synchronization and Precedence Constraints. Expert Syst. Appl. 2016, 66, 274–294. [Google Scholar] [CrossRef]
  7. Polnik, M.; Riccardi, A.; Akartunalı, K. A Multistage Optimisation Algorithm for the Large Vehicle Routing Problem with Time Windows and Synchronised Visits. J. Oper. Res. Soc. 2021, 72, 2396–2411. [Google Scholar] [CrossRef]
  8. Yu, M.; Nagarajan, V.; Shen, S. An Approximation Algorithm for Vehicle Routing with Compatibility Constraints. Oper. Res. Lett. 2018, 46, 579–584. [Google Scholar] [CrossRef]
  9. Riazi, S.; Wigstrom, O.; Bengtsson, K.; Lennartson, B. A Column Generation-Based Gossip Algorithm for Home Healthcare Routing and Scheduling Problems. IEEE Trans. Autom. Sci. Eng. 2019, 16, 127–137. [Google Scholar] [CrossRef]
  10. Kandakoglu, A.; Sauré, A.; Michalowski, W.; Aquino, M.; Graham, J.; McCormick, B. A Decision Support System for Home Dialysis Visit Scheduling and Nurse Routing. Decis. Support Syst. 2020, 130, 113224. [Google Scholar] [CrossRef]
  11. Nasir, J.A.; Kuo, Y.-H. A Decision Support Framework for Home Health Care Transportation with Simultaneous Multi-Vehicle Routing and Staff Scheduling Synchronization. Decis. Support Syst. 2020, 138, 113361. [Google Scholar] [CrossRef]
  12. Cissé, M.; Yalçındağ, S.; Kergosien, Y.; Şahin, E.; Lenté, C.; Matta, A. OR Problems Related to Home Health Care: A Review of Relevant Routing and Scheduling Problems. Oper. Res. Health Care 2017, 13–14, 1–22. [Google Scholar] [CrossRef]
  13. di Mascolo, M.; Martinez, C.; Espinouse, M.-L. Routing and Scheduling in Home Health Care: A Literature Survey and Bibliometric Analysis. Comput. Ind. Eng. 2021, 158, 107255. [Google Scholar] [CrossRef]
  14. Solomon, M.M. Algorithms for the Vehicle Routing and Scheduling Problems with Time Window Constraints. Oper. Res. 1987, 35, 254–265. [Google Scholar] [CrossRef] [Green Version]
  15. Larsen, J. Parallelization of the Vehicle Routing Problem with Time Windows; Technical University of Denmark: Kongens Lyngby, Danmark, 1999. [Google Scholar]
  16. Kallehauge, B.; Larsen, J.; Madsen, O.B.G. Lagrangean Duality Applied on Vehicle Routing with Time Windows Experimental Results. In IMM-Technical Report-2001-9; Informatics and Mathematical Modelling, Technical University of Denmark: Lyngby, Denmark, 2001. [Google Scholar]
  17. Cook, W.; Rich, J.L. A Parallel Cutting-Plane Algorithm for the Vehicle Routing Problem with Time Windows. In CAAM Technical Reports; Digital Scholarship Services: Houston, TX, USA, 1999. [Google Scholar]
  18. Rochat, Y.; Taillard, É.D. Probabilistic Diversification and Intensification in Local Search for Vehicle Routing. J. Heuristics 1995, 1, 147–167. [Google Scholar] [CrossRef]
  19. Ombuki, B.; Ross, B.J.; Hanshar, F. Multi-Objective Genetic Algorithms for Vehicle Routing Problem with Time Windows. Appl. Intell. 2006, 24, 17–30. [Google Scholar] [CrossRef]
  20. Alvarenga, G.B.; Mateus, G.R.; de Tomi, G. A Genetic and Set Partitioning Two-Phase Approach for the Vehicle Routing Problem with Time Windows. Comput. Oper. Res. 2007, 34, 1561–1584. [Google Scholar] [CrossRef]
  21. Zbigniew, J.C. Best Solutions Found by the Parallel Simulated Annealing Algorithm for Solomon’s Vehicle Routing Problem with Time Windows (VRPTW) Benchmark Instances. Available online: http://sun.aei.polsl.pl/~zjc/best-solutions-solomon.html (accessed on 6 June 2021).
  22. Khoo, T.S.; Mohammad, B.B. The Parallelization of a Two-Phase Distributed Hybrid Ruin-and-Recreate Genetic Algorithm for Solving Multi-Objective Vehicle Routing Problem with Time Windows. Expert Syst. Appl. 2021, 168, 114408. [Google Scholar] [CrossRef]
  23. Jung, S.; Moon, B.-R. A Hybrid Genetic Algorithm for the Vehicle Routing Problem with Time Windows. In Proceedings of the Proceedings of the 4th Annual Conference on Genetic and Evolutionary Computation, New York, NY, USA, 9–13 July 2002; pp. 1309–1316. [Google Scholar]
  24. Ahn, B.-H.; Shin, J.-Y. Vehicle-Routeing with Time Windows and Time-Varying Congestion. J. Oper. Res. Soc. 1991, 42, 393. [Google Scholar] [CrossRef]
  25. Eshtehadi, R.; Demir, E.; Huang, Y. Solving the Vehicle Routing Problem with Multi-Compartment Vehicles for City Logistics. Comput. Oper. Res. 2020, 115, 104859. [Google Scholar] [CrossRef]
  26. Low, C.; Chang, C.-M.; Li, R.-K.; Huang, C.-L. Coordination of Production Scheduling and Delivery Problems with Heterogeneous Fleet. Int. J. Prod. Econ. 2014, 153, 139–148. [Google Scholar] [CrossRef]
  27. Chen, J.; Shi, J. A Multi-Compartment Vehicle Routing Problem with Time Windows for Urban Distribution—A Comparison Study on Particle Swarm Optimization Algorithms. Comput. Ind. Eng. 2019, 133, 95–106. [Google Scholar] [CrossRef]
  28. Shaw, P. A New Local Search Algorithm Providing High Quality Solutions to Vehicle Routing Problems; APES Group, Dept of Computer Science, University of Strathclyde: Glasgow, UK, 1997. [Google Scholar]
  29. Shaw, P. Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems. In International Conference on Principles and Practice of Constraint Programming; Springer: Berlin/Heidelberg, Germany, 1998; pp. 417–431. [Google Scholar]
  30. Schrimpf, G.; Schneider, J.; Stamm-Wilbrandt, H.; Dueck, G. Record Breaking Optimization Results Using the Ruin and Recreate Principle. J. Comput. Phys. 2000, 159, 139–171. [Google Scholar] [CrossRef] [Green Version]
  31. Rousseau, L.-M.; Gendreau, M.; Pesant, G. Using Constraint-Based Operators to Solve the Vehicle Routing Problem with Time Windows. J. Heuristics 2002, 8, 43–58. [Google Scholar] [CrossRef]
  32. Li, H.; Lim, A. Local Search with Annealing-like Restarts to Solve the VRPTW. Eur. J. Oper. Res. 2003, 150, 115–127. [Google Scholar] [CrossRef]
  33. Berger, J.; Barkaoui, M. A Parallel Hybrid Genetic Algorithm for the Vehicle Routing Problem with Time Windows. Comput. Oper. Res. 2004, 31, 2037–2053. [Google Scholar] [CrossRef]
  34. Mester, D.; Bräysy, O.; Dullaert, W. A Multi-Parametric Evolution Strategies Algorithm for Vehicle Routing Problems. Expert Syst. Appl. 2007, 32, 508–517. [Google Scholar] [CrossRef]
  35. Pisinger, D.; Ropke, S. A General Heuristic for Vehicle Routing Problems. Comput. Oper. Res. 2007, 34, 2403–2435. [Google Scholar] [CrossRef]
  36. Marinakis, Y.; Marinaki, M.; Migdalas, A. A Multi-Adaptive Particle Swarm Optimization for the Vehicle Routing Problem with Time Windows. Inf. Sci. 2019, 481, 311–329. [Google Scholar] [CrossRef]
  37. Gehring, H.; Homberger, J. A Parallel Hybrid Evolutionary Metaheuristic for the Vehicle Routing Problem with Time Windows. In Proceedings of the EUROGEN99; Springer: Berlin/Heidelberg, Germany, 1999; pp. 57–64. [Google Scholar]
  38. Bent, R.; van Hentenryck, P. A Two-Stage Hybrid Local Search for the Vehicle Routing Problem with Time Windows. Transp. Sci. 2004, 38, 515–530. [Google Scholar] [CrossRef] [Green Version]
  39. Repoussis, P.P.; Tarantilis, C.D.; Ioannou, G. Arc-Guided Evolutionary Algorithm for the Vehicle Routing Problem With Time Windows. IEEE Tran. Evol. Comput. 2009, 13, 624–647. [Google Scholar] [CrossRef]
  40. Galindres-Guancha, L.F.; Toro-Ocampo, E.; Gallego-Rendón, R. A Biobjective Capacitated Vehicle Routing Problem Using Metaheuristic Ils and Decomposition. Int. J. Ind. Eng. Comput. 2021, 12, 293–304. [Google Scholar] [CrossRef]
  41. Gambardella, L.M.; Taillard, É.; Agazzi, G. MACS-VRPTW: A Multiple Ant Colony System for Vehicle Routing Problems with Time Windows. In New Ideas in Optimization; McGraw-Hill: London, UK, 1999; pp. 63–76. [Google Scholar]
  42. Expósito, A.; Brito, J.; Moreno, J.A.; Expósito-Izquierdo, C. Quality of Service Objectives for Vehicle Routing Problem with Time Windows. Appl. Soft Comput. 2019, 84, 105707. [Google Scholar] [CrossRef]
  43. Taillard, É.; Badeau, P.; Gendreau, M.; Guertin, F.; Potvin, J.-Y. A Tabu Search Heuristic for the Vehicle Routing Problem with Soft Time Windows. Transp. Sci. 1997, 31, 170–186. [Google Scholar] [CrossRef] [Green Version]
  44. Glover, F.; Manuel, L. Rafael Martí Fundamentals of Scatter Search and Path Relinking. Control Cybern. 2000, 29, 653–684. [Google Scholar]
  45. Bezanson, J.; Karpinski, S.; Shah, V.B.; Edelman, A. Julia: A Fast Dynamic Language for Technical Computing. arXiv 2012, arXiv:1209.5145. [Google Scholar] [CrossRef]
  46. Bezanson, J.; Edelman, A.; Karpinski, S.; Shah, V.B. Julia: A Fresh Approach to Numerical Computing. SIAM Rev. 2017, 59, 65–98. [Google Scholar] [CrossRef] [Green Version]
  47. Kohl, N. 2-Path Cuts for the Vehicle Routing Problem with Time Windows. Transp. Sci. 1999, 33, 101–116. [Google Scholar] [CrossRef]
  48. Irnich, S.; Villeneuve, D. The Shortest-Path Problem with Resource Constraints and k-Cycle Elimination for k ≥ 3. Inf. J. Comput. 2006, 18, 391–406. [Google Scholar] [CrossRef] [Green Version]
  49. Chabrier, A. Vehicle Routing Problem with Elementary Shortest Path Based Column Generation. Comput. Oper. Res. 2006, 33, 2972–2990. [Google Scholar] [CrossRef]
  50. Hedar, A.-R.; Bakr, M.A. Three Strategies Tabu Search for Vehicle Routing Problem with Time Windows. Comput. Sci. Inf. Technol. 2014, 2, 108–119. [Google Scholar] [CrossRef]
  51. Danna, E.; le Pape, C. Branch-and-Price Heuristics: A Case Study on the Vehicle Routing Problem with Time Windows. In Column Generation; Springer: Boston, MA, USA, 2005; pp. 99–129. [Google Scholar] [CrossRef]
  52. Cutillas-Lozano, J.M.; Giménez, D.; Almeida, F. Hyperheuristics based on parametrized metaheuristic schemes. In Proceedings of the 2015 Annual Conference on Genetic and Evolutionary Computation, Madrid, Spain, 11–15 July 2015; pp. 361–368. [Google Scholar]
Figure 1. Distribution of customers (represented by circles) in C-instances with diamond representing the center.
Figure 1. Distribution of customers (represented by circles) in C-instances with diamond representing the center.
Applsci 12 06486 g001
Figure 2. Distribution of customers (represented by circles) in R-instances with diamond representing the center.
Figure 2. Distribution of customers (represented by circles) in R-instances with diamond representing the center.
Applsci 12 06486 g002
Figure 3. Distribution of customers (represented by circles) in RC-instances with diamond representing the center.
Figure 3. Distribution of customers (represented by circles) in RC-instances with diamond representing the center.
Applsci 12 06486 g003
Table 1. The best objective function values obtained in literature on Solomon’s instances.
Table 1. The best objective function values obtained in literature on Solomon’s instances.
ProblemBest-Known SolutionReferences
Number of VehiclesTotal Distance
C10110827.30 *[15,16]
C10210827.30 *[15,16]
C10310826.30 *[15,16]
C10410822.90 *[15,16]
C10510827.30 *[15,16]
C10610827.30 *[15,16]
C10710827.30 *[15,16]
C10810827.30 *[15,16]
C10910827.30 *[15,16]
C2013589.10 *[16,17]
C2023589.10 *[16]
C2033588.70 *[16]
C2043590.60[18,19,20,21,22]
C205**586.40 *[17]
C206**586.00 *[17]
C207**585.80 *[17]
C2083585.80 *[16]
R101201637.7 *[15,16,17]
R102181466.6 *[15,16,17]
R103141208.7 *[15,16,17]
R10411976.61[22,23]
R105151355.3 *[15,16,17]
R106131234.6 *[15,16,17]
R107111064.6 *[15,16,17]
R10810938.20[22]
R109131146.9 *[16,17]
R110121068.0 *[16,17]
R111121048.7 *[16,17]
R11210953.63[18,23]
R20181143.2 *[16]
R20281034.4[23]
R2036874.87[22,23]
R2045735.80[22]
R2055954.16[19,22]
R2064879.86[23]
R2074797.99[22]
R2084705.33[22]
R2095859.39[23]
R2106905.21[22]
R2114753.15[22]
RC101141619.8 *[16,17]
RC102141457.4 *[17]
RC103111258.0 *[17]
RC104101135.5 *[21]
RC105151513.7 *[16,17]
RC106131378.0[22]
RC107121212.8[20,22,23]
RC108111117.5[20,23]
RC20191261.8 *[16]
RC20281095.6[22,23]
RC2035926.82[22]
RC2044786.38[23]
RC20571157.6[22,23]
RC20671054.6[22,23]
RC2076966.08[23]
RC2084778.93[22]
* results claimed as optimal in the references. ** information not given in the references.
Table 2. Literature review for VRPTW with various objective functions and their proposed algorithms.
Table 2. Literature review for VRPTW with various objective functions and their proposed algorithms.
ObjectiveProposed AlgorithmsReference
Total costInsertion and saving heuristic[24]
Adaptive large neighborhood search with removal and insertion operator[25]
Adaptive genetic algorithm with 2-opt procedure[26]
Particle swarm optimization with simulated annealing[27]
Total distanceProbabilistic tabu search[18]
Branch and bound algorithm with greedy algorithm and large neighborhood search[28]
Large neighborhood search with ruin and recreate procedure[29]
Parallel cutting plane of branch and bound[17]
Parallel strategy of branch and bound[15]
Simulated annealing with ruin and recreate procedure[30]
Lagrangian relaxation and Column generation[16]
Genetic algorithm[23]
Variable neighborhood search with pruning and propagation techniques of constraint[31]
Simulated annealing with K-restart[32]
Parallel hybrid genetic algorithm with evolution function[33]
Two-phase set partitioning and genetic algorithm[20]
Multi-parametric mutation procedure with 1 + 1 evolution strategies algorithm[34]
Adaptive large neighborhood search[35]
Parallel simulated annealing[21]
Particle swarm optimization with adaptive strategies[36]
Bi-level
Minimizing the number of vehicles and total distance
Two evolutionary strategies algorithm with representation and mutation operators[37]
Simulated annealing (for solving primary) and large neighborhood search (for solving secondary)[38]
Genetic algorithm with Pareto ranking technique[19]
Arc-guided evolution strategies[39]
Bi-level
Minimizing cost and maximizing path length
Iterated local search and decomposition[40]
Multiple problems:
-
Minimize number of vehicles
-
Minimize total distance
Multiple ant colony system (one for number of vehicles and one for total distance)[41]
Multiple problems:
-
Minimizing total waiting time
-
Minimizing average waiting time
-
Maximizing slack time
Greedy randomized adaptive search and Variable neighborhood search[42]
Multiple problems:
-
Minimizing total distance
-
Minimizing number of vehicles
Genetic algorithm with ruin and recreate procedure[22]
The combination of total distance and lateness penalty (soft time windows)Tabu search with multiple exchange procedures[43]
Table 3. Comparisons between the exact solutions and the results obtained by our heuristic on 25-customer Solomon instances.
Table 3. Comparisons between the exact solutions and the results obtained by our heuristic on 25-customer Solomon instances.
ProblemOptimumOur Best%GapExecution Time (s)
Number of VehiclesTotal DistanceReferenceNumber of VehiclesTotal Distance
C1013191.3[47]3191.30.00017.13
C1023190.3[47]3190.30.00030.44
C1033190.3[47]3190.30.00016.38
C1043186.9[47]3186.90.00030.74
C1053191.3[47]3191.30.00025.25
C1063191.3[47]3191.30.00015.98
C1073191.3[47]3191.30.00016.48
C1083191.3[47]3191.30.00014.34
C1093191.3[47]3191.30.00021.45
C2012214.7[17]2214.70.00029.40
C2022214.7[17]2214.70.00026.66
C2032214.7[17]2214.70.00033.97
C2042213.1[17]2214.50.65747.89
C2052214.7[17]2214.70.00049.21
C2062214.7[17]2214.70.00041.50
C2072214.5[17]1274.027.7445.93
C2082214.5[17]1229.16.80742.62
R1018617.1[47]8617.10.00025.21
R1027547.1[47]7547.10.00023.50
R1035454.6[47]5454.60.00020.80
R1044416.9[47]4416.90.00026.97
R1056530.5[47]6530.50.00015.39
R1063465.4[47]5465.40.00023.06
R1074424.3[47]5430.81.53222.06
R1084397.3[47]4397.30.00019.90
R1095441.3[47]5441.30.00016.39
R1104444.1[47]5444.10.00023.13
R1115428.8[47]4428.80.00020.35
R1124393.0[47]4393.00.00018.15
R2014463.3[17]4463.30.00025.58
R2024410.5[17]4410.50.00018.46
R2033391.4[17]3391.40.00025.46
R2042355.0[17]2355.00.00027.90
R2053393.0[17]3393.00.00025.92
R2063374.4[17]3374.40.00027.84
R2073361.6[16]3361.60.00027.24
R2081328.2[48]1328.20.00019.03
R2092370.7[16]2370.70.00019.94
R2103404.6[17]3404.60.00026.32
R2112350.9[16]2350.90.00022.49
RC1014461.1[47]4461.10.00038.39
RC1023351.8[47]3351.80.00039.48
RC1033332.8[47]3332.80.00038.72
RC1043306.6[47]3306.60.00039.89
RC1054411.3[47]4411.30.00039.10
RC1063345.5[47]3345.50.00042.88
RC1073298.3[47]3298.30.00036.47
RC1083294.5[47]3294.50.00043.91
RC2013360.2[17]3360.20.00018.25
RC2023338.0[17]3338.00.00011.64
RC2033326.9[48]3326.90.00013.74
RC2043299.7[49]3299.70.00012.33
RC2053338.0[15]3338.00.00017.65
RC2063324.0[16]3324.00.00013.34
RC2073298.3[16]3298.30.00011.50
RC2082269.1[49]2269.10.00010.98
Table 4. Comparisons between the exact solution or best solutions (with “*”) and the results obtained by our heuristic on 50-customer Solomon instances.
Table 4. Comparisons between the exact solution or best solutions (with “*”) and the results obtained by our heuristic on 50-customer Solomon instances.
ProblemBest-KnownOur Best%GapExecution Time (s)
Number of VehiclesTotal DistanceReferenceNumber of VehiclesTotal Distance
C1015362.4[47]5362.40.000104.8
C1025361.4[47]5361.40.000104.1
C1035361.4[47]5382.15.727104.8
C1045358.0[47]5361.10.8659104.7
C1055362.4[47]5362.40.00098.30
C1065362.4[47]5362.40.000101.1
C1075362.4[47]5362.40.00097.12
C1085362.4[47]5362.40.000104.8
C1095362.4[47]5362.40.00095.53
C2013360.2[17]3360.20.000275.6
C2023360.2[17]3360.20.000207.4
C2033359.8[17]3359.80.000469.5
C2042350.1[17]2357.62.142472.4
C2053359.8[17]3359.80.000349.7
C2063359.8[17]3359.80.000427.4
C2073359.6[17]3359.60.000226.2
C2082350.5[17]2350.50.000458.7
R101121044[47]1210490.4789124.4
R10211909.0[47]11909.00.000116.6
R1039772.9[47]9772.90.000128.6
R1046625.4[47]6636.01.69495.72
R1059899.3[47]11922.42.568105.3
R1065793.0[47]9795.50.3153128.5
R1077711.1[47]7711.10.00095.11
R1086617.7[17]6623.70.971395.83
R1098786.8[47]8792.00.6609118.4
R1107697.0[47]8718.53.084127.7
R1117707.2[17]7719.31.71187.38
R1126630.2[17]6650.33.18997.39
R2016791.9[17]6812.12.550143.3
R2025698.5[17]6715.42.419140.3
R2035605.3[48]5613.81.404160.0
R2042506.4[48]3512.71.244153.2
R2054690.1[48]5700.01.434117.1
R2064632.4[48]5643.41.739153.7
R2072 *594.0 *[50]3584.2−1.649 *133.4
R2082 *508.4 *[50]2496.2−2.399 *189.5
R2094600.6[48]4600.60.000109.0
R2104645.6[48]5655.51.533167.3
R2113535.5[48]4552.23.118133.3
RC1018944.0[47]8944.80.08475183.0
RC1027822.5[47]8838.91.993215.5
RC1036710.9[47]7754.56.133224.9
RC1045545.8[47]5552.21.172234.0
RC1058855.3[47]9889.03.940211.2
RC1066723.2[47]7769.06.333234.9
RC1076642.7[47]6670.24.278229.3
RC1086598.1[47]6598.10.000210.5
RC2015684.8[15]5684.80.000139.1
RC2025613.6[48]5613.60.000139.3
RC2034555.3[48]4566.21.962154.1
RC2043444.2[51]3447.20.6754152.1
RC2055630.2[48]5633.70.5554130.9
RC2065610.0[48]5610.10.01639195.0
RC2074558.6[49]5562.50.6982139.5
RC2082 *498.8 *[50]4490.6−1.643 *122.3
Table 5. Comparisons between the exact solution or best solutions (with “*”) and the results obtained by our heuristic on 100-customer Solomon instances.
Table 5. Comparisons between the exact solution or best solutions (with “*”) and the results obtained by our heuristic on 100-customer Solomon instances.
ProblemBest-KnownOur Best%GapExecution Time (s)
Number of VehiclesTotal DistanceReferenceNumber of VehiclesTotal Distance
C10110827.30[47]10827.300.0000533.12
C10210827.30[47]10827.300.0000794.94
C10310826.30[47]10826.300.00001456.5
C10410822.90[47]10822.900.00001524.0
C10510827.30[47]10827.300.00001243.1
C10610827.30[47]10827.300.00001010.7
C10710827.30[47]10827.300.00001316.3
C10810827.30[47]10827.300.0000936.42
C10910827.30[47]10827.300.00001692.4
C2013589.10[17]3589.100.00001887.9
C2023589.10[17]3589.100.0000814.01
C2033588.70[16]3588.700.00001806.4
C2043588.10[17]3588.100.00001280.1
C2053586.40[17]3586.400.00002014.4
C2063586.00[17]3586.000.00002121.1
C2073585.80[17]3585.800.0000762.62
C2083585.80[16]3585.800.00001697.6
R101201637.7[47]201637.70.00001091.7
R102181466.6[47]181467.70.075001826.4
R103141208.7[17]151220.30.959711246.7
R10411971.50[48]10984.501.33812208.1
R105151355.3[47]161373.11.31341542.2
R106131234.6[17]141259.32.0007768.54
R107111064.6[17]121084.61.8786664.12
R1089 *938.20 *[22]11952.301.5029 *633.11
R109131146.9[17]131165.91.65661143.8
R1101210,680[17]121091.22.17231761.7
R111121048.7[17]121065.31.58291274.6
R11210 *953.60 *[23]11971.801.9086 *1961.3
R20181143.2[16]81146.60.297411297.3
R2028 *1034.4 *[23]71035.80.13534 *880.37
R2036 *874.90 *[23]6877.000.24003 *2108.4
R2045 *735.80 *[22]5742.400.89698 *2013.9
R2055 *954.20 *[19]5957.200.31440 *2050.3
R2064 *879.90 *[23]6894.401.6479 *1236.0
R2074 *798.00 *[22]5808.601.3283 *2164.1
R2084 *705.30 *[22]4718.701.8999 *871.52
R2095 *859.40 *[23]5870.301.2683 *1077.4
R2106 *905.20 *[22]6916.001.1931 *2154.1
R2114 *753.20 *[22]5758.600.71694 *1968.6
RC101151619.8[16]161647.51.71012023.8
RC102141457.4[48]141473.51.1047868.49
RC103111258.0[17]121282.51.94751585.9
RC10410 *1135.5 *[21]111159.22.0872 *1363.0
RC105151513.7[47]151554.92.7218658.57
RC10613 *1368.0 *[22]141398.22.2076 *1787.3
RC107121207.8[48]121251.03.57681235.4
RC108111114.2[48]111132.51.64241828.4
RC20191261.8[16]91268.80.554761849.6
RC20281092.3[48]81096.30.36620506.41
RC2035 *926.80 *[22]5934.400.82003 *947.26
RC2044 *786.40 *[23]4793.600.91556 *664.77
RC20571154.0[48]81162.70.753901385.4
RC2067 *1054.6 *[23]71070.21.4792 *1334.3
RC2076 *966.10 *[23]6967.700.1656 *1641.8
RC2084 *778.90 *[23]4778.900.0000 *2208.1
Table 6. Comparison between the exact solution of Solomon’s instances with and without compatibility, and the solution with compatibility obtained with our algorithm.
Table 6. Comparison between the exact solution of Solomon’s instances with and without compatibility, and the solution with compatibility obtained with our algorithm.
ProblemOptimum without CompatibilityOptimum with CompatibilityOur Algorithm with Compatibility%Gap
Number of VehiclesTotal DistanceNumber of VehiclesTotal Distance%GapNumber of VehiclesTotal Distance
C1013191.33253.30.04228.3−9.870
C1023190.33244.10.03267.39.504
C1033190.33236.80.03247.64.561
C1043186.93261.30.03263.60.8802
C1053191.33228.90.03243.56.378
C1063191.33253.30.03256.71.342
C1073191.33232.10.03246.76.290
C1083191.33231.90.03237.32.329
C1093191.33231.90.03246.56.300
C2012214.73356.20.02386.68.534
C2022214.72244.80.02244.80.000
C2032214.72244.80.02247.41.062
C2042213.12235.80.02244.83.817
C2052214.72261.40.02267.02.142
C2062214.72259.10.02263.01.505
C2072214.52252.40.02261.23.486
C2082214.52251.80.02251.80.000
R1018617.18623.90.09643.73.174
R1027547.17553.60.07585.75.798
R1035454.65454.60.05474.04.268
R1044416.94416.90.04416.90.000
R1056530.55555.60.06582.24.788
R1063465.45465.40.05475.22.106
R1074424.34432.50.04440.31.804
R1084397.34407.90.04408.30.09810
R1095441.35446.90.04481.07.630
R1104444.14444.70.05457.12.788
R1115428.84437.80.04477.18.977
R1124393.04403.30.04415.22.951
R2014463.33463.30.03503.98.763
R2024410.53421.00.03457.58.670
R2033391.43412.00.02444.57.888
R2042355.03369.50.03393.96.603
R2053393.02418.80.02418.80.000
R2063374.43375.90.03405.07.741
R2073361.63375.90.03400.76.598
R2081328.23369.50.03385.54.330
R2092370.73390.50.03409.84.942
R2103404.63423.40.03452.66.897
R2112350.93381.30.03413.68.471
RC1014461.14464.90.05488.25.0118
RC1023351.84405.40.04420.73.7741
RC1033332.84386.40.04386.40.0000
RC1043306.64367.80.04372.61.3051
RC1054411.34458.90.05481.44.9030
RC1063345.54399.20.04406.31.7786
RC1073298.34365.90.04368.30.6559
RC1083294.54361.60.04367.81.7146
RC2013360.23524.50.03574.59.5329
RC2023338.02436.00.02437.00.2294
RC2033326.93356.60.04362.91.7667
RC2043299.73327.52.83330.91.0382
RC2053338.03498.77.43547.89.8456
RC2063324.02409.50.02444.18.4493
RC2073298.34672.30.04701.74.3730
RC2082269.14559.30.04613.39.6549
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Saksuriya, P.; Likasiri, C. Hybrid Heuristic for Vehicle Routing Problem with Time Windows and Compatibility Constraints in Home Healthcare System. Appl. Sci. 2022, 12, 6486. https://doi.org/10.3390/app12136486

AMA Style

Saksuriya P, Likasiri C. Hybrid Heuristic for Vehicle Routing Problem with Time Windows and Compatibility Constraints in Home Healthcare System. Applied Sciences. 2022; 12(13):6486. https://doi.org/10.3390/app12136486

Chicago/Turabian Style

Saksuriya, Payakorn, and Chulin Likasiri. 2022. "Hybrid Heuristic for Vehicle Routing Problem with Time Windows and Compatibility Constraints in Home Healthcare System" Applied Sciences 12, no. 13: 6486. https://doi.org/10.3390/app12136486

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