Heuristic approaches for a special simultaneous pickup and delivery problem with time windows in home health care industry

Heuristic approaches for a special simultaneous pickup and delivery problem with time windows in home health care industry

Proceedings of the 14th IFAC Symposium on Information Control Problems in Manufacturing Bucharest, Romania, May 23-25, 2012 Heuristic approaches for ...

496KB Sizes 0 Downloads 25 Views

Proceedings of the 14th IFAC Symposium on Information Control Problems in Manufacturing Bucharest, Romania, May 23-25, 2012

Heuristic approaches for a special simultaneous pickup and delivery problem with time windows in home health care industry Ran Liu*. Xiaolan Xie**. Vincent Augusto***. Carlos Rodriguez**** 

Ecole Nationale Supérieure des Mines de Saint-Étienne, 42023 Saint-Étienne cedex 2, France *e-mail: [email protected] **e-mail: [email protected] ***e-mail: [email protected] **** e-mail: [email protected] Abstract: This paper addresses a problem encountered in home health care logistics in France. The home health care company must complete pickup and delivery tasks to satisfy the demands of clients (the patients receive home health care). The requirements can be partitioned into four types: delivering medicines from the company’s depot or hospital to patients’ home, and picking up materials from patients’ home to the lab or return to the company’s depot. Each patient may require various pickup services and various delivery services, simultaneously. Meanwhile, there are time window constraints for lab, hospital and each patient. The objective is to determine a set of vehicle routes with minimal costs, satisfying all the constraints. We build two mathematical formulations for this complex problem, and propose heuristic approaches to solve this problem. Computational experiments on some test instances are presented. Keywords: Home health care, Pickup and delivery, Genetic algorithm, Tabu search, Vehicle routing, Time windows 

1. INTRODUCTION The home health care industry in France is a quickly growing service industry. More and more peoples living at their own homes get high-quality services from home health care company to recover from illness or injury. Such home health care services include both forward and reverse flow of materials, for example, delivering the medicine and medical equipment from the depot or hospital to patients’ home, picking up the biological sample to the lab, and collecting medical waste back to the depot to dispose. From the perspective of material distributing and collecting, it is crucial to solve the vehicle scheduling problem to satisfy the requirement from the patients, reduce vehicle operating cost, and improve service quality. However, it is not easy for the home health care company to design a good vehicle scheduling in reality. The challenge and difficulty of this problem is caused by two main issues. Firstly, the requirements in the home health care industry are very complex, which can be divided into four various types: (1) picking up the load, e.g., medical waste, from the patients’ home back to the company’s depot; (2) picking up materials, e.g., biological samples, from the patients’ home to the lab; (3) delivering the products from the depot to patients; (4) delivering the load from the hospital to patients. Note a patient may be a delivery and a pickup client simultaneously, i.e., have both pickup and delivery requirements. This characteristic makes the problem looks like an extension of the vehicle routing problem with simultaneous pickup and delivery problem (VRPSDP) (Subramanian et al., 2010). The VRPSDP is a special vehicle routing problem, where the vehicles are not only required to deliver the goods from a depot to customers but also to pick some goods at customer locations for returning to the depot, and each customer may 978-3-902661-98-2/12/$20.00 © 2012 IFAC

receive and send goods simultaneously. However, our problem is more complex than the VRPSDP since in our problem besides the depot, the goods can start from the hospital and ends at the lab. Clearly, the composition of the vehicle’s load in our problem is more complex than the VRPSDP. Secondly, many constraints are involved in our problem, which make the problem challenging. For example, patients, lab and hospital must be served in certain time intervals, i.e., time windows constraints. And, the load on a vehicle must be below the vehicle capacity at each point (patient, lab and hospital) in the route. More importantly, the problem differs from the classical VRPSDP since each route must satisfy special precedence constraints in our problem. For example, for a patient who needs the medicines provided by the hospital, a vehicle visiting to the hospital must precede its visiting to this patient. Such special constraints are similar to the pairing and precedence constraints in the classical pickup and delivery problem (PDP)(Lu and Dessouky, 2004), in which each customer request is defined by an origin location and a destination, the origin must visited before the destination by the same vehicle. However, the PDP is less complicated than our problem, since the origin as well as the destination of transportation requests in the PDP are locations other than the depot, and a customer in the PDP only has either pick up or delivery request. Since both the VRPSDP and PDP are NP-hard problems (Savelsbergh and Sol, 1995), our problem is much more complex than these problems and also NP-hard. To our best knowledge, we have not found any research to this special simultaneous pickup and delivery problem with time windows. Even for the VRPSDP with time window, the scientific literature is rather lacking. In this study, we define

