Open Access
This article is
 freely available
 reusable
Algorithms 2019, 12(8), 152; https://doi.org/10.3390/a12080152
Article
Bicriteria Vehicle Routing Problem with Preferences and Timing Constraints in Home Health Care Services
^{1}
Natan, 44 Rue Notre Dame Des Victoires, 75002 Paris, France
^{2}
ICDLOSI, University of Technology of Troyes, 12 Rue Marie Curie, CEDEX CS 4206010004 Troyes, France
^{*}
Author to whom correspondence should be addressed.
Received: 28 June 2019 / Accepted: 23 July 2019 / Published: 30 July 2019
Abstract
:Home Healthcare (HHC) is an emerging and fastexpanding service sector that gives rise to challenging vehicle routing and scheduling problems. Each day, HHC structures must schedule the visits of caregivers to patients requiring specific medical and paramedical services at home. These operations have the potential to be unsuitable if the visits are not planned correctly, leading hence to high logistics costs and/or deteriorated service level. In this article, this issue is modeled as a vehicle routing problem where a set of routes has to be built to visit patients asking for one or more specific service within a given time window and during a fixed service time. Each patient has a preference value associated with each available caregiver. The problem addressed in this paper considers two objectives to optimize simultaneously: minimize the caregivers’ travel costs and maximize the patients’ preferences. In this paper, different methods based on the biobjective nondominated sorting algorithm are proposed to solve the vehicle routing problem with time windows, preferences, and timing constraints. Numerical results are presented for instances with up to 73 clients. Metrics such as the distance measure, hypervolume, and the number of nondominated solutions in the Pareto front are used to assess the quality of the proposed approaches.
Keywords:
multiobjective optimization; vehicle routing problem; home healthcare; synchronization constraints; precedence constraints; preferences1. Introduction
Home Healthcare (HHC) aims at supporting people with different degrees of dependencies to remain at home instead of receiving longterm care at a traditional medical institution. It encompasses a large variety of care provided at hospitals and gives rise to challenging planning and coordination problems. HHC is set to become an increasingly important issue in the years ahead with the longer human life expectancy. Research on these emerging problems has the intent to establish a fine coordination of human and material resources to provide an optimized planning that maximizes the quality of home healthcare while controlling logistics costs. Therefore, effective organization of HHC structures requires the use of optimization methods and decision support tools.
The aim in our study is to determine the routes to be performed by a fleet of vehicles (associated with a group of caregivers) available to serve a set of geographicallydispersed customers (corresponding to the patients), who have preferences associated with caregivers, and so that the activity is planned in the most effective way. The specificities rely on the fact that a home healthcare service must often be performed in a given time window and may require the intervention of several caregivers simultaneously. In addition, sometimes a patient needs several types of care linked by precedence constraints. These timing constraints impose the coordination of several caregivers. This problem is hence modeled as a variant of the vehicle routing problem called VRPTWSP for the Vehicle Routing Problem with Time Windows, Synchronization, and Precedence constraints. In a previous work (Ait Haddadene et al. [1]), the minimization of the traveling cost and the sum of nonpreferences related to customers were considered as a singleobjective function. The obtained results showed the conflicting nature of these criteria, which is why, we are particularly interested in solving the biobjective version of VRPTWSP.
The problem at hand is an extension of the Vehicle Routing Problem (VRP), which is one of the moststudied combinatorial optimization problems. First introduced by Dantzig and Ramser [2], the aim of this NPhard problem is to determine a set of minimal cost routes in which a set of customers is to be served by a fleet of vehicles based at a depot node. A detailed survey can be found in Toth and Vigo [3]. Currently, one of the most effective metaheuristics for the VRP is the hybrid genetic algorithm introduced by Vidal [4], which was latter generalized to solve more than 26 VRP variants.
Among the different classes of VRP, the VRP with Time Windows (VRPTW) stands as the basis variant of our studied problem. Heuristic and metaheuristic approaches have been widely used to solve the VRPTW such as those proposed by Kindervater and Savelsbergh [5], Bräysy and Gendreau [6], Nagata [7], and Bräysy et al. [8]. In the field of healthcare, most problems are modeled as a VRPTW. In fact, the origin of vehicle routing problems in HHC systems may be linked to the doorto doortransportation of elderly or disabled persons (Dial A Ride Problems (DARP)) proposed by Bodin and Sexton [9]. A few years later, this variant was extended to the Home Healthcare (HHC) problem by Cheng and Rich [10], where caregivers are assigned to patient homes to provide specific care. A mixed integer mathematical model was proposed, and a heuristic approach was developed. At this stage, the numerical results were given for only four caregivers and 10 patients.
Since then, many other studies were carried out, and they are classified in this paper according to: (1) optimization criterion, (2) constraints, and (3) solution approaches. For a more exhaustive review, see for instance [11,12].
Table 1 provides a classification of the main types of tackled objectives. Note that each category involves a broad class of possible objective functions. Table 2 summaries the criteria considered in the reviewed papers, these last being listed in Column 1. Columns 2–9 correspond to each of the objectives enumerated in Table 1. When a paper tackles one of the objectives, a symbol (×) is shown in the corresponding cell.
As shown in the last table, the objective of minimizing traveling costs, waiting costs, or patient preferences is undoubtedly the most widespread in the literature. However, when multiple objective functions are handled, they are often considered within a single criterion as a weighted sum.
Instead of being part of the objective function, some characteristics of a problem may sometimes be considered as constraints. In our study for instance, time is handled through time windows associated with patient care, as well as through interdependencies between the routes performed by caregivers. This interdependence is defined as operation synchronization in the classification suggested by Drexl [58]. More specifically, in the context of home healthcare, Labadie et al. [32] identified two kinds of synchronization:
 Simultaneous synchronization: A patient may request several caregivers at the same time. This is for example the case when a bath is requested by the patients, but more than one caregiver is needed to provide this service (because of a heavy load for example). This is called simultaneous synchronization, and it means that staff should start simultaneously (within a tight time lag) performing a given number of tasks or a specific type of care.
 Precedence synchronization: A patient can also request more ordered cares. This is the case when preparing a patient is necessary before care or another service (such as to be transported to a hospital).
