Skip to main content
Log in

A sequential GRASP for the therapist routing and scheduling problem

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Cayirli, T., Veral, E., & Rosen, H. (2008). Assessment of patient classification in appointment system design. Production and Operations Management, 17(3), 338–353.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Festa, P., & Resende, M. G. C. (2009b). An annotated bibliography of GRASP—Part II: Applications. International Transactions in Operational Research, 16(2), 131–172.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Green, L. V., & Savin, S. (2008). Reducing delays for medical appointments: A queueing approach. Operations Research, 56(6), 1525–1538.

    Article  Google Scholar 

  • Gupta, D., & Denton, B. (2008). Appointment scheduling in health care: Challenges and opportunities. IIE Transaction on Operations Engineering, 40(9), 800–819.

    Article  Google Scholar 

  • Kontoravdis, G., & Bard, J. F. (1995). A GRASP for the vehicle routing problem with time windows. ORSA Journal on Computing, 7(1), 10–23.

    Article  Google Scholar 

  • Laporte, G. (2009). Fifty years of vehicle routing. Transportation Science, 43(4), 408–415.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Patrick, J., Puterman, M. L., & Queyranne, M. (2008). Dynamic multipriority patient scheduling for a diagnostic resource. Operations Research, 56(6), 1507–1525.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Savelsbergh, M. (1992). The vehicle routing problem with time windows: Minimizing route duration. ORSA Journal on Computing, 4(2), 146–154.

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Stansfield, T. C., Massey, R., & Manuel, J. (2011). Life support for hospital staff. Industrial Engineering, 43(2), 28–33.

    Google Scholar 

  • 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jonathan F. Bard.

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-013-0345-x

Keywords

Navigation