345

10.3182/20120523-3-RO-2023.00204

INCOM 2012, May 23-25, 2012 Bucharest, Romania

mathematical models and propose effective approaches for tackling this hard problem.

heuristic

2. PROBLEM FORMULATIONS The problem can be stated as follows. Let G = (V, A) be a directed graph, with node set V= {0, 1,..., n, n+1}∪{h, l} and arc set A={(i, j): i, j∈V, i≠j}. Node 0 and n+1 represent the depot of the home health care company, and nodes N = {1,..., n} represent all the patients; nodes h and l represent the hospital and lab, respectively. Note that n+1is a dummy node, representing the depot, for vehicles comes back. Each patient i has four kinds of nonnegative demands: di1, di2, pi1 and pj2, where di1 represents the delivery amount from depot to patient i, di2 represents delivery amount from hospital to this patient, while pi1 is the pickup amount from patient i to depot, and pi2 represents the pickup amount from patient i to lab. Four kinds of demands are compatible, and can be loaded in a vehicle, simultaneously. Among the patient set N, subset D1  N represents the patients who need the first type delivery service, i.e., the di1 of each patient in D1 is positive. Similarly, subsets D2, P1, P2 correspond to patients who have the second type delivery service, the first type pickup service and the second type pickup service, respectively. Set P=P1∪ P2 represent all the nodes requiring pickup demand, and set D=D1∪D2 represent all deliver demand nodes. Note that a patient in set N may require different types of demand. For example, for a node i∈D2∩P2, the company need to pick up the quantity of pi2 from node i to the lab and delivery the quantity of di2 from the hospital to this node. For the nodes of depot, hospital and lab, we set the requirements (d1, d2, p1 and p2) to be 0. A time window [ai,bi] is associated with each node i∈V, where ai, bi represent the earliest and latest service time, respectively. The depot node also has a time window, representing the earliest and latest times when the vehicles may leave from and return to the depot. Each arc (i, j)∈A, i, j∈V, is associated with a routing cost cij and a traveling time tij. It is assumed that the service time for each node is included in the traveling time tij. A fleet of vehicles, initially located at the depot is available to serve the patients. Each vehicle has a capacity Q. The objective of the problem is designing a set of routes that minimizes the total costs of the system, which equals the traveling costs of all the vehicle routes, such that:  Each patient is visited and served exactly once by a vehicle. A vehicle can visit the lab and hospital no more than once.  A vehicle serves a single route that starts from and ends at the depot. The number of the vehicles is restricted, no more than K.  At any time, the total load of a vehicle (consider the loading and unloading at depot, patients, lab, hospital) cannot exceed the vehicle capacity Q.  If a demand belongs to subset P2, it must be served by a vehicle, before this vehicle visiting lab. Similarly, the vehicle must travel to the hospital before serving a demand belonging to subset D2. These constraints are called the precedence constraint.



Each patient, lab and hospital must be served by a vehicle in a time window. The vehicle can reach this location before the beginning of the time window, but must wait to serve this patient until the start time of the time window. The vehicle cannot serve and visit this node after the end of the time window. For the depot, time window indicates the earliest starting time and latest returning time for each vehicle. Then, we can get the following first formulation, called F1. Four types of decision variables are used in F1. Decision variables:

xijk binary variable equal to 1 if vehicle k travels directly from node i to node j; Bik time at which vehicle k begins to serve at node i;