Even if synchronization is common in reallife problems, it has not received a large amount of attention in comparison with other constraints. In fact, researches have been mainly focused on ensuring high service quality through constraints such as time windows and service types.
Table 3 presents the most common families of constraints taken into account in the HHC context, while Table 4 summarizes the constraints handled in the reviewed papers.
Table 4 shows that time windows and qualification are considered in the majority of the reviewed papers. However, some characteristics such as simultaneous synchronization, precedence synchronization, and periodicity have attracted less interest in the literature. To the best of our knowledge, only our previous works and that of [25] combine both types of synchronization constraints (simultaneous and precedence) in the same model.
Table 5 presents solution approaches that were used to solve the problems studied in the reviewed papers. These methods are classified into two general categories: exact approaches (Column 2) and heuristics/metaheuristics (Column 3).
From this literature review on vehicle routing problems related to the HHC context, It can be seen that most of proposed methods are metaheuristics and that most of papers present a mathematical method (mixed integer linear program) by mean of solvers. Furthermore, the majority of studies involving different objectives considered an aggregated function defined as a weighted sum of the considered criteria. Indeed, in all these works, the multicriteria issue was managed through a linear combination of the different objectives. The use of this kind of approach has wellknown drawbacks: (a) finding the appropriate weights is not trivial; (b) multiple runs are needed to provide the decision maker with enough solutions; (c) nonsupported solutions cannot be found whatever the selected weights.
Regarding vehicle routing problems, several authors have been interested in algorithms based on Pareto optimality to solve different combinatorial optimization problems. For example, Jozefowiez et al. [59] proposed a Nondominated Sorting Genetic algorithm (NSGAII) for solving the vehicle routing problem with route balancing. In the same context, Lacomme et al. [60] tested several local search procedures within the NSGAII framework for the capacitated arc routing problem, and more recently, Velasco et al. [61] adapted this previous local search for solving the pickup and delivery problem.
To the best of our knowledge, [38] and the more recent papers [51,52] are the only ones that consider the routing and planning problem in HHC as a multiobjective variant. In the first one, the compromise relations were between minimizing travel costs and maximizing the level of satisfaction of patients in home care structures. A metaheuristic based on multidirectional local search was proposed to build an approximated front. The latter was compared to the optimal Pareto front obtained by using an $\u03f5$constraint method. The study of [51] considered also a multicriteria problem with three objectives: (1) minimizing the total working time of the caregivers, (2) optimizing the quality of service by minimizing the patients time window and the synchronized visits nonsatisfaction, (3) and minimizing the maximal working time difference among nurses and auxiliary nurses. To solve the problem, these authors designed a Memetic Algorithm for Multiobjective Optimization (MAMO), which uses an NSGAII structure combined with multidirectional local searches. In [52], a biobjective optimization model aimed to make a tradeoff between transportation cost and environmental pollution. The authors proposed various versions of heuristics, metaheuristic, and modified/hybrid methods. Metaheuristics are simulated annealing and swarm algorithms. Their evaluation is made through four assessment metrics and the Paretooptimal solutions of the employed metaheuristics by the epsilon constraint method.
Overall, it can be seen that most implementations can be found in the category of metaheuristics, and the majority of them use local search procedures. However, the papers [38,44,47,48,51] may be the only ones that proposed a populationbased metaheuristic for solving a vehicle routing problem in the HHC field. In addition, only [38,51] tackled a multicriteria problem through this kind of solution approach.
The last trends seem to focus either on uncertainties or dynamic data ([62] studied a pickup and delivery version of HHC with travel time uncertainty; [63] worked on the caregiver routing problem solved in a dynamic context with uncertainties and random events by a multiagent system; [53] proposed a dynamic method to handle sudden incidents in practice; and [54] considered the dynamic arrival and departure of patients and nursing staff to solve the daily scheduling and routing problem in a longterm perspective). However, none of those dealt with multiobjective functions.
Summarizing the literature review, most works on vehicle routing problems raised in HHC, either considering simultaneous/precedence synchronization or not, have tackled the multicriteria issue by a weighted sum of the considered criteria. The contribution of this paper is threefold: (1) The mostused benchmark from Bredström and Rönnqvist [17] is handled under a biobjective optimization, allowing another analysis of the tradeoff between both the cost and the nonpreference values, which tends to bring numerical results close to zero when using a weighted sum. (2) Populationbased methods are designed to solve the biobjective VRP with time windows, preferences, and timing constraints. (3) Several local search strategies are tested within the nondominated sorting methods proposed here.
The remainder of this article is structured as follows: The problem definition is exposed in Section 2. The different component of the basic NSGAII are detailed in Section 3. Three algorithm designs are deduced from combining these components and are exposed in Section 4. The results of the proposed methods, tested on instances from the literature, are presented in Section 5. Finally, conclusion and future research direction are provided in Section 6.
2. Problem Definition
To model the studied problem, patients were associated with customers and caregivers with vehicles. The problem can be seen as a variant of the vehicle routing problem with a time window and specific synchronization constraints encountered in the home healthcare system. In particular, the problem at hand focuses on cases in which some patients may ask for some services requiring more than one caregiver with different skills to be accomplished, either simultaneously or in a given order.
Before explaining how simultaneous synchronization/precedence constraints and objective function are modeled, let us introduce the following notation:
 N is the set of customers.
 $L=\{d,f\}$ is the set of initial and final depots denoted as d and f, respectively.
 $V=N\cup L$ is the set of nodes.
 S is the set of offered services, where ${S}_{i}$ is the subset of services requested by customer $i\in N$.
 $[{a}_{i},{b}_{i}]$ denotes the service time window at customer i, which are hard in this study. Indeed, service at customer i must start only in this interval: if a caregiver arrives at i before ${a}_{i}$, a waiting time occurs, and the service after time ${b}_{i}$ is not allowed to be provided.
 K is the set of available vehicles, where ${K}_{s}$ is the subset of vehicles performing service $s\in S$.
 ${C}_{ij}$ is the travel cost from customer $i\in V$ to $j\in V$.
 $Pre{f}_{ik}$ is the nonpreference value of customer $i\in N$ to the caregiver $k\in K$.
 ${t}_{ik}$ is a scheduling variable corresponding to the starting time of the service by vehicle k at customer $i\in N$.
 ${x}_{ijk}$ is equal to one if and only if the vehicle $k\in K$ goes from i to j, zero otherwise.
VRPTWSP consists of building a set of routes, such that the following conditions are satisfied:
 each route starts at the initial depot d and ends at the final depot f,
 each vehicle route does not exceed the maximal imposed duration,
 each customer time window must be respected,
 each customer service request is satisfied,
 each service must be accomplished by the qualified caregiver,
 timing constraints linking the start time of services at customers asking for more than one service must be considered.
