Abstract
This paper presents a new model and solution methodology for the problem faced by companies that provide rehabilitative services to clinic and home-bound patients. Given a set of multi-skilled therapists and a group of geographically dispersed patients, the objective is to construct weekly tours for the therapists that minimize the travel, treatment, and administrative costs while ensuring that all patients are seen within their time windows and that a host of labor laws and contractual agreements are observed. The problem is complicated by three factors that prevent a daily decomposition: (i) overtime rates kick in only after 40 regular hours are worked during the week, (ii) new patients must be seen by a licensed therapist on their first visit, and (iii) for some patients only the frequency and not the actual days on which they are to be seen is specified. The problem is formulated as a mixed-integer linear program but after repeated attempts to solve small instances with commercial software failed, we developed an adaptive sequential greedy randomized adaptive search procedure. The phase I logic of the procedure builds one daily schedule at a time for each therapist until all patients are routed. In phase II, several neighborhoods are explored to arrive at a local optimum. Extensive testing with both real data provided by a U.S. rehab company and datasets derived from them demonstrated the value of the purposed procedure with respect to current practice. The results indicated that cost reductions averaging over 18.09 % are possible.
Similar content being viewed by others
Abbreviations
- \(i, j\) :
-
Index for patients
- \(k\) :
-
Index for therapists
- \(d\) :
-
Index for days
- \(o(k), d(k)\) :
-
Origin, destination of therapist k
- \(K\) :
-
Set of all therapists; \(K = \{\text {PTs},\, \text {PTAs}\}\)
- \(K(i,d)\) :
-
Set of therapists that can see patient i on day d
- \(I\) :
-
Set of patients to be seen over the planning horizon, \(I= I_{\text {FIX}}\cup I_{\text {FLEX}}\)
- \(IC(i, d, k)\) :
-
Set of patients that can either precede or follow patient i in a schedule for therapist k on day d
- \(I\!K(k, d)\) :
-
Set of patients that can be seen by therapist k on day d
- \(DK(k)\) :
-
Set of days therapist k can be scheduled to work
- \(DU(i)\) :
-
Set of days in the planning horizon that patient i is to be treated (pattern is given)
- \(c_{ij}^{k}\) :
-
Cost of traveling from patient i to patient j by therapist k
- \(c_{id}^{k}\) :
-
Cost of a visit by therapist k to see patient i on day d
- \(s_{id}\) :
-
Time required to provide treatment to patient i on day d (h)
- \(a_{id}, b_{id}\) :
-
Earliest, latest time treatment can begin for patient i on day d
- \(\tau _{ij}\) :
-
Travel time between patients i and j (assumed symmetric)
- \(e_{kd}, f_{kd}\) :
-
Earliest start, latest finish time of therapist k on day d
- \(x_{ijd}^{k}\) :
-
1 if therapist k visits patients i and j in succession on day d, 0 otherwise
- \(t_{id}\) :
-
Time at which patient i begins to receive treatment from a therapist on day d
References
Baldacci, R., Bartolini, E., Mingozzi, A., & Valletta, A. (2011). An exact algorithm for the period routing problem. Operations Research, 59(1), 228–241.
Bard, J. F., Yu, G., & Arguello, M. F. (2001). Optimizing aircraft routings in response to groundings and delays. IIE Transactions on Operations Engineering, 33(10), 931–947.
Begur, S. V., Miller, D. M., & Weaver, J. R. (1997). An integrated spatial DSS for scheduling and routing home-health-care nurses. Interfaces, 27(4), 35–48.
Bennett, A. R., & Erera, A. L. (2011). Dynamic periodic fixed appointment scheduling for home health. IIE Transactions on Healthcare Systems Engineering, 1(1), 6–19.
Bertels, S., & Fahle, T. (2006). A hybrid setup for a hybrid scenario: Combining heuristics for the home health care problem. Computers & Operations Research, 33(10), 2866–2890.
Boudia, M., Louly, M. A. O., & Prins, C. (2006). A reactive GRASP and path relinking for a combined production–distribution problem. Computers & Operations Research, 34(11), 3402–3419.
Cayirli, T., Veral, E., & Rosen, H. (2008). Assessment of patient classification in appointment system design. Production and Operations Management, 17(3), 338–353.
Cheng, E., Rich, J. L. (1998). A home health care routing and scheduling problem. Tech Report Tr. 98–04, Computational and Applied Mathematics, Rice University, Houston, TX. http://www.caam.rice.edu/tech_reports/1998.html.
Cordeau, J.-F., Gendreau, M., Laporte, L., Potvin, J.-Y., & Semet, F. (2002). A guide to vehicle routing heuristics. Journal of the Operational Research Society, 53(5), 512–522.
Eveborn, P., Flisberg, P., & Rönnqvist, M. (2006). LAPS CARE: An operational system for staff planning of home care. European Journal of Operational Research, 171(3), 962–976.
Festa, P., & Resende, M. G. C. (2002). GRASP: An annotated bibliography. In P. Hansen & C. C. Rebeiro (Eds.), Essays and surveys on metaheuristics (pp. 325–326). Dordrecht: Kluwer Academic Publishers.
Festa, P., & Resende, M. G. C. (2009a). An annotated bibliography of GRASP - Part I: algorithms. International Transactions in Operational Research, 16(1), 1–24.
Festa, P., & Resende, M. G. C. (2009b). An annotated bibliography of GRASP—Part II: Applications. International Transactions in Operational Research, 16(2), 131–172.
Feo, T. A., Venkatraman, K., & Bard, J. F. (1991). A GRASP for a difficult single machine scheduling problem. Computers & Operations Research, 18(8), 635–643.
Green, L. V., & Savin, S. (2008). Reducing delays for medical appointments: A queueing approach. Operations Research, 56(6), 1525–1538.
Gupta, D., & Denton, B. (2008). Appointment scheduling in health care: Challenges and opportunities. IIE Transaction on Operations Engineering, 40(9), 800–819.
Kontoravdis, G., & Bard, J. F. (1995). A GRASP for the vehicle routing problem with time windows. ORSA Journal on Computing, 7(1), 10–23.
Laporte, G. (2009). Fifty years of vehicle routing. Transportation Science, 43(4), 408–415.
Muthuraman, K., & Lawley, M. (2008). A stochastic overbooking model for outpatient clinical scheduling with no-shows. IIE Transaction on Operations Engineering, 40(9), 820–837.
Prais, M., & Ribeiro, C. C. (2000). Reactive GRASP: An application to a matrix decomposition problem in TDMA traffic assignment. INFORMS Journal on Computing, 12(3), 164–176.
Patrick, J., Puterman, M. L., & Queyranne, M. (2008). Dynamic multipriority patient scheduling for a diagnostic resource. Operations Research, 56(6), 1507–1525.
Potvin, J. Y., & Rousseau, J. M. (1995). An exchange heuristic for routing problems with time windows. Journal of the Operational Research Society, 46(12), 1433–1446.
Savelsbergh, M. (1992). The vehicle routing problem with time windows: Minimizing route duration. ORSA Journal on Computing, 4(2), 146–154.
Shao, Y. (2011). Home therapist network modeling. Dissertation, Graduate Program in Operations Research & Industrial Engineering, The University of Texas, Austin.
Shao, Y., Bard, J. F., & Jarrah, A. I. (2012). The therapist routing and scheduling problem. IIE Transactions on Operations Engineering & Analysis, 44(11), 868–893
Stansfield, T. C., Massey, R., & Manuel, J. (2011). Life support for hospital staff. Industrial Engineering, 43(2), 28–33.
Taillard, E. D., Badeau, P., Gendreau, M., Guertin, F., & Potvin, J. Y. (1997). A tabu search heuristic for the vehicle routing problem with soft time windows. Transportation Science, 31(2), 170–186.
Author information
Authors and Affiliations
Corresponding author
Appendix 1: Complexity of Phase I and Phase II
Appendix 1: Complexity of Phase I and Phase II
Let \(|D|\) be the number of days in the planning horizon, \(|I|\) the number of patients, \(|P|\) the number of feasible patterns, and \(|K|\) the number of therapists. Accordingly, there are at most \(|D|\cdot |K|\) routes and \(O(|I|\cdot |D|)\) visits, where each route has at most \(O(|I|)\) patients. To construct a feasible solution in Phase I, the GRASP fixes the first visit day for new patients at the first step, as described in Sect. 4.1.1. This procedure is order \(O(|I|\cdot |P|)\) since the first visit day depends on the number of patterns for each patient.
The GRASP then repeatedly selects a route to construct until all patients are scheduled. In this step, as discussed in Sect. 4.1.2, therapists are ordered according to their wage rates using a bubble sort (although faster algorithms are available) which has complexity \(O(|K|^{2})\). This is done only once. Also, the working hours remaining for the available therapists are estimated for each day based on the visit information. Even though an estimate is made each time the subroutine is called, it only takes \(O(|I|\cdot |D|)\) time in total because each patient is only examined twice: first during the initialization step and second when she is assigned to a route. Lastly, we need to sort the days for each route, which takes \(O(|D|^{2})\) time, and then construct a route for each therapist for each day, giving a complexity of \(O(|D|^{3}\cdot |K|)\) for this step. Thus, the procedure in Sect. 4.1.2 can be executed in \(O(|K|^{2}+|I|\cdot |D|+|D|^{3}\cdot |K|)\) time.
After a route is selected, a sequence is constructed by selecting one patient at a time as described in Sect. 4.1.3. Given an initial patient in the route, all candidates are sorted according to the distance to the therapist’s home base \(o(k)\) and then all feasible candidates in RCL are sorted according to their benefits, all of which can be done in \(O(|I|^{2})\) time. Since a route length is \(O(|I|)\), it takes \(O(|I|^{3})\) to construct a route, or \(O(|I|^{3}\cdot |D|\cdot |K|)\) for all \(|D|\cdot |K|\) routes.
Accordingly, Phase I takes \(O(|I|\cdot |P| + |K|^{2}+ |I|\cdot |D| + |D|^{3}\cdot |K| + |I|^{3}\cdot |D|\cdot |K|)\) or \(O(|I|\cdot |P| + |K|^{2}+ |D|^{3}\cdot |K| + |I|^{3}\cdot |D|\cdot |K|)\) time to construct a feasible solution. Thus, a feasible solution can be found in polynomial time.
For each Phase II iteration, we inspect \(O(|I|^{2}\cdot |D|^{2})\) neighborhoods. It takes \(O(|I|)\) time to check the feasibility of a candidate move and \(O\)(1) to evaluate the benefit of a move so the complexity of each iteration is \(O(|I|^{3}\cdot |D|^{2})\). This implies that the neighborhood of a solution can be generated and evaluated in polynomial time and so each iteration can be implemented efficiently; however, the number of iterations necessary to find a local optimum may be exponential.
Rights and permissions
About this article
Cite this article
Bard, J.F., Shao, Y. & Jarrah, A.I. A sequential GRASP for the therapist routing and scheduling problem. J Sched 17, 109–133 (2014). https://doi.org/10.1007/s10951-013-0345-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-013-0345-x