yijk quantity of P1- and P2-pickup carried along arc (i, j) by vehicle k; wijk quantity of D1- and D2-delivery carried along arc (i, j) by vehicle k; Objective Min  cij xijk

(1)

iV jV k K

Subject to:

346

x

k K jV

x jV

(2) (3)

k j.i

  xhk. j i  D2 , k  K

(4)

k 0i

 1 k  K

(5)

jV

x

jV

jV

x iV

 1 i  N

  x kj.l i  P2 , k  K

k i. j

x iV

k ji

 1 k  K

k i , n 1

(6)

x

k j.i

  xik. j i  N  {l , h}, k  K

(7)

x

k j.i

 1 i  {l , h}, k  K

(8)

jV

jV

jV

Bkj  ( Bik  tij ) xik. j i V , j V , i  j , k  K

 y   y

(9)

k ij

 p j1  p j 2

j  N  {h}

(10)

 w   w

 d j1  d j 2

j  N  {l}

(11)

iV kK

iV kK

k ji k ij

iV kK

iV k K

w w iV

k hi

 y  y iV

k il

iV

   xijk di 2 k  K

k ih

iV

k ji

   xijk pi 2 k  K

k li

(12)

iV jD2

(13)

iV jP2

Blk  ( Bik  til ) xijk i  P2 , k  K

(14)

Bik  ( Bhk  thi ) xijk i  D2 , k  K

(15)

ai  Bik  bi i  V , k  K

(16)

y  w  Qx

(17)

jV

jV

k i. j

k i. j

k ij

i V , j V , k  K

xijk  {0,1} i, j V , j  j, k  K

(18)

INCOM 2012, May 23-25, 2012 Bucharest, Romania

The objective(1) minimizes the total routing cost. Constraints (2) ensure that all the demands are satisfied. Constraints (3) guarantee that a vehicle visiting a P2-patient also visits the lab. Constraints (4) are similar but for hospital visit. Constraints (5) and (6) force the route of each vehicle to start and end at the depot. Constraints (7) ensure the flow balance of the vehicles, i.e., if a vehicle visits a node it must leave this node. Constraints (8) indicate that each vehicle can only visit the hospital and the lab once. Constraints (9) impose the consistency of the visiting times. Constraints (10) and (11) are flow equations for pickup and delivery demands. Constraints (12) impose that all delivery demands of D2 patients are loaded at the hospital. Constraints (13) impose the unload of all pickup demands of P2 patients at the lab. Constraints (14) ensure that each P2 patient is visited before a lab visit; Constraints (15) ensure the hospital visit before any visit to a D2 patient. Constraints (16) and (17) impose the time window and vehicle capacity constraints. This formulation is nonlinear because of constraints(9), (14) and(15), which can be linearized. For example, (9) can be transformed as following(19), where M is a big positive value:

B kj  Bik  tij  M (1  xijk ) i V , j V \ 0, k  K

(19) k ij

The second formulation F2 uses decision variables x and Bik as in F1 plus the following new decision variables:

zijk quantity of Pj-pickup with j{1,2} carried by vehicle k when leaving node i; vijk quantity of Dj-delivery with j{1,2} carried by vehicle k when leaving node i; This second formulation F2 consists of objective (1), constraints (2)-(9), (14)-(16) and (18) and z kj1  ( zik1  p j1 ) xijk

i  V , j  N  {l , h}, i  j , k  K

(20)

z  ( z  p j 2 ) x ; i V \{l}, j  N  {l , h}, i  j , k  K (21) k j2

k i2

vik1  (v kj1  d j1 ) xijk

k ij

i V , j  N  {l , h}, i  j , k  K

(22)

vik2  (v kj 2  d j 2 ) xijk ; j V \{h}, i  N  {l , h}, i  j , k  K (23) zik1  zik2  vik1  vik2  Q i  V , k  K

(24)