In a preliminary work [1], the authors extended the constraints proposed by [32] to deal with both types of synchronization (simultaneous and precedence) while retaining the idea of avoiding node duplication for customers requiring synchronized visits. In addition, several heuristics and local research procedures were proposed to solve the problem as a singleobjective variant. Here, we propose to use these methods to solve the biobjective problem.
Synchronization constraints are expressed for some customers $i\in N$ by defining $ga{p}_{isr}$ as the required time between the starting times of services s and r requested by customer i. For a simultaneous pair of services, this gap is obviously set to zero. Then, synchronization/precedence constraints are defined as:
$$\begin{array}{c}\hfill \forall i\in N,\forall s\in {S}_{i},\forall r\in {S}_{i}:r\ne s,\phantom{\rule{1.em}{0ex}}{\displaystyle \sum _{k\in {K}_{s}}}{t}_{ik}{\displaystyle \sum _{k\in {K}_{r}}}{t}_{ik}=ga{p}_{isr}\end{array}$$
The considered objective function is formulated as follows:
with,
$$\begin{array}{c}\hfill min\phantom{\rule{1.em}{0ex}}Z=({Z}_{1},{Z}_{2})\end{array}$$
$$\begin{array}{c}{Z}_{1}={\displaystyle \sum _{i\in V\setminus \left\{f\right\}}}{\displaystyle \sum _{j\in V\setminus \left\{d\right\}}}{\displaystyle \sum _{k\in K}}{C}_{ij}.{x}_{ijk}\hfill \end{array}$$
$$\begin{array}{c}{Z}_{2}={\displaystyle \sum _{i\in N}}{\displaystyle \sum _{j\in V\setminus \left\{d\right\}}}{\displaystyle \sum _{k\in K}}Pre{f}_{ik}.{x}_{ijk}\hfill \end{array}$$
Here, Z is regarded as a twodimensional vector $Z=({Z}_{1},{Z}_{2})$, where both objectives must be optimized simultaneously. For more details on the proposed mathematical model, readers are referred to Ait Haddadene et al. [1] in which $Z={Z}_{1}+{Z}_{2}$ was minimized. Note that patient preference for caregivers is quantified by a negative value. Thus, a large negative value means a highlydesired assignment, while a positive value means an undesired visit.
3. NonDominated Sorting Genetic Algorithms
3.1. Motivation
The principle of the NonDominated Sorting Genetic Algorithm (NSGAII) proposed by [64] is chosen to solve the biobjective VRPTWSP, since it has been successfully used for solving multiobjective combinatorial optimization problems and especially vehicle routing problems, such as in Lacomme et al. [60], Velasco et al. [61], and Labadie et al. [65]. As far as we know, there are no works addressing the NSGAII to solve the multiobjective vehicle routing problems in the HHC context.
The remainder of this section is organized as follows: First, Section 3.2 introduces the nontrivial framework of NSGAII. Then, from Section 3.3, Section 3.4, Section 3.5 and Section 3.6, the adaptation to the biobjective VRPTWSP is described, while introducing new components. However, two new methods will be derived by combining these various proposed components such as a restart NSGAII, which generalizes the main idea of the NSGAII, and a socalled NSILS for The NonDominated Sorting Iterated Local Search, merging a nondominated sorting concept with the iterated local search procedure. The general structures of these three methods will be detailed in Section 4.
3.2. General Principle
The proposed approaches work on a population of solutions and can be seen as an adaptation of the nondominated sorting genetic algorithm (NSGAII). It is a Paretooptimal method based on the dominance concept. Dominance relations in the Pareto sense are defined as follows: for two objectives ${Z}_{1}$ and ${Z}_{2}$ to be minimized, we say that a solution x dominates a solution y$(x\prec y)$ if $({Z}_{1}\left(x\right)\le {Z}_{1}\left(y\right)\phantom{\rule{4pt}{0ex}}and\phantom{\rule{4pt}{0ex}}{Z}_{2}\left(x\right)<{Z}_{2}\left(y\right)),\phantom{\rule{4pt}{0ex}}or\phantom{\rule{4pt}{0ex}}({Z}_{1}\left(x\right)<{Z}_{1}\left(y\right)\phantom{\rule{4pt}{0ex}}and\phantom{\rule{4pt}{0ex}}{Z}_{2}\left(x\right)\le {Z}_{2}\left(y\right))$. This lets us say that a solution is nondominated, or is efficient if no solution can be found that improves strictly both objectives. In other terms, it is impossible to improve one of the objectives without deteriorating the other one.
The optimization in the Pareto sense computes the set of nondominated solutions called the Pareto front. A nondominated sorting uses a ranking method for the fitness assignment and a crowding distance for maintaining the diversity of the population.
In NSGAII, successive generations of solutions are classified into nondominated fronts. Each nondominated front is identified and ranked according to the level of nondomination from Front 0 until the partition of the population is complete. Besides ranking, NSGAII uses a crowding distance as a measure that indicates how near solutions on the same front are to each other. Indeed, the crowding distance measures the density of solutions in a front. Considering our two objectives for the VRPTWSP and a front F, the crowding distance of a solution k is computed as follows:
$$\begin{array}{c}Crowding\phantom{\rule{4.pt}{0ex}}distance\left(F\left(k\right)\right)=\frac{{Z}_{1}^{pred\left(k\right)}{Z}_{1}^{suc\left(k\right)}}{{Z}_{1}^{max}{Z}_{1}^{min}}+\frac{{Z}_{2}^{suc\left(k\right)}{Z}_{2}^{pred\left(k\right)}}{{Z}_{2}^{max}{Z}_{2}^{min}}\hfill \end{array}$$
$suc\left(k\right)$ and $pred\left(k\right)$ are respectively the successor and the predecessor solution of the ${k}^{\mathrm{th}}$ one in the sorted front (see Figure 1). ${Z}_{c}^{max}$ (respectively ${Z}_{c}^{min}$) corresponds to the worst (respectively best) value of objective c, with $c=1,2$. For the extreme points in all fronts, the crowding distance is set to ∞.
The population update is illustrated in Figure 2 designed by Deb et al. [64]. Let t be the population rank. First, a population ${P}_{t}$ and the offspring population ${Q}_{t}$ are merged to obtain a population ${R}_{t}$ of size $2NP$. ${R}_{t}$ is then sorted out according to the nondomination criterion. Solutions in front ${F}_{0}$ are obviously of better quality and have to be conserved in the following population. However, if the size of the front ${F}_{0}$ is bigger than $NP$, only a part of the front is kept. In the case where the size of ${F}_{0}$ is strictly less than $NP$, the population ${P}_{t+1}$ has to be completed with solutions from the following fronts. In both cases, the choice is based on the crowding distance measure taken in descending order.
Basically, at each generation of NSGAII, an initial population (${P}_{0}$) of $NP$ individuals is generated and sorted according to the nondomination criterion. At each iteration, a childpopulation (${Q}_{0}$) containing $NP$ individuals is produced. To get this population (${Q}_{0}$), pairs of parents ${P}_{1}$, ${P}_{2}$ are selected using the binary tournament method. Then, a crossover operator is applied to the two selected parents to obtain children, which are added to (${Q}_{0}$). Finally, ${P}_{0}$ and ${Q}_{0}$ are merged to obtain a mixedpopulation of size $2NP$ (${R}_{0}={P}_{0}\cup {Q}_{0}$). The latter is then sorted out (according to the nondomination criterion), and just the $NP$ first solutions are retained to the next iteration. This process is repeated until a stopping condition is satisfied.
3.3. Encoding of A Solution
For VRPTWSP, each solution is encoded as a vector of routes ($VR$) in which each route is a sequence of customers that appear in the order they are visited by the associated vehicle, where delimiters are used to identify the routes. For example, Table 6 encodes a solution with three routes (vehicles) $VR=(0,1,3,0,4,7,2,0,6,5,0)$. The first is composed of Customer 1 followed by Customer 3, and the second route is composed of Customer 4, followed by Customer 7, which is followed by Customer 2, while the third route is composed of Customer 6 followed by Customer 5 (0 corresponds to the delimiter). Since our problem handles a fixed fleet size K, any vector $VR$ has a size equal to $K+N+1$ (if all vehicles are used).
3.4. Initial Population
The generation of the initial population was done thanks to an adaptation of the Parallel Randomized constructive Heuristic (PRH), proposed to solve the VRPTWSP in a previous work (see Ait Haddadene et al. [1]). Globally, this method uses a parallel strategy to generate $NP$ solutions. A solution is created as follows: First, a route is opened for each available vehicle. Then, routes are fulfilled in a parallel way with customers selected from a sorted list of candidates ($CL$).
3.4.1. Construction of the Candidate List
Let i be the last customer visited by a vehicle (tour) k that offers the service s (at the beginning, i is the initial depot $i=d$). At each iteration, the following indicators are calculated for each unvisited customer j: $Eda{t}_{ij}$ the earliest time at which the vehicle k leaving i may be at the client j and $Lda{t}_{ij}$ the latest time when the vehicle leaving customer i can be at the customer j. $LB{T}_{js}$ and $UB{T}_{js}$ are respectively a lower and upper bound that ensure the return to the final depot in its time window. Then, the best client (elite) according to the minimum value of $Eda{t}_{ij}$ is selected among the list of candidates built as follows: a customer j is a candidate for a tour k under construction, if he/she has not yet been visited and if he/she satisfies the following conditions: $Eda{t}_{ij}\le {b}_{j}$, $Lda{t}_{ij}\ge Eda{t}_{ij}$, and $LB{T}_{js}\le UB{T}_{js}$.
Here, a randomized version of the constructive heuristic is necessary to provide independent initial solutions (chromosomes). Randomness is based on the constructed list of candidates that is truncated to keep only the first $Ncand$ clients. Then, the elite client is randomly chosen from this restricted list. The heuristic stops when all customers are inserted or when no more customers can be added to a vehicle (due to time window constraints and/or synchronization constraints).
It may result in a solution with unsatisfied customers. Thus, a second step considers all unvisited customers and tries to insert them at the first possible position in any existing route. These customers are taken in the increasing order of their starting availability time. However, if the solution is still not feasible, a new trial occurs on another close solution. This close solution is obtained by sequentially removing and inserting at another position (if possible) a fixed number ${C}_{max}$ of customers. This last process is repeated until reaching a feasible solution.
3.4.2. Improvement of the Initial Population
In order to improve the quality of these initial solutions, a Randomized Local Search ($RLS$) for the single objective VRPTWSP is applied to each solution from ${P}_{0}$. Its general structure is sketched in Algorithm 1. Here, the Paretodominance concept is not yet considered. At this point, the optimized objective function is $min({Z}_{1}+{Z}_{2})$. The considered moves are detailed in Section 3.6. Those are explored iteratively in a random sequence provided by a list of a certain size (${\gamma}_{max}$ is the number of considered neighborhoods). In Line 5 of Algorithm 1, a neighborhood $\delta $ denoted by ${N}_{\delta}\left(Sol\right)$ is chosen to be entirely explored. For example, we assume that Line 2 in Algorithm 1 gives the following sequence: {2, 3, 1}, then $\delta \leftarrow List\left[1\right]$ means that Neighborhood 2 is explored first until no more improvement is found, then Neighborhood 3 is selected, etc. In this case, $F\left(Sol\right)={Z}_{1}\left(Sol\right)+{Z}_{2}\left(Sol\right)$.
Algorithm 1 Randomized local search. 

