Randomized and Generated Instances Fitting with the Home Health Care Problem Subjected to Certain Constraints

: Home Health Care (HHC) is a worldwide issue. It focuses on how medical and social organizations of different countries handle providing patients with health support at home. In most developed countries, reducing hospital cost constitutes a main objective. It is important to research the improvement of HHC logistics. This paper addressed the generation and development of a benchmark properly ﬁtting different constraints of the HCC problem. Consequently, a generator was proposed dealing with all kinds of constraints such as time window constraints, workload constraints, synchronization, and precedence constraints. This generator allows researchers to validate and compare solving methods on a common dataset regardless of conﬁdentiality issues. We validated our generator by ﬁrstly creating a common benchmark available for researchers and secondly by proposing a set of instances and a solving method based on an HHC problem found in the literature.


Introduction
In most countries, the population of older adults is increasing. As people age, their health needs become more chronic and complex [1], which results in a rising demand for health care [2]. According to the Organisation for Economic Co-operation and Development (OECD), between 2010 and 2018, all developed countries registered an increase of 3% in their older population [3]. Furthermore, for most of those countries, a decrease in formal care leads to a substantial increase in demand for Home Health Care (HHC) services. In recent years, the Health Care (HC) industry has become one of the largest sectors of the economy in developed countries. In Europe, between 1% and 5% of the total public health budget is spent on HHC services [4].
In 2018, one-point-four million Canadians needed home care services [5] (4.1% of the total population). HHC services have emerged as a viable solution to meet the challenges of the aging population problem. HHC's aim is to improve patients' living conditions by providing them with medical, paramedical, and social services in their home. From an economic point of view, HHC decreases hospital congestion by avoiding or reducing hospitalizations, leading to both significant increases in quality of life for patients and relevant cost savings in the HC system [6,7].
Building a proper HHC plan is a complex task regarding the different constraints. Currently, operational planning is mostly done manually and often by an experienced senior caregiver [5,[8][9][10]. According to the surveys of the HHC companies, each day, an HHC company carries out various logistics activities including the delivery of drugs or medical services from caregivers to patients and medical samples to the laboratory. Generally speaking, those activities can be considered as a Vehicle Routing Problem (VRP) or as a scheduling problem [11]. In both views, multiple constraints must be considered like workload constraints, interdependencies among services, etc. Interdependent services can be defined as having temporal dependencies between two services, or as synchronized

Literature Review
HHC-related models started with Begur et al. [15] in 1997. Currently, HHC problems are an extension of the VRP augmented by many side constraints that are specific to the HHC context linked to a scheduling problem. This new problem's formulation is called the Home Health Care Routing and Scheduling Problem (HHCRSP). To establish an HHCRSP, an extended definition of HHC is used, which includes various health-related parameters.
According to Lanzarone et al. [16], HHC deals with various challenges such as partitioning a territory, dimensioning human resources, and assigning and scheduling caregivers to patients or tasks. Mostly, the objective of a scheduling problem is to find an ideal pairing of caregivers and patients, whereas the routing problem aims to design caregivers' tours while minimizing the total travel time. The HHCRSP is an NP-hard problem [17], and due to this, it has received the most attention. The proposed models are evaluated on homemade datasets or derived from protected data [13]. Knowing that different sets of constraints and objectives can be considered, it is impossible to make a comparison between different solving methods. Indeed, in HHC, there is no commonly accepted benchmark due to medical confidentiality.
Bertels et al. [17] proposed an HHCRSP model formulated by taking into account workload balance for caregivers and introducing time windows. A time window represents a time interval in which something has to be started or can describe the working time or availability of someone. In 2013, Lui et al. [18] formulated an HHCRP with time window constraints. They also proposed a model with simultaneous delivery and pickup of drugs and biological samples. Mankowska et al. [12] proposed an HHCRSP as being multi-period and multi-service. The model takes into account the personal qualifications of the staff, possible interdependencies among services, and the individual requirements of the patients. Hiermann et al. [9] proposed a multimodal HHCRSP from an Austrian HHC provider based on multiple modes of transportation. Its aim was to determine efficient multimodal tours while considering staff and patient satisfaction. Liu et al. [19] studied scheduling and routing problems related to HHC with the consideration of lunch break requirements and working legal requirements. Frifita et al. [20] presented a model based on preferred time windows for patient and synchronization constraints. Among all these models, no comparison has so far been presented in the literature.
Each HHCRSP is distinguished regarding the planning horizon [14] and its composition in terms of strength (number of caregivers, patients) [21]. Some HC providers pursue continuity of care. Patients are assigned to only one caregiver named the reference caregiver, who follows the entire patient care pathway. A reference caregiver provides all the visits that are pertinent [22]. On another note, some HHCRSP definitions include patients' and caregivers' preferences [23,24], a minimal and maximal amount of working time for a caregiver, and time windows for patients. In the HHCRSP, some implicit parameters are not mentioned in the model such as the share of time when a caregiver is on the road or the capacity of the HC provider. The current literature suggests a rate between 15% and 20% for the share of traveling time [13]. The capacity of an HC provider is related to some constraints such as working legal requirements or the option for lunch breaks [10,13].

Home Health Care Problem Definition
HHC services, both at the international level and in Quebec, need tools to automatically and efficiently schedule all types of care. Finding a perfect schedule is a tough task due to the complexity and the repeating aspect of an HHC problem. HHC planning on a daily or a weekly horizon aims to assign and schedule all jobs or services required by patients to the proper caregivers.
In an HHC problem, caregivers are deeply involved. Indeed, identifying which caregiver may look after a new patient involves some considerations: the current workload of the caregiver, his/her qualifications, and geographic closeness. Interactions between the patient and the caregivers and temporal constraints such as care that needs to be performed at a specific time have to be taken into account.
An HHC problem can also be described as a problem in which patients have to be visited once or several times a week by caregivers. Cares services are delivered in a defined time during a visit. A large set of constraints has to be considered and satisfied as qualifications for each caregiver, working hours, geographical consistency, time windows, resting time and lunch breaks, working hours, workload, and precedence or synchronization constraints. Furthermore, compatibility constraints can be introduced. Compatibility takes wanted days, continuity of care, languages, and personal experience between a patient and a caregiver into account.

Jobs
Within this model, a patient has a list of needed jobs. The jobs J P = {1, . . . , J} are care services that must be performed at patients' homes and have different natures: providing medication, performing an injection, changing a bandage, etc. A single patient may relate to one or more jobs. However, job j ∈ J P belongs to a unique patient. According to Mosquera et al. [21], a patient is mostly related to three jobs per day. A caregiver usually performs six jobs per day.
Each job has a priority and arduousness score [25,26]. The lowest score means that the job j ∈ J P has a low priority/arduousness. Sometimes, jobs have to be postponed until another day because no caregiver can perform the job on the current day or because of a lack of time. The priority scale is used to range jobs from basic to extremely important. Some jobs are more arduous than others (palliative care), and the caregiver can be affected by this job. These situations must be taken into account when building and scheduling the planning. The arduousness score is used to rate how much a job can affect a caregiver from low impact to deep impact. As an example and as illustrated in Figure 1, the first caregiver has three jobs scheduled. The first one has a low priority and a low arduousness level. The second job scheduled has a low priority and a high arduousness level. The third job scheduled has a medium priority and a high arduousness level. Taking care of how jobs are scheduled is important because as described in Figure 1, the first caregiver has to perform two jobs with the highest arduousness score, whereas the fourth caregiver only has jobs with a medium or low arduousness score. Let Q be the set of qualifications required by a job. To perform a job j, a caregiver must have the required qualification Q i ∈ Q, as illustrated in Figure 2. A job may need one or several qualifications, while a caregiver must have all qualifications required to perform the job. In Figure 2, Caregiver 2 is able to perform the second and third job because he/she has the required skills. As mentioned by Fikar [13], an HHC instance has about six different qualifications on average, which means that card(Q) ≈ 6. Moreover, as stated by Castillo-Salazar [27] in his review, on average, eighty percent of caregivers are able to perform any kind of job. Each job related to a patient has a given time window [s j , e j ] and a processing time dur j . A patient can be an elderly person living at home and who has an agreement with an HHC center for his/her medical and social care (bathing, nursing, etc.). Depending on the care service, a time window has to be set up. The time window indicates when a job must start. For example, for a patient p ∈ P and a job j ∈ J , a time window is set up to start at 2.30 P.M. and finish at 3.30 P.M. This means that a caregiver c ∈ C has to begin the job between 2.30 P.M. and 3.30 P.M.
Normally, each caregiver follows his/her own route. However, some patients require two caregivers to be present simultaneously (synchronization constraint) or in a given order (precedence constraint) to proceed to their jobs. If a job is synchronized, two caregivers are needed simultaneously to perform the job at the patient's home. Synchronized jobs are often met in the case of overweight patients or palliative care. The precedence constraint is met when, for example, medication has to be given by a caregiver before or after another task performed by another caregiver. Typically, ten to twenty percent of jobs in an HHC center follow such constraints. Moreover, other types of temporal and geographical constraints are considered in the literature; collecting biological samples is one of them. Indeed, in some jobs, a caregiver might need to collect a biological sample and bring it to a laboratory for testing. Thus, the location of an HHC center or medical laboratories involved in the care provided are among the parameters to be considered in the HHCRSP models. Figure 3 sums up and exemplifies the characteristics of a job. First of all, a job is related to a patient. It has a priority and arduousness score indicating how the job must be scheduled. Then, a job requires skills to be performed. Each job has a fixed duration and must be started within a certain time frame on a specific day. Lastly, if a job may need another caregiver or produce a biological sample, synchronization or collection constraints are raised. Precedence constraints can also be raised if a job has to be performed before the current job.

Caregivers
Let C = {1, . . . , C} be a set of caregivers. As a reminder, the word caregiver is applied to anyone who provides personal care in his/her work, such as nurses or social workers. For each patient, there is at least one set of caregivers P c ⊂ C able to perform all jobs required by the patient at his/her home. All caregivers' tours can start at their own homes or at the HHC office and must finish at the HHC office. Traveled distances between patients' homes and caregivers' homes are calculated and stored in a specific matrix. For an HHC center, designing the optimal shifts for caregivers can be a difficult task. A shift can be consistent or mixed. In a consistent shift, there is only one type of caregiver (nurses only for example). However, a mixed shift has different types of caregivers (nurses and social workers work together with the patient). In both cases, caregivers are distinguished by their own qualifications and their labor agreement. Each caregiver C can accomplish a set of jobs regarding his/her set of qualifications Q C ∈ Q. The labor agreement defines legal working hours. A caregiver can deliver a job only within his/her working hours. The lower and upper bound of availability [s C i , e C i ] represent the time frame in which a caregiver C is available during the day D i . As described in Figure 4, each caregiver has a different set of skills, and for each day of the planning, each caregiver has a different time frame for his/her legal working hours. The compatibility between a patient and a caregiver can be found in the literature as a constraint. They are many ways to tackle these compatibilities: caregivers can have a preference for some jobs, time windows, and patient relationship. A caregiver can choose simple jobs rather than difficult jobs such as palliative care. Caregivers might refuse to perform any of the patients' jobs for compatibility reasons. Two compatibility tables are stored to show how much a caregiver is compatible with a patient. The first compatibility table (A) in Figure 5 combines all hard constraints of a caregiver's/patient's compatibilities (e.g., if the caregiver has a dog allergy or spoken languages). The second compatibility table (B) in Figure 5 shows low constraints in a caregiver/patient relationship. A score of zero is the lowest feasible compatibility, and three is the highest. In the hard compatibility table, a score of four is only reachable if the caregiver is a reference caregiver of the current patient. As illustrated in Figure 5, each patient and caregiver has his/her own compatibility. For example, the first caregiver has a reference caregiver compatibility regarding the first patient, bu a medium compatibility for the same patient regarding the low compatibility table. Compatibilities are not mutual, which means that a caregiver can have a good compatibility with a patient, while this patient does not. Beyond daily planning, legal working requirements and the labor agreement are important to consider [28]. The caregiver can be full-time or part-time employee of the HHC provider. To do so, each caregiver has a contractual number of hours H C per day. The number of daily hours that a caregiver is required to work must not exceed a threshold [h min , h max ]. For example, H C corresponds to 7.5h in the U.K. according to Akjiratikarl et al. [29] or 8h in Finland according to Bräysy and Gendreau [30]. This limit can also be set as a weekly availability [31] in which case, each caregiver is allowed to work a maximum amount of hours per week depending on his/her labor agreement. This is in addition to a daily working time regulation. This limit can be exceeded up to a maximum overtime per period. A break B of a duration dur B can be planned for a caregiver c ∈ C for each day. This break can be taken at any time during the day. It is planned before or after a job. Figure 6 describes the characteristics of a caregiver. Firstly, a caregiver possesses many skills due to his/her academic training. Secondly, a caregiver has the geographical coordinates of his/her current position and initial position. Compatibility tables are set up to reflect the caregiver/patient relationship. Legally, a caregiver has a working contract with the HHC center and may work each day during a fixed time frame for a minimum and maximum amount of hours.

Patients
Patients are key players in HHC or an HHCRSP. Let P be a set of patients scattered in a geographic area who need care services. For each P i ∈ P, there is a subset J P i ⊆ J such that these jobs involve patient P i . Obviously, at least one job has to be scheduled in the given planning for each patient.
Compatibilities are often considered (language, patient/caregiver relationship, etc.). Patient compatibility is treated the same way as caregiver compatibility. Most studies assign a time interval to each patient in which he/she is available at home to receive care. This time interval, also called a time window, can be fixed or flexible. Fixed time windows force the caregiver to visit the patient in the time frame and to proceed with care, while flexible time windows allow the caregiver to delay care. Fixed time windows are met when the patient needs drug intake or medical care that cannot be delayed. As a result, for each patient P i ∈ P, a time windows is defined as [α i , β i ], where α i ≥ 0 and β i ≥ α i specify the earliest, respectively latest, start time for a visit.
The assignment constraints of an HHC service organization are largely related to continuity of care. According to the quality standards adopted by HHC providers, care services for patients can be provided under full, partial, or no continuity of care. Under full continuity of care, a patient is assigned to one and only one caregiver, who is responsible for the patient's care during his/her stay in the HHC service. On another note, partial continuity of care is usually observed in situations in which a patient needs more than one type of care. Then, for the most frequent type of care, a reference caregiver can be assigned (as a full continuity of care case). Usually, studies tend to deal with full continuity, but it is often more a criterion to maximize than a parameter of the HHCRSP model [23,29,30,32]. Figure 7 describes the characteristics of a patient. Firstly, a patient possesses a list of care services (jobs). The patient has the geographical coordinates (latitude/longitude) of his/her position. The distance between patients and the HHC center or laboratories is calculated and stored in a matrix. The compatibility table is set up to reflect the caregiver/patient relationship. Time windows are set up to show to the center when a patient is available to receive his/her care services.

Performance Measures: Common Objective Functions
In operational research, performance measures are represented by objective functions. Operational problems are often set up with many constraints and an objective function. As presented before, an HHCRSP can be tackled in different ways depending on the set of constraints. The objective function can also be elaborated differently depending on how the solution must be optimized. In the HHCRSP literature, different kinds of objective functions are introduced:

Overview and Functioning of the Generator
An HHC aims to increase the quality of life for patients and to improve the health system's efficiency. An HHC center deals with a wide range of patients suffering from various diseases. As described in the previous section, HHC problems are based on scheduling jobs linked to a routing problem. Generating a good reading of an HHCRSP is not an easy task. Listing and categorizing all different constraints and angles of an HHC problem are essential. Section 4.1 briefly illustrates the assumptions and constraints raised in the literature. In Section 4.2, a listing and description of different parameters found in the literature are proposed to fully describe the HHCRSP. The source code of the project is available at this address: https://drive.google.com/drive/folders/1NnZ8JwAtOOp4mm2 du1WjzKF0Dkoctekw?usp=sharing (accedessed date on 12 April 2021). This project was coded in C++ in Microsoft Visual Studio 2019. A readme file was implemented to explain how the generator works and describes the data provided by the generator. This file has an English version, as well as a French version.

Background Description of an HHCRSP
A typical HHCRSP consists of a set of caregivers starting and ending their work at an HC center. The goal is to find a valid plan for an n-day period for each caregiver. The resulting planning indicates which job should be carried out by which caregiver and when the job should start. Each caregiver has available time for carrying out patients' jobs with the possibility of working just a part of the day or the whole day. Consequently, jobs are assigned according to the feasible time of each caregiver. Depending on how geographical constraints are dealt with, caregivers use the same or various modes of transportation. Each job has specific qualifications or skills, and they are always considered as hard constraints. The preference relationship can be defined between patients and caregivers as a ratio or score between them. An HHC center can decide that patients should be visited by their preferred caregivers in order to ensure patients' satisfaction. Besides, when job schedules are made, legal constraints have to be respected as well. Usually, caregivers possess a full-time or part-time agreement. Then, for each caregiver, a maximum and a minimum working duration are set up by his/her own agreement. The working time of each caregiver starts from the beginning of the first scheduled job and ends at the completion of the last job. Other legal regulations can be considered such as breaks, especially lunch breaks. Breaks are flexible in the caregiver' schedule. Furthermore, the HHC company aims to improve the planning of caregivers' routes by balancing the working time among caregivers, in order to obtain a fair plan [11,35,36].
As a result, the HHC company seeks to optimize a multi-objective function. Usually, it aims at minimizing the total travel cost and the fixed cost of caregivers by minimizing the total overtime work (in hours) of caregivers and by limiting unscheduled visits [14,27]. Depending on how the HHCRSP is treated, different constraints can be raised, but some of them are always present, such as [13,27,35]

Listing and Range of All Parameters
Each instance is described by a list of parameters. Some parameters are set up in the generator and can be only changed by modifying them in the source code. The configuration file stores a list of parameters. As presented in Figure 8, the generator creates a list of instances regarding a configuration. Every piece of information is reachable and editable.

Non-Editable Parameters
Some parameters are not editable in the configuration file. Firstly, as mentioned before, a caregiver is allowed to work a certain amount of time per day regarding his/her labor agreement. As noticed in the following Tables 1 and 2, the generator sets up the beginning of the day at 8 A.M. and the ending at 8 P.M. A caregiver with a full-time contract is allowed to work between 8 to 10 h a day, and a caregiver with a part-time contract can only work 4 to 6 h a day according to the literature [10,13,14,35,37,38]. Compatibilities between patients and caregivers are represented by a score as explained in the previous section. A low score means that the caregiver should not be assigned to this patient due to a low compatibility. The generator ranges compatibility between zero (lowest compatibility) and four (highest compatibility). A score of four is a special feature that allows the generator to set up a reference caregiver to a patient if the configuration file allows it. The patient time frame availability on each day starts at 8 A.M. and finishes at 8 P.M. Furthermore, the compatibility scores are set up in the same way. However, as specified in Table 2, a patient has a time window. During this time window, our patient is available to receive his/her care. During the scheduling process, time windows for the patient can be considered as soft or hard constraints depending on how the HHC problem is tackled.
The generator sets up a range of 1 to 4 h, which means that a patient ks at least available for 1 h and at most 4 h to receive his/her care services.
Lastly, Table 3 sums up the different non-editable parameters for a job. A job has a processing time called duration in the generator. Duration can range from 30 min to an hour and a half. Some jobs in the instance need to be done, and some of them can be postponed to another day. A priority score is set up on all jobs to show how important the job is. Moreover, some jobs must be performed in a certain time frame. Usually, this time frame may not exceed one hour to two hours. Precedence constraints can be found in some particular jobs. The literature shows that the duration between two jobs related by a precedence constraint may not exceed two hours. Table 3. Range of non-editable parameters for jobs.

Editable Parameters
Firstly, to setup up a benchmark correctly, the first parameter allows the generator to produce more than a unique instance following the current configuration. Some data are generated randomly such as the distance between patients or compatibilities. However, some can be similar between two instances such as the number of caregivers/patients or several proportions. The second parameter of an instance is the geographical boundary of the instance. Those coordinates enable the generator to set up different coordinates in the designated area for caregivers, patients, and depots. As explained earlier, distances are calculated by following a straight line between two patients/depots. Usually, studies [13,31,34] have been based on a daily planning horizon, but the third parameter allows the generator to set a different number of days in the planning horizon. Depending on how the HHCRSP is treated, the number of days can be one day for a short-term plan or two to seven days for a mid-term plan. Long-term planning is not taken into account due to its marked difference with short-and mid-term planning. The number of patients and caregivers has a huge impact on how jobs are generated. Indeed, several studies [6,23,25,39] concluded that a patient may have on average three to four jobs (cares) per day.
A caregiver is also able to deal with six to seven jobs per day depending on how much time a job needs to be performed properly [5,11,21,30]. Qualifications and skills are important to define different types of jobs in an instance [9,13,34,41]. The HHC literature has concluded the fact that all feasible jobs met in an HHC center can be categorized into six major qualifications on average. The HHC literature also presents two distinct ways to tackle the qualification constraint [9,16,22]. The first approach considers all skills as mutually independent. This approach is often met when the HHC center deals with a wide array of jobs (palliative care to daily care). The second approach is based on a pyramidal scheme. For example, a caregiver who possesses a specific qualification Q i automatically possesses all qualifications at a lower level. The second approach is usually used in HHC problems with a huge VRP component [9,12,40]. The generator implements the first approach and uses independent qualifications.
To ensure continuity of care, studies in the literature implement a reference caregiver [42]. During the scheduling process, a reference caregiver is more likely to be assigned to his/her reference patient if it is possible to ensure a partial continuity of care. As explained in the previous section, caregivers can have different labor agreements (fulltime or part-time), so the next parameter allows the generator to set up different proportions of part-time caregivers. This ratio can vary from a small portion to half of the number of caregivers. The traveled time parameter is an optional parameter. It measures how much time caregivers are on the road. On average, this time may be around 18% to 25% of their working time [13,33]. This parameter has a huge influence on how jobs are generated because the generator takes into account this percentage to create jobs in order to not overload the HHC center. The time traveled parameter is heavily linked to the next parameter: the occupation or saturation rate of instance. This parameter is the ratio between the number of working hours generated by all jobs and the number of working hours available in the HHC center. Finally, the generator can produce synchronized jobs, jobs with biological sample production, and jobs with precedence constraints. According to the HHC literature [13,32,38], currently, fifteen to twenty percent of care services are synchronized or have precedence constraints. As summed up in Table 4, those parameters design the configuration file and allow the generator to create different types of instances depending on those parameters. Precedence between jobs (ratio) 10-25% [12,24,44]

A Descent Local Search Algorithm for an HHC Problem
In this section, we adopt a descent local search algorithm based on the work of Xio et al. [36], and we fix, as they did, the planning horizon to a daily one. The set of jobs demanded by patients is denoted J . Each job j ∈ J is associated with a certain duration dur j and a time frame [α j , β j ]. To reach another patient, a distance d j (beeline) is set up, and a travel time t j is calculated. Let C denote the set of caregivers. C includes both full-time and part-time caregivers. For each caregiver c ∈ C, a time window corresponding to their available time is set up. Variables t begin c and t end c represent respectively the time when the caregiver c starts and ends his/her journey. The working time of a caregiver c is defined by t work c . It must not exceed the maximal working time planned by his/her labor agreement. We set p i as a penalty that occurs when a job is not assigned. The objective function minimizes unassigned jobs and the daily operating cost of the HHC such as salaries and traveling cost by refunding the fuel cost.
The solving method was based on a descent algorithm. Firstly, the algorithm tries to reduce the bag of non-allocated jobs by switching jobs between caregiver and the bag until the job can insert itself into a caregiver schedule, as described in Figure 9. During this process, the qualification constraint must be respected, as well as the working balance, as much as possible. Compatibility constraints can be raised if necessary. Indeed, for example, a patient can have a low compatibility score with all caregivers. In Figure 9, for example, the algorithm tries neighborhood moves by inserting the first job of the bag in front of the second job of the second caregiver. At the same, it also tries to insert the second job of the second caregiver in front of the first job of the first caregiver. Lastly, the algorithm inserts the last job of the first caregiver at the end of the job list of the second caregiver to produce a correct solution. For more details about the algorithm, please refer to the main article written by Xio et al. [36]. Algorithm 1 presents a pseudo-code version of how the descent local search algorithm works regarding the different inputs.  Try to switch a job for one caregiver to another from a different caregiver to improve both shifts; Switch jobs in a caregiver shift to see if the shift can be improved; end end Then, the algorithm tries to balance working hours for all caregivers by minimizing their working hours per day and switching jobs between caregivers to see if a configuration results in a better solution than the current one. As described in Figure 10, two jobs can be switched between two caregivers depending on their qualifications and the patientcaregiver compatibility. Finally, the solving method tends to improve each caregiver scheduled by trying to switch some jobs during the day. Some jobs are firstly scheduled because of priority or their large time windows, but sometimes, better configurations are found by switching them with other jobs, as described in Figure 11. All empirical data were generated by our generator coded in C++ with Microsoft Visual Studio. This simulation was run on a computer with an i7-10700KF CPU 3.80 GHz. Ten instances were generated, and tests were carried out on a properly developed solving method explained before. For all tests, the objective function combined three parts of the costs: the salary of each caregiver calculated by hour. The payment was 20 CAD per hour; the fuel cost 1.50 CAD per kilometer, and each job postponed cost 100 CAD. To dispatch appropriate caregivers and to satisfy all patients, caregivers were not assigned to a patient if their compatibility scores were lower than one. If a patient did not have a compatibility score higher than one for all caregivers, he/she was assigned to the more available caregiver regarding his/her qualifications. The simulation was run several times before putting the results together. The postponed jobs and operating cost in Table 5 are the average results of the simulation. As mentioned before, ten instances were generated by the generator. The instances were designed to tackle the HHCRSP in the same way as Xio et al. [36] did. The configuration file was setup up with data from the article and can be found in the archive.  Table 5 shows the different sizes of the instances. The first column names the instance. Index p presents the number of patients and index c the number of caregivers that can be assigned for the different jobs. For example, p5_c2 represents five patients and two caregivers. Then, we illustrate the results: Sub-column 1 represents the number of jobs postponed. The next sub-column presents the operating cost. Tables 6 and 7 show the result of two instances HHCp10_c2: the first column is the caregiver ID and the second column the number of jobs assigned to this caregiver. The next two columns present respectively the available time (when the caregiver starts and ends his/her journey) and the working time. The last column shows the schedule planning for each caregiver.

Conclusions
In this study, we introduced a common benchmark involving a multi-parameter generator for the HHC scheduling problem fitting a certain list of constraints found in the literature. First, we proposed a common definition of the HHCRSP dealing with an exhaustive list of constraints. These constraints can be attached to caregivers, patients, caregivers' actions, and the HHCRSP itself. Then, we described the different generator parameters with their ranges. We also introduced a short application of our generator based on a descent local search algorithm, which embedded adapted neighborhood moves for the HHCRSP. The main purpose of this contribution was to standardize testing and checking solving methods to allow researchers to compare their methods on a common benchmark with a robust and configurable generator. Our work will be directed toward the adaptation of some resolution methods in the future and especially for metaheuristics algorithms. As mentioned previously, this configurable generator allows researchers to work on a common benchmark to compare their solving methods without being affected by medical confidentiality. With these multiple parameters, the generator was able to reproduce a large type of HHCRSP with different constraints. A common benchmark was generated and stored in the archive and can be used be researchers to compare their methods or extract data to make their own dataset to verify their solving method.