Constraints (20) determine the vehicle loading for P1-pickup. Constraints (21) track the vehicle loading for P2-pickup and ensure that it becomes null after the lab visit at the optimum. Constraints(22), (23) determine the vehicle loading for D1 and D2 delivery. Constraints (24) are vehicle capacity constraints. 3. THE METHOD BASED ON GENETIC ALGORITHM To solve the problem encountered in the home health care industry effectively, firstly, we design a hybrid genetic algorithm (HGA). The framework and components of the HGA is described as follows. 3.1 Chromosome encoding scheme and fitness The chromosome in this HGA is a visiting sequence of all the patients, excluding the depot, lab and hospital, just like a TSP solution of visiting all the patient nodes. For example, if a solution contains two routes and 5 patients: (Depot, 3, lab, 5,

hospital, 1, Depot) and (Depot, 2, 4, lab, Depot), the corresponding individual chromosome is (3, 5, 1, 2, 4). The travel distance of the objective function (1) is calculated for each chromosome, and adopted as its fitness. Such kind of chromosome encoding is used for the VRPs (Lacomme et al., 2004). For the basic VRP, a split procedure has been designed for getting a real solution from each chromosome. The splitting of a chromosome corresponds to a shortest path problem in an auxiliary graph. In our problem, besides the vehicle capacity, we must consider the time windows, the visiting of the hospital and lab. Thus, we use the following extended procedure to get the solution and fitness from each chromosome. Step1: For each chromosome (s1…sn), create the auxiliary graph H, including n+1 nodes (0, 1… n), where node 0 is fictitious, and any other node i represents the corresponding patient si in the chromosome. Note here, we do not consider the hospital and lab in graph H explicitly. Step2: Add the set of arcs A ' into the graph H. Set A ' contains an arc (i, j) if a route starting and ending from the depot, serving the patients si+1 to sj is feasible, i.e., both the vehicle capacity and time windows are respected. Note here each arc (i.e., route) must satisfy the precedence constraints, i.e., if a D2 (or P2) type patient exists between si+1 to sj, the hospital (or lab) must be visited before (or after) this patient. Although the hospital and lab are not described explicitly in the chromosome, when we determine the weight of each arc, the visiting of the hospital and lab must be considered. A problem in this step is how to get the visiting position of the hospital and lab in this route, since there may be many available positions for visiting the hospital and lab. We use simple exhaust method to find the best positions for hospital and lab, e.g., we try to visiting the hospital at each potential position (between two patients i and i+1, where i  0 and si+1 is the first D2 patient) and get the best one (with the minimal traveling distance). Step3: since the vehicle number is limited to K, the optimal splitting of a chromosome corresponds to finding a minimal cost path consisting of no more than K arcs, from node 0 to node n+1 in graph H. This constrained shortest path problem can be solved by dynamic programming effectively. For more details about constrained shortest path problems, please refer to (Desrosiers et al., 1995). 3.2 Create and control population in initialization Four simple heuristics were used to generate structured solutions in the initial population: Nearest Neighbour (NN) and three heuristics based on the saving method. In the NN heuristic, we only consider the depot and patients and ignore the lab and hospital. Firstly, NN links the depot to its closest customer. Then, the NN adds a directed path connecting the last added node to the closest unvisited customer, iteratively, until all the patients are included in the path. The resulting sequence of patients is adopted as the first chromosome. The saving method is a well-known simple heuristic, which can be extended and implemented in our HGA to generate the initial structural chromosomes. The first simplest saving method, called Saving1, is described as follows. Step1: Each patient node of P1 and D1 is connected with the depot, forming a simple route starting at and getting back to the depot; Step2: Each patient node of P2 is connected with the

347

INCOM 2012, May 23-25, 2012 Bucharest, Romania