3.5. Evolutionary Process
Two evolutionary processes are used to make a population evolve. The first one is a crossover operator employed once within a Non Dominated Sorting Genetic Algorithm (NSGAII) and then generalized to a new version called MultiStart (MSNSGAII). The second process consists of replacing the crossover and local search components by an iterated local search procedure.
3.5.1. Selection and Crossover Operators
The ordered crossover ($OX$) is applied. At each iteration, a new population is generated by the process that selects two parent solutions ${P}_{1}$ and ${P}_{2}$ and generates children by applying the crossover operator. The selection is done following the binary tournament. For that, two solutions chosen randomly are compared. Then, the solution with the smallest rank is kept as ${P}_{1}$. The same process is repeated to select ${P}_{2}$. If two solutions belong to the same front, the crowded comparison prefers the one with the highest crowding distance.
Two childsolutions are then created by crossing the two selected parents using the ordered crossover ($OX$) applied on each route. This is done as follows: a randomized crossover point is selected for each tour, then the two solutions are combined tour by tour to obtain two children. Figure 3 illustrates an example of the crossover operator. Crossing parents tour by tour allows us to meet the constraint related to vehicle skills (i.e., a client is visited by a vehicle offering its requested service). Nevertheless, the resulting child may be unfeasible in terms of customers/depot time windows, synchronization constraints, etc. Therefore, a repair procedure is called, and it is performed in three steps:
 Removing duplicates: If some customer appears in different routes, one of the different copies is randomly retained.
 Updating time visits: Time windows and synchronization constraint violation is prohibited. When a customer is not visited during his/her time window, he/she is removed from the solution. When a vehicle time window is violated, customers causing the violation are removed starting by the last customer of the corresponding route and coming up sequentially backward even for customers to be synchronized, provided that timing constraints are not respected or if the customers to be synchronized are inserted in contradictory positions (Figure 4 shows an example of a contradictory position of clients i and j to be eliminated). The corresponding customer is then deleted, and the vehicle arrival time to the final depot is updated.
 Insertion of unsatisfied customers: All nonvisited customers are considered and inserted in the first feasible position (the repair procedure explained at the end of Section 3.4 is used here).
Note that, in our previous paper Ait Haddadene et al. [1], feasibility tests implemented in constant time were proposed to check the feasibility of any insertion before its execution. These tests were applied here. In addition to the repair procedure, they were also used in the construction heuristic and in the local search.
Since the number of routes is related to the number of available vehicles (which is limited to $\leftK\right$), the number of crossover points is equal to the number of used vehicles. In the case of an empty route (which means that the route is not opened for the corresponding vehicle), the child route will be a copy of the parent route.
3.5.2. Iterated Local Search Procedure
An iterated local search procedure is proposed to diversity and intensify the population. It consists of perturbing a solution with the aims to jump into another solution adjacent to the current one by introducing nondeterministic components (diversification). Then, a local search acts as the intensification. The problem of finding feasible solutions is difficult, because of timing constraints; that is why the perturbation mechanism performs a fixed number (${C}_{max2}$) of random exchange moves to introduce diversity while remaining within the set of feasible solutions. The resulting individual may be improved by applying a local search procedure (details are given in the next section). The process consisting of perturbing + improving is repeated $ma{x}_{P}$ times on the selected individual.
Technically, when a local search is applied on the perturbed solution, this leads to an iterated local search procedure. Remember that this method ($ILS$) initiates its search from a good quality solution. This means that a local search procedure is first applied on the current parent, with the aim of obtaining a first local optimum. Then, at each iteration of the $ILS$, the current parent is perturbed with the intent to escape the local optima, which are generally grouped into clusters in the solution space. The resulting solution undergoes the local search to reach another local optimum. The incumbent solution is updated only in the case of improvement. The cycle consisting of perturbation and local search is repeated until the given number ($ma{x}_{P}$) of iterations is reached. The resulting solution is considered as a “childsolution”. This method allows us to maintain the feasibility of the solutions.
3.6. Local Search
This procedure may consist of generating neighborhoods using the first or best improvement strategy. In our study, preliminary tests have shown that looking for the best feasible move requires much time with limited gain in comparison with a first improvement strategy. That is why the latter has been selected. The whole local search stops when all neighborhoods are explored without finding any improvement.
Our neighborhoods are defined by simple commonlyused moves in VRP, involving one or usually more clients and/or one or more routes. They are the relocation and the twoexchange move, both executed on a single or different routes.
3.6.1. Acceptance Criteria for a Move
In the multiobjective context, a solution $Sol$ improves $So{l}^{\prime}$ if it dominates it. In what follows, ${Z}_{1}\left(Sol\right)$ and ${Z}_{2}\left(Sol\right)$ respectively denote the total travel cost and the total nonpreference value of a solution $Sol$, and w is a real number belonging to $[0,1]$.
The criteria tested to decide if converting a solution $Sol$ into $So{l}^{\prime}$ is an improved one define two different strategies ($LS1$ and $LS2$).
$LS1$: the Pareto dominance: $So{l}^{\prime}$ improves $Sol$ if $\left(({Z}_{1}\left(So{l}^{\prime}\right){Z}_{1}\left(Sol\right)\le 0)\phantom{\rule{4pt}{0ex}}and\phantom{\rule{4pt}{0ex}}({Z}_{2}\left(So{l}^{\prime}\right){Z}_{2}\left(Sol\right)<0)\right)\phantom{\rule{4pt}{0ex}}or\phantom{\rule{4pt}{0ex}}\left(({Z}_{1}\left(So{l}^{\prime}\right){Z}_{1}\left(Sol\right)<0)\phantom{\rule{4pt}{0ex}}and\phantom{\rule{4pt}{0ex}}({Z}_{2}\left(So{l}^{\prime}\right){Z}_{2}\left(Sol\right)\le 0)\right)$.
However, it could be interesting to use an acceptance criteria based on the convex combination of the objective functions, such as done in $LS2$. The main objective is to improve solutions in the first front conducting the search by descending values with emphasis on the extreme solutions, while preserving the space between solutions. These techniques were first introduced by [66]. For that, a pseudoweight w must be computed for a given solution $Sol$. In [66], the authors used Equation (5), in which ${Z}_{c}^{min}$ and ${Z}_{c}^{max}$ are respectively the minimum and the maximum values of criterion c ($c=1,2$).
$$\begin{array}{c}\mathit{w}=\frac{\frac{{Z}_{1}\left(Sol\right){Z}_{1}^{min}}{{Z}_{1}^{max}{Z}_{1}^{min}}}{\frac{{Z}_{1}\left(Sol\right){Z}_{1}^{min}}{{Z}_{1}^{max}{Z}_{1}^{min}}+\frac{{Z}_{2}\left(Sol\right){Z}_{2}^{min}}{{Z}_{2}^{max}{Z}_{2}^{min}}}\hfill \end{array}$$
Then, an improving move is accepted if $w.({Z}_{1}\left(So{l}^{\prime}\right){Z}_{1}\left(Sol\right))+(1w).({Z}_{2}\left(So{l}^{\prime}\right){Z}_{2}\left(Sol\right))<0$ with $w\in [0,1]$.
3.6.2. Local Search Strategy
A classical way to add a local search in a genetic algorithm is to apply it on some of the child solutions. This is what was proposed in Strategy 1 with a call to $LS1$ on solutions of the childpopulation (Lines 6–8 of Algorithm 2). However, the Paretodominance is more strict than the acceptance criterion based on the convex combination of the objective functions. Thus, $LS2$ may be called postoptimization (Strategy 2) on solutions of the first front (${F}_{0}$) obtained at the last population (Line 14 of Algorithm 2).
Algorithm 2 NonDominated Sorting Genetic Algorithm (NSGAII). 

3.6.3. Local Search Frequency
For genetic algorithms (including the crossover operator), the local search procedure is called periodically. This means that the local search procedure is employed each $nb$ generation. In this case, $\mathsf{\Theta}$% solutions of the childpopulation undergo the local search, which are chosen according to the nondominated sorting. For the NSILS (including the ILS procedure), the local search is applied systematically. This means that, at each generation, the local search is called, and in this case, $\mathsf{\Theta}$% solutions of the childpopulation selected randomly undergo the local search. Table 7 summarizes all tested versions.
4. Pseudocodes
Now that all components have been defined, this section is devoted to the three pseudocodes tested in this article. The first is summarized in Algorithm 2 and is the general framework of NSGAII including the local search procedure.
To diversify the search, an idea is to restart NSGAII from another initialpopulation instead of loosing time in unproductive generations, thus giving what we call a MultiStart NonDominated Sorting Genetic Algorithm (MSNSGAII). Lines 1–15 of Algorithm 2 are repeated $nbstart$ times. At the end of each restart, the best population is updated by mixing the last best population $BestPop$ with the currentpopulation of NSGAII. The latter is then sorted out (according to the nondomination criterion), and just the $NP$ first solutions are retained. To test the same number of iterations as in Algorithm 2, an iteration of NSGAII inside MSNSGAII consists of $N{G}_{1}=\frac{NG}{nbstart}$ generations. The general structure of this approach is given by Algorithm 3.
Algorithm 3 MultiStart NonDominated Sorting Genetic Algorithm (MSNSGAII). 

The third pseudocode is given in Algorithm 4. It is obtained by replacing the crossover operator of Algorithm 2 by the iterated local search procedure detailed in Section 3.5.2.
Other configurations were designed, especially for the percentage of involved solutions for the local search. However, only versions that appeared successful are shown in this paper. In total, seven versions were tested and compared on 37 instances.
Algorithm 4 NonDominated Sorting Iterated Local Search Algorithm (NSILS). 

5. Computational Experiments
5.1. Implementation and Instances
Our algorithms were implemented in C language and executed on a 3.20GHz Intel(R) Core(TM) i53470 CPU computer with 8 GB of RAM, running under Ubuntu. A set of HHC instances was designed by Bredström and Rönnqvist [17]. These instances include most of the particular features of the VRPTWSP studied here: time windows, synchronization, and preferences. They were specifically extended to fit the additional problem specifications related to the different types of services offered to and requested by customers. The benchmark was grouped into three different categories according to the number of customers and vehicles, which were equal to 18 clients with 4 vehicles in the first group ($G1$), 45 clients with 10 vehicles in the second group ($G2$), and 73 clients with 16 vehicles in the third one ($G3$). In each group, the number of synchronizations ranged from 25, and the time windows could be small, medium, or large. In the extended version of instances, the customer demands and caregiver qualifications were randomly generated, but the rest of the information remained the same as in [17]. Without loss of generality, we only treated the case when at most two services were needed. The extended benchmark can be obtained by a simple request to the authors.
The file names followed an nmtnb format, with $n\in \{18,45,73\}$ clients, $m\in \{4,10,16\}$ vehicles, $t\in \{s,l,m\}$ referring to the width of the customer time windows (small, medium, or large,) and the last index $nb\in \{2,3,4,5\}$ corresponding to the maximum number of clients to be synchronized. These values were inspired from literature instances, where the number of synchronized customers did not exceed 10% of the total number of customers. All randomized algorithms were executed five times on each instance.
5.2. Evaluation Criteria
In this paper, the performance of the different versions of the algorithms was measured through five metrics:
 ${F}_{0}$: The number of solutions in the first front ${F}_{0}$.
 $SP$: The spacing measure proposed by Schott [67], which estimates the relative distance between two consecutive solutions obtained in the nondominated set, as follows:$$\begin{array}{c}SP=\sqrt{\frac{1}{{F}_{0}}{\displaystyle \sum _{i=1}^{{F}_{0}}}{({d}_{i}\overline{d})}^{2}}\hfill \end{array}$$
 $HV$: The hypervolume introduced by Zitzler et al. [68], which calculates the volume covered by members of ${F}_{0}$. Mathematically, for each solution $i\in {F}_{0}$, a hyperrectangle ${v}_{i}$ is constructed with a reference point. The reference point is defined by the maximal value of ${Z}_{1}$ and ${Z}_{2}$ obtained by all tested versions. Thereafter, a union of all hyperrectangle is found, and the hypervolume $HV$ is calculated (see Figure 5). In this case, one method with a large value of $HV$ is desirable.$$\begin{array}{c}\mathrm{HV}=volume{\displaystyle \bigcup _{i=1}^{{F}_{0}}}{v}_{i}\hfill \end{array}$$
 $DO$: The deviation from the optimal solution found by Cplex, which was used to solve the singleobjective model in Ait Haddadene et al. [34], where ${Z}_{1}+{Z}_{2}$ was minimized. First, the best solution (called p) is identified by calculating the Euclidean distance of each solution in the first front to the optimal solution (called q). p corresponds to the solution with the smallest sum of the Euclidean distance. Then, the percentage of the deviation is calculated as follows:$$\begin{array}{c}D{O}_{1}(p,q)=(({Z}_{1}^{p}{Z}_{1}^{q})/{Z}_{1}^{q}\left\right)\ast 100\hfill \end{array}$$$$\begin{array}{c}D{O}_{2}(p,q)=(({Z}_{2}^{p}{Z}_{2}^{q})/{Z}_{2}^{q}\left\right)\ast 100\hfill \end{array}$$
 $CPU$: The computational execution time reported in seconds.