lab and the depot; similarly, each node of D2 is connected with the hospital and the depot; Step3: calculate the saving value of combining any two routes, and check the time windows and vehicle capacity feasibility. Combine the two routes which are associated with the max-saving value. The saving value is calculated as the classical saving method, e.g., for two P1 patients i and j, the initial saving value is: ValueS1=cid+cdj 1cij , where 1 is a parameter. Step4: repeat the iteration until we cannot combine any two routes. For the VRPs, some Look-ahead saving methods are proposed. The look-ahead saving heuristics consider some alternatives with the largest saving values. For each of these alternatives, the algorithm goes on exploring the saving value(s) in the next one or several level(s). In our problem, two look-ahead savings algorithms, Saving2 and Saving3 are used. The Saving2 is: calculate the basic saving value sv1 of combining each two routes in the first level. Then, based on each sv1, calculate the maximal saving value sv2 in the next level. The total saving values of the two levels are calculated as ValueS 2  sv1  2 sv2 , where 2 is the parameter. The last method Saving3 calculates and adopts the sum of all possible positive saving values in the second level, i.e., ValueS3=sv1 + 3 sv3 where sv3 is the sum of all saving values in the second level, and  3 is the third parameter. Foregoing heuristics can get the solutions quickly. However, solution may consist of more than K routes (vehicles). But this is not a challenge, because a violating solution can be converted into a visiting sequence (chromosome), and then can be cut to get its fitness. Besides the constructive heuristics, the other chromosomes are generated randomly. Note that in our problem, since vehicle number is limited, the split procedure may fail to get a feasible solution from a chromosome, especially when the vehicle number constraints are rather tight, i.e., in auxiliary graph H a path from the beginning node to the end node composed of no more than K arcs cannot be found. Such chromosome is called infeasible. There may be some infeasible chromosomes in the initial population, especially for the random chromosomes. Thus, firstly, we check whether there is a ‘feasible’ chromosome in the initial population or not. If we cannot find any feasible chromosome, we use constructive heuristics and random chromosomes to fill the population again, until finding at least one feasible chromosome. And, it has been proven that perverting the diversity of GA population can diminish the risk of premature convergence (Sörensen and Sevaux, 2006). In our work, a simple rule is used to keep the diversity of the population, i.e., the fitness of any two chromosomes must be different. Thus, if this requirement is not satisfied, the violated chromosomes are removed and the empty spaces are filled with random chromosomes. We try up to 100 times to get a well-spaced acceptable population. If we still cannot get a satisfied population, the resulting population is used directly. 3.3 Selection, crossover and mutation method Two parent solutions are selected from the population by the binary tournament method. Two individuals are chosen from the population randomly. The one with the better fitness