5.3. Test Protocol and Parameters
For the set of instances, calibration with different configurations of parameters was used to see which version produced the best results. The best values that allowed obtaining a good compromise between solution quality and running time according to the performance measures mentioned above are shown in Table 8.
5.4. Numerical Results
Average results for the 37 test instances are shown for the different versions in Table 9, respectively for NSGAII, MSNSGAII, and NSILS. In this table, the minimum (min), maximum (max), and the average values (av.) for the number of solutions in the first front (${F}_{0}$), the hypervolume metric ($HV$), the spacing measure ($SP$), the percentage of the deviation from the optimal solution, and the $CPU$ time reported in seconds are given. As can been seen in Table 9, all versions with the local search procedure were better than versions without it, at a cost of a computing time about threetimes higher on average.
In terms of the ${F}_{0}$ indicator, globally, NSGAII1 found more solutions in the nondominated Pareto front, offering the decision maker a set of solutions with a good compromise between the total travel cost and the customer preferences. Regarding the $SP$ metric, all versions of the NSGAII and NSILS2 methods were almost equivalent with a good coverage in the objective space by members from the nondominated fronts.
According to the $HV$ metric, from NSILS, applying $LS1$ was better. However, MSNSGAII was practically equivalent to NSGAII for both local searchbased methods. Furthermore, NSGAII1 was the worst one according to this performance indicator. It is important to mention that the position of the solutions in the search space did not have a direct impact on the $HV$ metric. Even when the $SP$ metrics and ${F}_{0}$ were better, this did not guarantee better values for the $HV$ metric.
According to the optimal deviation from optimal solutions ${Z}_{1}$ and ${Z}_{2}$ indicator, all versions found the optimal solution for ${Z}_{1}$ and/or better with a good solution quality of ${Z}_{2}$. This shows that the methods were more accurate for ${Z}_{1}$ than for ${Z}_{2}$. However, in general, NSILS can find better solutions than genetic methods according to $D{O}_{1}$, which is related to the minimization of the total travel cost. Therefore, it can be deduced that, even when the genetic aspect was not considered, but the nondominated sorting was retained, the method obtained solutions of good quality, in a reasonable execution time. Once again, this metric allowed us to deduce the impact of the local search procedure in terms of convergence.
As can be expected, the running time ($CPU$) depended on the methods used. Those can be classified as follows: NSILS was more rapid than NSGAII, which was faster than MSNSGAII. In accordance with the different variations of the proposed methods, NSGAII1 and MSNSGAII1 required less computational time due to the way the local search was integrated. Note also that the mutation procedure was not used here, since preliminary tests showed that the crossover followed by local search led to better performance of the solution; thus, the mutation procedure was replaced by the latter.
5.5. Graphical Examples
Graphical representations are well suited to visualize the behavior of biobjective optimization methods.
The two figures illustrate the impact of the local search procedure on the same instance. This is by comparing the efficient set computed by the basic version NSGAII1 and MSNSGAII1 (no local search) with the other versions obtained local search strategies for each algorithm.
Figure 6 shows that hybridization with local search was necessary to obtain efficient solutions. Here for example, NSGAII2 decreased the best travel cost of NSGAII1 by approximately 73% (from ∼320 to ∼265) and the best nonpreference by 5% (from ∼−200 to ∼−210). Thus, NSILS decreased the best travel cost of NSGAII−2 by approximately 5% (from ∼ 265 to ∼ 250). Moreover, several efficient solutions were obtained, and they were better spread, thus providing the decision maker with a wider choice.
For the same instance, Figure 7 shows that all local searchbased algorithms had a good convergence. However, NSGILS confirmed the numerical results, obtaining smaller fronts.
Thus, from Figure 7, it is clear that MSNSGAII1 had not entirely converged and that MSNSGAII2 and MSNSGAII3 were more efficient, hence the interest in including local search procedures.
6. Conclusions
In this paper, population methods based on the NSGAII template with different local search strategies were presented in order to solve a biobjective variant of the vehicle routing problem with time windows, in which both synchronization and precedence constraints were considered. The goal in this problem was to minimize the travel cost (${Z}_{1}$) while minimizing the customer nonpreference (${Z}_{2}$). This study was motivated by applications raised in home healthcare structures. A quick overview of vehicle routing problems with time windows and synchronization constraints was given. Special attention was accorded to existing works related to the home healthcare field, particularly those considering several optimization criteria.
Different local searchbased versions of NSGAII were compared as well to the basic version of NSGAII. The effect of replacing the crossover operator and the local search procedure by an $ILS$ method was also evaluated. A new variant of NSGAII called MSNSGAII was tested, where independent parentpopulations were produced.
Computational experiments were carried out on 37 instances, which were extended from the benchmark initially proposed by Bredström and Rönnqvist [17]. To evaluate the performance of the developed algorithms, different measures that compared the obtained fronts were used. Additionally, the best ${Z}_{1}$ and ${Z}_{2}$ values were compared with the optimal solutions found by Cplex, which was used to solve the singleobjective MILP in Ait Haddadene et al. [1]. After analyzing the different measures, the good performance of the proposed NSGAII version for solving the VRPTWSP was established. The benefit of the local search procedure was clearly demonstrated, and results showed that including the local search procedure improved the solutions for both objectives, while the computational times were still reasonable. Finally, the proposed methods efficiently solved the VRPTWSP and provided a large set of solution choices to the decision maker. As future work, other objective functions and local search moves may be considered. Moreover, the optimal Pareto front could be designed for more specific comparison.
Author Contributions
Conceptualization, N.L. and C.P.; Formal analysis, S.R.A.H., N.L. and C.P.; Investigation, S.R.A.H.; Software, S.R.A.H.; Supervision, N.L. and C.P.; Writing—original draft, S.R.A.H.; Writing—review & editing, N.L. and C.P.
Funding
This research received no external funding.
Conflicts of Interest
The authors declare no conflict of interest.
References
 Ait Haddadene, S.; Labadie, N.; Prodhon, C. A GRASP × ILS for the vehicle routing problem with time windows, synchronization and precedence constraints. Expert Syst. Appl. 2016, 6, 274–294. [Google Scholar] [CrossRef]
 Dantzig, G.; Ramser, J. The truck dispatching problem. Manag. Sci. 1959, 6, 80–91. [Google Scholar] [CrossRef]
 Toth, P.; Vigo, D. Vehicle Routing: Problems, Methods, and Applications; SIAM: Philadelpia, PA, USA, 2014. [Google Scholar]
 Vidal, T. General solution approaches for multiattribute vehicle routing and scheduling problems. 4OR 2014, 12, 97–98. [Google Scholar] [CrossRef]
 Kindervater, G.; Savelsbergh, M. Vehicle routing: Handling edge exchanges. In Local Search in Combinatorial Optimization; Aarts, E., Lenstra, J., Eds.; Wiley: Chichester, UK, 1997; pp. 337–360. [Google Scholar]
 Bräysy, O.; Gendreau, M. Vehicle routing problem with time windows, part I: Route construction and local search algorithms. Transp. Sci. 2005, 39, 119–139. [Google Scholar] [CrossRef]
 Nagata, Y. Efficient Evolutionary Algorithm for the Vehicle Routing Problem with Time Windows: Edge Assembly Crossover for the VRPTW. In Proceedings of the 2007 IEEE Congress on Evolutionary Computation, Singapore, 25–28 September 2007; pp. 1175–1182. [Google Scholar]
 Bräysy, O.; Gendreau, M.; Tarantilis, C. Solving LargeScale Vehicle Routing Problems with Time Windows: The StateoftheArt; Technical Report; Montreal: Cirrelt, QC, Canada, 2010. [Google Scholar]
 Bodin, L.; Sexton, T. The multivehicle subscriber dialaride problem. TIMS Stud. Manag. Sci. 1986, 2, 73–86. [Google Scholar]
 Cheng, E.; Rich, J. A Home Health Care Routing and Scheduling Problem; Technical Report CAAM TR9804; Rice University: Houston, TX, USA, 1998. [Google Scholar]
 Fikar, C.; Hirsch, P. Home healthcare routing and scheduling: A review. Comput. Oper. Res. 2017, 77, 86–95. [Google Scholar] [CrossRef]
 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, 1–22. [Google Scholar] [CrossRef]
 Begur, S.; Miller, D.; Weaver, J. An integrated spatial DSS for scheduling and routing homehealthcare nurses. Interfaces 1997, 27, 35–48. [Google Scholar] [CrossRef]
 Bertels, S.; Fahle, T. A hybrid setup for a hybrid scenario: Combining heuristics for the home healthcare problem. Comput. Oper. Res. 2006, 33, 2866–2890. [Google Scholar] [CrossRef]
 Eveborn, P.; Flisberg, P.; Rönnqvist, M. Laps Care—An operational system for staff planning of home care. Eur. J. Oper. Res. 2006, 171, 962–976. [Google Scholar] [CrossRef]
 Akjiratikarl, C.; Yenradee, P.; Drake, P. PSObased algorithm for home care worker scheduling in the UK. Comput. Ind. Eng. 2007, 53, 559–583. [Google Scholar] [CrossRef]
 Bredström, D.; Rönnqvist, M. Combined vehicle routing and scheduling with temporal precedence and synchronization constraints. Eur. J. Oper. Res. 2008, 191, 19–31. [Google Scholar] [CrossRef]
 Steeg, J.; Schröder, M. A hybrid approach to solve the periodic home healthcare problem. In Operations Research Proceedings 2007; Springer: Berlin/Heidelberg, Germany, 2008; pp. 297–302. [Google Scholar]
 Hertz, A.; Lahrichi, N. A patient assignment algorithm for home care services. J. Oper. Res. Soc. 2009, 60, 481–495. [Google Scholar] [CrossRef]
 Redjem, R.; Kharraja, S.; Marcon, E. Collaborative model for planning and scheduling caregivers’ activities in homecare. IFAC World Congr. 2011, 44, 2877–2882. [Google Scholar]
 Trautsamwieser, A.; Gronalt, M.; Hirsch, P. Securing home healthcare in times of natural disasters. OR Spectr. 2011, 33, 787–813. [Google Scholar] [CrossRef]
 Trautsamwieser, A.; Hirsch, P. Optimization of daily scheduling for home healthcare services. J. Appl. Oper. Res. 2011, 3, 124–136. [Google Scholar]
 Nickel, S.; Schröder, M.; Steeg, J. Midterm and shortterm planning support for home healthcare services. Eur. J. Oper. Res. 2012, 219, 574–587. [Google Scholar] [CrossRef]
 Gamst, M.; Jensen, T. A branchandprice algorithm for the longterm home care scheduling problem. In Operations Research Proceedings 2011; Springer: Berlin/Heidelberg, Germany, 2012; pp. 483–488. [Google Scholar]
 Rasmussen, M.; Justesen, T.; Dohn, A.; Larsen, J. The home care crew scheduling problem: Preferencebased visit clustering and temporal dependencies. Eur. J. Oper. Res. 2012, 219, 598–610. [Google Scholar] [CrossRef]
 Redjem, R.; Kharraja, S.; Xie, X.; Marcon, E. Routing and scheduling of caregivers in home healthcare with synchronized visits. In Proceedings of the 9th International Conference on Modeling, Optimization & SIMulation, Bordeaux, France, June 2012. [Google Scholar]
 Afifi, S.; Dang, D.; Moukrim, A. A simulated annealing algorithm for the vehicle routing problem with time windows and synchronization constraints. In Learning and Intelligent Optimization; Springer: Berlin/Heidelberg, Germany, 2013; pp. 259–265. [Google Scholar]
 Liu, R.; Xie, X.; Augusto, V.; Rodriguez, C. Heuristic algorithms for a vehicle routing problem with simultaneous delivery and pickup and time windows in home healthcare. Eur. J. Oper. Res. 2013, 230, 475–486. [Google Scholar] [CrossRef]
 Hiermann, G.; Prandtstetter, M.; Rendl, A.; Puchinger, J.; Raidl, G. Metaheuristics for solving a multimodal homehealthcare scheduling problem. Cent. Eur. J. Oper. Res. 2013, 23, 89–113. [Google Scholar] [CrossRef]
 Allaoua, H.; Borne, S.; Létocart, L.; WolflerCalvo, R. A matheuristic approach for solving a home healthcare problem. Electron. Notes Discret. Math. 2013, 41, 471–478. [Google Scholar] [CrossRef]
 Liu, R.; Xie, X.; Garaix, T. Hybridization of tabu search with feasible and infeasible local searches for periodic home healthcare logistics. Omega 2014, 47, 17–32. [Google Scholar] [CrossRef]
 Labadie, N.; Prins, C.; Yang, Y. Iterated local search for a vehicle routing problem with synchronization constraints. In Proceedings of the ICORES 2014 3rd International Conference on Operations Research and Enterprise Systems, Angers, Loire Valley, France, 6–8 March 2014; pp. 257–263. [Google Scholar]
 Ait Haddadene, S.; Labadie, N.; Prodhon, C. GRASP for the Vehicle Routing Problem With Time Windows, Synchronization and Precedence Constraints. In Proceedings of the IEEE 10th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), Larnaca, Cyprus, 8–10 October 2014; pp. 72–76. [Google Scholar]
 Ait Haddadene, S.; Labadie, N.; Prodhon, C. The VRP with Time Windows, Synchronization and Precedence Constraints: Application in Home Health Care Sector. In Proceedings of the MOSIM 2014, 10ème Conférence Francophone de Modélisation, Optimisation et Simulation, Nancy, France, 5–7 November 2014. [Google Scholar]
 Issaoui, B.; Zidi, I.; Marcon, E.; Ghedira, K. New MultiObjective Approach for the Home Care Service Problem Based on Scheduling Algorithms and Variable Neighborhood Descent. Electron. Notes Discret. Math. 2015, 47, 181–188. [Google Scholar] [CrossRef]
 Ennahli, L.; Allaoui, H.; Nouaouri, I. A Multiobjective Modelling to Human Resource Assignment and Routing Problem for Home Health Care Services. IFACPapersOnLine 2015, 48, 698–703. [Google Scholar] [CrossRef]
 Maya Duque, P.; Castro, M.; Sörensen, K.; Goos, P. Home care service planning. The case of Landelijke Thuiszorg. Eur. J. Oper. Res. 2015, 243, 292–301. [Google Scholar] [CrossRef]
 Braekers, K.; Hartl, R.; Parragh, S.; Tricoire, F. A biobjective home care scheduling problem: Analyzing the tradeoff between costs and client inconvenience. Eur. J. Oper. Res. 2016, 248, 428–443. [Google Scholar] [CrossRef]
 Afifi, S.; Dang, D.; Moukrim, A. Heuristic solutions for the vehicle routing problem with time windows and synchronized visits. Optim. Lett. 2016, 10, 511–525. [Google Scholar] [CrossRef]
 Fikar, C.; Hirsch, P. Evaluation of trip and car sharing concepts for home healthcare services. Flex. Serv. Manuf. J. 2016, 30, 78–97. [Google Scholar] [CrossRef]
 Heching, A.; Hooker, J. Scheduling home hospice care with logicbased benders decomposition. Lect. Notes Comput. Sci. 2016, 9676, 187–197. [Google Scholar]
 Lin, M.; Chin, K.; Wang, X.; Tsui, K. The therapist assignment problem in home healthcare structures. Expert Syst. Appl. 2016, 62, 44–62. [Google Scholar] [CrossRef]
 Redjem, R.; Marcon, E. Operations management in the home care services: A heuristic for the caregivers’ routing problem. Flex. Serv. Manuf. J. 2016, 28, 280–303. [Google Scholar] [CrossRef]
 Shi, Y.; Boudouh, T.; Grunder, O. A hybrid genetic algorithm for a home healthcare routing problem with time window and fuzzy demand. Expert Syst. Appl. 2017, 72, 160–176. [Google Scholar] [CrossRef]
 Wirnitzer, J.; Heckmann, I.; Meyer, A.; Nickel, S. Patientbased nurse rostering in home care. Oper. Res. Health Care 2016, 8, 91–102. [Google Scholar] [CrossRef]
 Yalçındag, S.; Matta, A.; Sahin, E.; Shanthikumar, J.G. The patient assignment problem in home healthcare: Using a datadriven method to estimate the travel times of care givers. Flex. Serv. Manuf. J. 2016, 28, 304–335. [Google Scholar] [CrossRef]
 Decerle, J.; Grunder, O.; El Hassani, A.H.; Barakat, O. A general model for the home healthcare routing and scheduling problem with route balancing. IFACPapersOnLine 2017, 50, 14662–14667. [Google Scholar] [CrossRef]
 Du, G.; Liang, X.; Sun, C. Scheduling optimization of home healthcare service considering patients’ priorities and time windows. Sustainability 2017, 9, 253. [Google Scholar] [CrossRef]
 Frifita, S.; Masmoudi, M.; Euchi, J. General variable neighborhood search for home healthcare routing and scheduling problem with time windows and synchronized visits. Electron. Notes Discret. Math. 2017, 58, 63–70. [Google Scholar] [CrossRef]
 Laesanklang, W.; LandaSilva, D. Decomposition techniques with mixed integer programming and heuristics for home healthcare planning. Ann. Oper. Res. 2017, 256, 93–127. [Google Scholar] [CrossRef]
 Decerle, J.; Grunder, O.; El Hassani, A.H.; Barakat, O. A memetic algorithm for a home healthcare routing and scheduling problem. Oper. Res. Health Care 2018, 16, 59–71. [Google Scholar] [CrossRef]
 FathollahiFard, A.M.; HajiaghaeiKeshteli, M.; TavakkoliMoghaddam, R. A biobjective green home healthcare routing problem. J. Clean. Prod. 2018, 200, 423–443. [Google Scholar] [CrossRef]
 Lin, C.C.; Hung, L.P.; Liu, W.Y.; Tsai, M.C. Jointly rostering, routing, and rerostering for home healthcare services: A harmony search approach with genetic, saturation, inheritance, and immigrant schemes. Comput. Ind. Eng. 2018, 115, 151–166. [Google Scholar] [CrossRef]
 Nasir, J.; Dang, C. Solving a more flexible home healthcare scheduling and routing problem with joint patient and nursing staff selection. Sustainability 2018, 10, 148. [Google Scholar] [CrossRef]
 Liu, R.; Tao, Y.; Xie, X. An adaptive large neighborhood search heuristic for the vehicle routing problem with time windows and synchronized visits. Comput. Oper. Res. 2019, 101, 250–262. [Google Scholar] [CrossRef]
 Moussavi, S.; Mahdjoub, M.; Grunder, O. A matheuristic approach to the integration of worker assignment and vehicle routing problems: Application to home healthcare scheduling. Expert Syst. Appl. 2019, 125, 317–332. [Google Scholar] [CrossRef]
 Liu, R.; Yuan, B.; Jiang, Z. Mathematical model and exact algorithm for the home care worker scheduling and routing problem with lunch break requirements. Int. J. Prod. Res. 2017, 55, 558–575. [Google Scholar] [CrossRef]
 Drexl, M. Synchronization in vehicle routingA survey of VRPs with multiple synchronization constraints. Transp. Sci. 2012, 46, 297–316. [Google Scholar] [CrossRef]
 Jozefowiez, N.; Semet, F.; Talbi, E. Enhancements of NSGAII and Its Application to the Vehicle Routing Problem with Route Balancing; Artificial Evolution; Springer: Berlin/Heidelberg, Germany, 2006; pp. 131–142. [Google Scholar]
 Lacomme, P.; Prins, C.; Sevaux, M. A genetic algorithm for a biobjective capacitated arc routing problem. Comput. Oper. Res. 2006, 33, 3473–3493. [Google Scholar] [CrossRef]
 Velasco, N.; Dejax, P.; Guéret, C.; Prins, C. A nondominated sorting genetic algorithm for a biobjective pickup and delivery problem. Eng. Optim. 2012, 44, 305–325. [Google Scholar] [CrossRef]
 Issabakhsh, M.; HosseiniMotlagh, S.M.; Pishvaee, M.S.; Saghafi Nia, M. A vehicle routing problem for modeling home healthcare: A case study. Int. J. Transp. Eng. 2018, 5, 211–228. [Google Scholar]
 Marcon, E.; Chaabane, S.; Sallez, Y.; Bonte, T.; Trentesaux, D. A multiagent system based on reactive decision rules for solving the caregiver routing problem in home healthcare. Simul. Model. Pract. Theory 2017, 74, 134–151. [Google Scholar] [CrossRef]
 Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGAII. Evol. Comput. IEEE Trans. 2002, 6, 182–197. [Google Scholar] [CrossRef]
 Labadie, N.; Melechovsky, J.; Prins, C. An evolutionary algorithm with path relinking for a biobjective multiple traveling salesman problem with profits. In Applications of MultiCriteria and Game Theory Approaches; Springer: Berlin/Heidelberg, Germany, 2014; pp. 195–223. [Google Scholar]
 Murata, T.; Nozawa, H.; Ishibuchi, H.; Gen, M. Modification of Local Search Directions for NonDominated Solutions in Cellular Multiobjective Genetic Algorithms for Pattern Classification Problems; Evolutionary MultiCriterion Optimization; Springer: Berlin/Heidelberg, Germany, 2003; pp. 593–607. [Google Scholar]
 Schott, J. Fault Tolerant Design Using Single and Multicriteria Genetic Algorithm Optimization. Master’s Thesis, Massachusetts Institute of Technology, Dept. of Aeronautics and Astronautics, Cambridge, MA, USA, 1995. [Google Scholar]
 Zitzler, E.; Thiele, L.; Laumanns, M.; Fonseca, C.; Da Fonseca, V. Performance assessment of multiobjective optimizers: An analysis and review. IEEE Trans. Evol. Comput. 2003, 7, 117–132. [Google Scholar] [CrossRef]