value is chosen as the first parent. The process is repeated to obtain the second parent. Then, a two point’s method, OX crossover, is used to generate the child chromosomes. The details of the OX can be seen in (Prins, 2004). It has been proved that integrating local search (LS) techniques with classical GA can get much better results (Laporte, 2009). In our work, several LS methods are utilized in the HGA. When two child chromosomes are created, one is selected randomly and undergoes split procedure, with a given probability  . If we get a feasible solution from this chromosome, we apply the LS methods to this solution. Otherwise, we select the other child and execute the same procedure. If we cannot draw a feasible solution from both of two child chromosomes, HGA goes on the next iteration. Here, the LS includes the 1-1exchange, the 1-0 relocation, 2-OPT exchange, and 2-OPT* exchange. The detailed description of these LS methods, see (Braysy and Gendreau, 2005). 3.4 Stopping criterion and Multi-start method We incorporate a multi-start method into the HGA to get high-quality solutions. We call a number of HGA iterations a phase. Each phase stops when the program satisfies a condition: (1) after a given number of iterations R1, or, (2) after a given number of iterations R2 without improving the best solution. When a phase is terminated, some elite chromosomes are reserved in the population (the size of the elite chromosomes is  ), while the others are replaced by new random chromosomes. Then, iteration restarts with this newly developed population. Similarly, the whole HGA stops when (1) a max-number of phases R3 is executed, or, (2) after a given number of phases R4 without improving the best solution. 4. THE METHOD BASED ON TABU SEARCH Tabu search (TS) is also one of the most powerful heuristic for the VRP, VRPTW and other VRP variants (Gendreau et al., 1994, Côté and Potvin, 2009). TS explores large solution space by moving from the current solution to another one in its neighbourhood, repeatedly. Since the current solution may deteriorate during the search, anti-cycling strategy should be used to explore a broad solution space. 4.1 Initialization, search space and attribute The initialization procedure used in the prior HGA can be adopted directly for TS. When a feasible chromosome (solution) is found in the population, it is adopted as the initial solution to begin the TS iteration. During the iteration, feasible and infeasible solutions are allowed. For each solution S, let w(S) denotes the total traveling distance, and d(S), e(S) and g(S) denote the total violation of vehicle load, time window and precedence constraints, respectively. Solution S is evaluated as: f ( S )  w( S )   d ( S )   e( S )   g ( S ) (25) where  ,  ,  are positive parameters, and will be adjusted dynamically, facilitating the exploration of the search space. Each solution (feasible or infeasible) S is associated with an attribute set AT(S)={(i, k) | i  N , k  K : customer i is visited

348

INCOM 2012, May 23-25, 2012 Bucharest, Romania

by vehicle K}. Thus, the neighbourhood of a solution is defined by applying an operator that delete an attribute (i, k) and replaced by a new (i, k’), where k  k ' . Such attribute definition leads to two types of neighbourhoods. The first type is relocating a patient from one route to another route. When a customer i is removed from a route k, this route is repaired by linking the predecessor and successor nodes of i. Meanwhile, we remove any unnecessary hospital and lab visit in routes k. For example, if node i is the only D2 (P2) patient and is removed from this route, we can delete the node of hospital (lab) from this route simultaneously. Then, we try to insert node i into route k’, between two consecutive nodes in k’ so as to minimize the value of this route based on objective cost defined in(25). When processing the insertion in route k’, we do not consider adding hospital or lab to this route even the insertion causes an infeasible route (e.g., node i is the first D2 or P2 node in route k’). This is due to checking and deleting hospital and lab from a route is easy and quickly. However, finding the best position of inserting the hospital or lab is time consuming, and here is not necessary. The second type of neighbourhood operator is exchanging two patients between two routes. Similarly, when each patient removed from the route, we connect two neighbour nodes. Then, two nodes are inserted into their objective routes, separately. The tabu search algorithm starts from the solution produced by the initial procedure. Then, at each iteration, the best nontabu move in the neighbourhood is selected to move from the incumbent solution S to a new solution S’. At the end of each iteration, parameters  ,  ,  are adjusted dynamically. The value of  minus  when the current solution can satisfies vehicle capacity constraints. Otherwise, it is plus by  . The same rule is applied to parameters  and  with respect to the time window and precedence constraints, respectively. 4.2 Tabu duration and aspiration criterion In our TS, the attributes of the solution are used to implement a diversification strategy. When a patient i is removed from a route k, we assign a tabu status to the attribute (i, k), and set a tabu duration  to this attribute. In the next  iterations, reinserting patient i back into route k is forbidden. One simple aspiration criterions is adopted in the TS. If the cost of a solution is better than that of the current best solution, TS removes the tabu status for this solution. 4.3 The procedure for improving each route At each iteration, only two routes of the current solution are changed. We try to design an improved procedure to reduce the cost of each changed route. Building good visiting sequence of customers within a route is like solving a traveling salesman problem (TSP). Here, we do not use an exact method to find the optimal route, since defining the optimal path, i.e., TSP, is NP-hard. Our approach modifies a simple and effective constructive heuristic, namely, the nearest insertion (NI) heuristics. Here NI heuristic is chosen based on the trade-off between computational accuracy, and running time. It should be noted that re-defining the visiting