Figure 5.
Hypervolume for ${Z}_{1}$ and ${Z}_{2}$ of the Vehicle Routing Problem with Time Windows, Synchronization, and Precedence constraints (VRPTWSP).
Abbr.  Description 

T  Time (travel, waiting, overtime, etc.) 
C  Costs (travel, waiting, assignment, etc.) 
D  Traveled distances 
B  Balance of the workload 
$PP$  Patient preference 
$CP$  Caregiver preference 
$US$  Unsatisfied services 
$NC$  Number of used caregivers 
T  C  D  B  $\mathit{PP}$  $\mathit{CP}$  $\mathit{US}$  $\mathit{NC}$  

[13]  ×  ×  
[10]  ×  
[14]  ×  ×  ×  
[15]  ×  
[16]  ×  
[17]  ×  ×  
[18]  ×  ×  ×  
[19]  ×  ×  
[20]  ×  
[21]  ×  ×  ×  
[22]  ×  ×  ×  
[23]  ×  ×  ×  
[24]  ×  ×  ×  ×  
[25]  ×  ×  ×  
[26]  ×  
[27]  ×  
[28]  ×  
[29]  ×  
[30]  ×  
[31]  ×  
[32]  ×  
[33]  ×  ×  
[34]  ×  ×  
[35]  ×  ×  
[36]  ×  ×  
[37]  ×  ×  ×  
[38]  ×  ×  
[39]  ×  ×  ×  
[1]  ×  ×  
[40]  ×  ×  
[41]  ×  ×  
[42]  ×  
[43]  ×  
[44]  ×  
[45]  ×  
[46]  ×  
[47]  ×  ×  ×  
[48]  ×  
[49]  ×  
[50]  ×  ×  ×  
[51]  ×  ×  ×  
[52]  ×  
[53]  ×  
[54]  ×  ×  ×  
[55]  ×  ×  
[56]  ×  
[57]  × 
Abbr.  Description 