sequence of the customers is executed at the end of each iteration, not in the execution of each move. Maybe we can evaluate the cost of each move precisely by applying the improving procedure in each trial move, and can get better solution. However, this implementation will greatly increase the running time of TS. In our problem, the revised NI is described as follows. Step1: Create a partial route beginning and ending at the depot and visiting the farthest patient. Step2: Insert the patient whose insertion generates the smallest increment on the cost. Now, the cost of a route is calculated as: f ( S )  w( S )   d ( S )   e( S ), i.e., consider the violation cost of the vehicle capacity and time windows constraints. This step is repeated until all patients are inserted. Step3: Insert lab and hospital into the route. 4.4 The LS procedure for improving feasible solution At each iteration, when two routes are changed and improved by revised NI procedure, if a feasible solution is generated, several intra-route move methods are used to improve this resulting solution, i.e., 1-1 exchange, 0-1 relocation, 2-Opt exchange and Or-Opt exchange. For details of these intraroute LS methods, see (Braysy and Gendreau, 2005). 4.5 TS stopping criterion In our TS, two criterions are used to control the execution time: the maximum total number of iterations R5 and the maximum number of iterations without improvement of the best known feasible solution R6. The algorithm is terminated when either of criterions is reached. 5. TEST INSTANCES AND NUMERICAL RESULTS Test instances are generated from the VRPTW benchmarks (Solomon, 1987), which consist of three categories: R type (randomly distributed customers), C type (clustered distributed customers), and RC type (mixture of the clustered and randomly distributed customers). We chose 11 VRPTW instances randomly. Then, based on each VRPTW instance, we generate three test instances for our problem: the first one has 10 randomly chosen nodes for set D1, D2, P1, and P2, and hospital is located in (0,0), and lab is located in (10,50). Note the number of the patients is less than the number of total patients’ requirements since one patient may have several requirements. The second and third instances have 20, 30 requirements for each set D1, D2, P 1, and P2, respectively. Firstly, we try to solve the test instances using commercial solver, CPLEX 12, based on formulations F1 and F2, respectively. Unfortunately, only for 4 of 33 instances, CPLEX can find feasible solutions in 100 hours with 20GB RAM, and the quality of CPLEX solutions are poor (compared with following heuristic results). Thus, we do not show them in our paper. We go on try to use the proposed HGA and TS to solve the problem. The parameters of HGA are: 1  0.1, 2  0.1, 3  0.01,   0.2,   2 , R1=3000, R2=1000, R3=8, and R4=4; the parameters of TS are:  ,  ,   1,   0.1, R5=3000, R6=1200,    n / 5 , where n is the number of the patients in the instance. All the algorithms we developed were implemented in C language, and run on

349

INCOM 2012, May 23-25, 2012 Bucharest, Romania

an Intel Core2 2.53 GHz PC with 2GB RAM. Both of HGA and TS run 8 times for each instance. The computational results of proposed HGA and TS are shown in following Table 1, containing the original VRPTW instance name (column Name), number of requirements (column Req), the best solution costs in the initial phase (column CostI), the best solution costs (columns CostHGA and CostTS) and average running times in second (columns SecHGA and SecTS) of two metaheuristics. As shown in Table 1, for each instance, the solutions of HGA and TS are much better than that of the simple heuristics in the initial procedure. For 5 test instances, HGA and TS can get the same solutions. However, we find in general the solutions of HGA are better than that of the TS. For the total 33 instances, the average gap between their solution costs (CostHGA and CostTS) is 7.29%. Concerning the computational time, we find both HGA and TS can get the solution in a reasonable running time, and in general running time of the HGA is less than that of the TS. Table 1. The numerical results of HGA and TS Name C104 C104 C104 C109 C109 C109 C201 C201 C201 C208 C208 C208 R104 R104 R104 R108 R108 R108 R207 R207 R207 RC103 RC103 RC103 RC108 RC108 RC108 RC204 RC204 RC204 RC208 RC208 RC208

Req 40 80 120 40 80 120 40 80 120 40 80 120 40 80 120 40 80 120 40 80 120 40 80 120 40 80 120 40 80 120 40 80 120

CostI 1255.3 1514.0 1838.9 1425.8 1623.1 1842.6 934.6 1208.7 1758.2 798.6 1186.4 1489.7 1024.9 1642.1 1847.5 1200.9 1594.0 1892.7 726.4 1550.6 1778.5 1409.1 1862.4 2409.3 1340.8 1741.0 1900.8 618.5 1158.3 1467.6 200 1442.9 1720.4

HGA CostG 971.8 1195.4 1368.5 1201.3 1363.8 1478.9 871.4 995.9 1268.0 671.6 895.5 939.40 847.3 1388.5 1504.8 994.4 1219.2 1245.3 556.75 1149.9 1297.3 1230.1 1612.3 1965.4 1182.3 1415.1 1525.9 540.6 847.5 930.2 538.3 1150.4 1449.8