$TW$  Time windows 
$Simu$  Simultaneous synchronization constraints 
$Pref$  Caregiver/patient preferences regarding time visits or assignment 
Q  Qualification 
$Prec$  Precedence synchronization constraints 
$Reg$  Periodicity/repeated visits on specific days 
$\mathit{TW}$  $\mathit{Simu}$  $\mathit{Pref}$  Q  $\mathit{Prec}$  $\mathit{Reg}$  

[13]  ×  ×  ×  
[10]  ×  ×  
[14]  ×  ×  
[15]  ×  ×  ×  ×  
[16]  ×  
[17]  ×  ×  
[18]  ×  ×  
[19]  ×  
[20]  ×  
[21]  ×  ×  ×  
[22]  ×  ×  ×  
[23]  ×  ×  ×  
[24]  ×  ×  ×  
[25]  ×  ×  
[26]  ×  ×  ×  
[27]  ×  ×  ×  
[28]  ×  ×  ×  
[29]  ×  ×  
[30]  ×  ×  ×  
[31]  ×  ×  ×  
[32]  ×  ×  ×  
[33]  ×  ×  ×  ×  
[34]  ×  ×  ×  ×  
[35]  ×  ×  ×  
[36]  ×  ×  ×  
[37]  ×  ×  ×  ×  
[38]  ×  ×  ×  
[39]  ×  ×  
[1]  ×  ×  ×  ×  
[40]  ×  ×  
[41]  ×  ×  
[42]  ×  ×  
[43]  ×  ×  ×  
[44]  ×  
[45]  ×  ×  
[46]  ×  ×  ×  
[47]  ×  ×  ×  
[48]  ×  ×  
[49]  ×  ×  ×  
[50]  ×  ×  
[47]  ×  ×  ×  
[48]  ×  ×  
[49]  ×  ×  ×  
[50]  ×  ×  
[51]  ×  ×  ×  
[52]  ×  
[53]  ×  ×  ×  
[54]  ×  ×  ×  
[55]  ×  ×  
[56]  ×  ×  
[57]  × 
Exact Linear Solver  Metaheuristic  

[13]  ×  
[10]  ×  
[14]  ×  
[15]  ×  
[16]  ×  
[17]  ×  
[18]  ×  
[19]  ×  × 
[20]  ×  
[21]  ×  
[22]  ×  × 
[23]  ×  
[24]  ×  
[25]  ×  
[26]  ×  
[27]  ×  
[28]  ×  
[29]  ×  
[30]  ×  × 
[31]  ×  
[32]  ×  
[33]  ×  
[34]  ×  
[35]  ×  
[36]  ×  
[38]  ×  
[37]  ×  
[39]  ×  × 
[1]  ×  
[40]  ×  
[41]  ×  
[42]  ×  
[43]  ×  × 
[44]  ×  
[45]  ×  
[46]  ×  × 
[47]  ×  × 
[48]  ×  × 
[49]  ×  
[50]  ×  
[51]  ×  × 
[52]  ×  × 
[53]  ×  
[54]  ×  × 
[55]  ×  × 
[56]  ×  × 
[57]  × 
0  1  3  0  4  7  2  0  6  5  0 
Method  Version  LS Strategy  PostOptimization  LSFrequency  Involved Solutions for the LS: $\mathbf{\Theta}$ 

NSGAII and MSNSGAII  1         
NSGAII and MSNSGAII  2  LS1    Periodically − nb = 10  50% Domination 
NSGAII and MSNSGAII  3  LS1  LS2  Periodically − nb = 10  50% Domination 
NSILS  LS1    Systematically  10% Random 
Parameter  Name  Value 

Population size  $NP$  100 
Maximum generations in NSGAII  $NG$  500 
Maximum generations in MSNSGAII  $N{G}_{1}$  100 
No. of restarts in MSNSGAII  $nbstart$  5 
Maximum generations in NSILS  $NG$  50 
No. of ILS iterations in $NSILS$  $ma{x}_{P}$  20 
Perturbation level of the ILS  ${C}_{max2}$  5 
RCLsize in PRH  $NCand$  4 
Perturbation level of repair  ${C}_{max}$  2 
${\mathit{F}}_{0}$  $\mathit{HV}$  $\mathit{SP}$  ${\mathit{DO}}_{1}$  ${\mathit{DO}}_{2}$  $\mathit{CPU}$  

Version  min  max  av.  min  max  av.  min  max  av.  min  max  av.  min  max  av.  min  max  av.  
$NSGAII$  1  20.54  34.10  27.23  0.90  0.94  0.93  0.03  0.09  0.06  1.90  5.99  3.93  4.88  10.87  7.90  55.75  57.47  56.66 
2  18.96  28.97  24.06  0.93  0.95  0.94  0.05  0.10  0.07  −0.08  2.20  0.86  1.88  4.81  3.25  139.31  160.45  149.50  
3  21.43  31.89  26.91  0.93  0.95  0.94  0.04  0.09  0.06  0.01  3.14  1.40  1.65  5.42  3.35  139.67  160.86  149.86  
$MSNSGAII$  1  12.72  23.54  18.16  0.88  0.95  0.92  0.05  0.12  0.08  2.30  8.03  5.39  7.11  15.03  10.91  69.01  70.12  69.53 
2  11.48  18.08  14.44  0.93  0.95  0.94  0.06  0.15  0.11  0.18  4.17  2.08  1.47  6.09  3.76  166.23  176.34  172.14  
3  11.71  20.17  15.30  0.93  0.95  0.94  0.07  0.16  0.11  −0.27  3.32  1.50  2.78  7.38  4.89  166.47  176.58  172.39  
$NSILS$  10  8.67  13.98  11.15  0.93  0.96  0.94  0.07  0.16  0.11  −1.05  3.72  0.90  5.94  10.19  8.02  110.89  121.60  117.53 
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).