TS SecG 5.6 18.4 38.7 5.6 18.8 46.6 10.1 26.4 56.3 8.3 46.0 70.4 4.7 17.3 29.6 4.1 12.7 29.1 15.4 16.6 36.0 3.7 13.4 25.4 3.5 17.2 28.0 12.1 48.0 104.8 10.1 19.3 41.6

CostT 1024.9 1310.5 1491.3 1201.3 1406.0 1584.4 871.4 996.6 1291.1 671.6 945.9 1159.8 916.5 1411.9 1583.9 1002.6 1314.9 1562.7 629.2 1312.0 1484.4 1304.9 1745.1 2039.7 1273.3 1542.6 1669.1 540.6 1042.2 1119.4 583.3 1159.2 1592.1

SecT 43.4 218.5 681.4 51.4 291.8 934.4 32.1 181.5 391.6 60.5 417.1 909.3 48.9 382.1 798.7 31.0 191.8 547.0 67.7 271.9 740.9 42.5 244.2 696.6 42.4 212.5 603.1 80.7 426.1 938.9 60.4 275.1 792.5

6. CONCLUSIONS AND FUTURE RESEARCH This paper introduces a vehicle scheduling problem in the home health care industry, which has never been studied in the existing literature. Two metaheuristics, a hybrid genetic algorithm and a tabu search, have been proposed to solve this problem. Two algorithms have been tested using a set of instances generated from the classical VRPTW benchmarks. The computational results show that these two methods are

clearly better than the constructive heuristics. The hybrid genetic algorithm provides better solutions in short running times than tabu search. The problem can be extensively studied in the future. From the methodological point of view, one goal is to speed up and improve the performance of the proposed TS. And, in many real-world home health care logistic applications, some elements in the problem may be uncertainty, e.g., patients’ requirement, travel and service times of the vehicle. Such uncertainty elements significantly affect the system performance. The vehicle scheduling problems in home health care industry under such uncertainty conditions are very important and interesting. REFERENCES Braysy, O. and Gendreau, M. (2005).Vehicle routing problem with time windows, Part I: Route construction and local search algorithms. Transportation Science, 39 (1), 104118. Côté, J. F. and Potvin, J. Y. (2009). A tabu search heuristic for the vehicle routing problem with private fleet and common carrier. European Journal of Operational Research, 198 (2), 464-469. Desrosiers, J., Dumas, Y., Solomon, M. M. and Soumis, F. (1995). Handbooks in operations research and management science. Chapter 2 Time constrained routing and scheduling. Elsevier. Gendreau, M., Hertz, A. and Laporte, G. (1994). A Tabu Search Heuristic for the Vehicle Routing Problem. Management Science, 40 (10), 1276-1290. Lacomme, P., Prins, C. and Ramdane-cherif, W. (2004). Competitive memetic algorithms for arc routing problems. Annals of Operations Research, 131 (1), 159185. Laporte, G. (2009). Fifty Years of Vehicle Routing. Transportation Science, 43 (3), 408-416. Lu, Q., and Dessouky, M. (2004). An Exact Algorithm for the Multiple Vehicle Pickup and Delivery Problem. Transportation Science, 38(4), 503-514. Sörensen, K., Sevaux, M. (2006). MA|PM: memetic algorithms with population management. Computers & Operations Research, 33 (5), 1214–1225. Prins, C. (2004). A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 31 (12), 1985-2002. Savelsbergh, M. W. P. and Sol, M. (1995). The general pickup and delivery problem. Transportation Science, 29 (1), 17-29. Solomon, M. M. (1987). Algorithms for the vehicle routing and scheduling problems with time window constraints. Operations Research, 35 (2), 254-265. Subramanian, A., Drummond, L., Bentes, C., Ochi, L. and Farias, R. (2010). A parallel heuristic for the vehicle routing problem with simultaneous pickup and delivery. Computers & Operations Research, 37 (11), 1899-1911.

350