Online stochastic optimization of radiotherapy patient scheduling


The effective management of a cancer treatment facility for radiation therapy depends mainly on optimizing the use of the linear accelerators. In this project, we schedule patients on these machines taking into account their priority for treatment, the maximum waiting time before the first treatment, and the treatment duration. We collaborate with the Centre Intégré de Cancérologie de Laval to determine the best scheduling policy. Furthermore, we integrate the uncertainty related to the arrival of patients at the center. We develop a hybrid method combining stochastic optimization and online optimization to better meet the needs of central planning. We use information on the future arrivals of patients to provide an accurate picture of the expected utilization of resources. Results based on real data show that our method outperforms the policies typically used in treatment centers.

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

Fig. 1


  1. 1.

    Batun S, Begen MA (2013) Optimization in healthcare delivery modeling: Methods and applications. In: Handbook of healthcare operations management. Springer, pp 75–119

  2. 2.

    Begen MA, Queyranne M (2011) Appointment scheduling with discrete random durations. Math Oper Res 36(2):240–257

    Article  Google Scholar 

  3. 3.

    Benders JF (1962) Partitioning procedures for solving mixed-variables programming problems. Numer Math 4(1):238–252

    Article  Google Scholar 

  4. 4.

    Birge JR, Louveaux F (1997) Introduction to stochastic programming. Springer, Berlin

    Google Scholar 

  5. 5.

    Boucher P, Beauregard H (2010) Le coût économique du cancer au Québec, en 2008. Tech. rep. Coalition priorité cancer au Québec

  6. 6.

    Buchbinder N (2008) Designing competitive online algorithms via a primal-dual approach. PhD thesis, Technion

  7. 7.

    Canadian Cancer Society (2013) Canadian cancer statistics. Tech. rep.

  8. 8.

    Cayirli T, Veral E (2003) Outpatient scheduling in health care: a review of literature. Prod Oper Manag 12(4):519–549

    Article  Google Scholar 

  9. 9.

    Chen Z, King W, Pearcey R, Kerba M, Mackillop WJ (2008) The relationship between waiting time for radiotherapy and clinical outcomes: a systematic review of the literature. Radiother Oncol 87(1):3–16

    Article  Google Scholar 

  10. 10.

    Ciocan DF, Farias VF (2012) Dynamic allocation problems with volatile demand. Math Oper Res 37(3):501–525

    Article  Google Scholar 

  11. 11.

    Conforti D, Guerriero F, Guido R (2008) Optimization models for radiotherapy patient scheduling. 4OR: Q J Oper Res 6(3):263–278

    Article  Google Scholar 

  12. 12.

    Conforti D, Guerriero F, Guido R (2009) Non-block scheduling with priority for radiotherapy treatments. Eur J Oper Res 201(1):289–296

    Article  Google Scholar 

  13. 13.

    Erdogan SA, Denton B (2013) Dynamic appointment scheduling of a stochastic server with uncertain demand. INFORMS J Comput 25(1):116–132

    Article  Google Scholar 

  14. 14.

    Gupta D, Denton B (2008) Appointment scheduling in health care: challenges and opportunities. IIE Trans 40(9):800–819

    Article  Google Scholar 

  15. 15.

    Jacquemin Y, Marcon E, Pommier P (2010) Towards an improved resolution of radiotherapy, scheduling. In: 2010 IEEE workshop on health care management (WHCM), pp 1–6

  16. 16.

    Jaillet P, Lu X (2013) Near-optimal online algorithms for dynamic resource allocations. Working paper

  17. 17.

    Jaillet P, Wagner MR (2010) Online optimization—an introduction, INFORMS TutORials in Operations Research, vol 7. INFORMS

  18. 18.

    Kapamara T, Sheibani K, Haas O, Reeves C, Petrovic D (2006) A review of scheduling problems in radiotherapy. In: Proceedings of the 18th international conference on systems engineering (ICSE2006). Coventry University, UK, pp 201–207

  19. 19.

    Karande C, Mehta A, Tripathi P (2011) Online bipartite matching with unknown distributions. In: Proceedings of the 43rd annual ACM symposium on theory of computing. ACM, pp 587–596

  20. 20.

    Karp RM, Vazirani UV, Vazirani VV (1990) An optimal algorithm for on-line bipartite matching. In: Proceedings of the 22nd annual ACM symposium on theory of computing. ACM, pp 352–358

  21. 21.

    Legrain A, Jaillet P (2013) Stochastic online bipartite resource allocation problems. CIRRELT

  22. 22.

    Manshadi VH, Gharan SO, Saberi A (2011) Online stochastic matching: online actions based on offline statistics. In: Proceedings of the 22nd annual ACM–SIAM symposium on discrete algorithms. SIAM, pp 1285–1294

  23. 23.

    Mehta A, Saberi A, Vazirani U, Vazirani V (2007) Adwords and generalized online matching. J ACM 54(5):22

    Article  Google Scholar 

  24. 24.

    Ministère de la santé et des services sociaux (2010) Plan stratégique 2010–2015. Tech. rep.

  25. 25.

    Patrick J, Puterman ML, Queyranne M (2008) Reducing wait times through operations research: optimizing the use of surge capacity. Healthc Policy 3(3):75–88

    Google Scholar 

  26. 26.

    Petrovic S, Leite-Rocha P (2008) Constructive and GRASP approaches to radiotherapy treatment scheduling. In: Advances in electrical and electronics engineering—IAENG special edition of the world congress on engineering and computer science, pp 192–200

  27. 27.

    Petrovic S, Leung W, Song X, Sundar S (2006) Algorithms for radiotherapy treatment booking. In: Proceedings of the 25th workshop of the UK planning and scheduling special interest group (PlanSIG’2006). Nottingham

  28. 28.

    Santibáñez P, Begen M, Atkins D (2007) Surgical block scheduling in a system of hospitals: an application to resource and wait list management in a british columbia health authority. Health Care Manag Sci 10(3):269–282

    Article  Google Scholar 

  29. 29.

    Sauré A, Patrick J, Tyldesley S, Puterman ML (2012) Dynamic multi-appointment patient scheduling for radiation therapy. Eur J Oper Res 223(2):573–584

    Article  Google Scholar 

Download references


We would like to thanks Dr Bruno Carrozzo and Ms Julie Heon for their great help to understand CICL operations and to obtain their data.

Author information



Corresponding author

Correspondence to Antoine Legrain.

Additional information

Research funded in part by the Natural Sciences and Engineering Research Council of Canada and Elekta

Appendix A: The online stochastic algorithm

Appendix A: The online stochastic algorithm

We present here the online stochastic algorithm introduced by Legrain and Jaillet [21]. We rewrite this algorithm for our application. Recall the stochastic optimization formulation (2):

$$\begin{array}{*{20}l} & \min \sum\limits_{i \in S_{j}} c_{ij} x_{ij} \,+\, \mathbb{E}_{\omega \in \Omega_{j}}\left[\sum\limits_{l \in \mathcal{P}^{\omega}} \sum\limits_{i\in S_{l}} c_{il} y^{\omega}_{il} \,+\, \sum\limits_{k \in H} \sum\limits_{m \in M} c^{o} z^{\omega}_{mk}\right]\\ &\text{subject to:}\\ &\sum\limits_{i \in S_{j}} x_{ij} = 1\\ &\sum\limits_{i \in S_{l}} y^{\omega}_{il} = 1, \qquad \forall \omega \in \Omega_{j}, \forall l \in \mathcal{P}^{\omega}\\ &\sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij} + \sum\limits_{l \in \mathcal{P}^{\omega}} \sum\limits_{i \in S_{l}} a^{m}_{ilk} y^{\omega}_{il} \leq {F^{m}_{k}} + z^{\omega}_{mk},\\ & \qquad\qquad\forall m \in M, \forall k \in H, \forall \omega \in \Omega_{j}\\ &\mathbb{1}_{\mathcal{P}_{p}}(j)\sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij} + \sum\limits_{l \in \mathcal{P}_{p}^{\omega}} \sum\limits_{i \in S_{l}} a^{m}_{ilk} y^{\omega}_{il} \geq z^{\omega}_{mk},\\ & \qquad\qquad\forall m \in M, \forall k \in H, \forall \omega \in \Omega_{j}\\ &\sum\limits_{k=b}^{b+4} z^{\omega}_{mk} \leq O_{week}\qquad \forall m \in M, \forall b \in \mathcal{B}, \forall \omega \in \Omega_{j}\\ &z^{\omega}_{mk} \in [0, O_{day}], \qquad \forall m \in M, \forall k \in H, \forall \omega \in \Omega_{j}\\ &x_{ij} \in \{0,1\}, \qquad \forall i \in S_{j}\\ &y^{\omega}_{il} \in \{0,1\}, \qquad \forall l \in \mathcal{P}^{\omega}, \forall i \in S_{l}, \forall \omega \in \Omega_{j} \end{array} $$

A.1 L-shaped method

The L-Shaped method [4] enables us to solve formulation (2). This technique is based on Benders decomposition [3]. Formulation (2) is first decomposed into a master problem (3) and slave problems (4).

$$\begin{array}{*{20}l} & \text{(Master problem)} ~ \min \sum\limits_{i \in S_{j}} c_{ij} x_{ij} + \mathbb{E}_{\omega \in \Omega_{j}}[Q(x,\omega)]\notag\\ &\text{subject to:}\notag\\ &\sum_{i \in S_{j}} x_{ij} = 1 \notag\\ &x_{ij} \in \{0,1\}, \qquad \forall i \in S_{j} \end{array} $$

The function Q(x,ω) is called the recourse; it deals with the stochastic part of the objective. The goal of the slave problems (4) is to compute the value of this function for each x and each ω. The variables inside the parentheses (.) are the dual variables associated with the constraint.

$$\begin{array}{*{20}l} & \text{(Slave problems)} \notag\\ & Q(x,\omega) ~ = ~ \min \sum\limits_{l \in \mathcal{P}^{\omega}} \sum\limits_{i\in S_{l}} c_{il} y^{\omega}_{il} + \sum\limits_{k \in H} \sum\limits_{m \in M} c^{o} z^{\omega}_{mk}\notag\\ &\text{subject to:}\notag\\ &\sum\limits_{i \in S_{l}} y^{\omega}_{il} = 1, \qquad \forall l \in \mathcal{P}^{\omega} ~ (\alpha^{\omega}_{l})\notag\\ &\sum\limits_{l \in \mathcal{P}^{\omega}} \sum\limits_{i \in S_{l}} a^{m}_{ilk} y^{\omega}_{il} \leq {F^{m}_{k}} + z^{\omega}_{mk} - \sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij},\notag\\ & \hspace{4cm} \forall m \in M, \forall k \in H ~ (\beta^{\omega}_{mk})\notag\\ &\sum\limits_{l \in \mathcal{P}_{p}^{\omega}} \sum\limits_{i \in S_{l}} a^{m}_{ilk} y^{\omega}_{il} \geq z^{\omega}_{mk} - \mathbb{1}_{\mathcal{P}_{p}}(j)\sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij},\notag\\ &\hspace{4cm} \forall m \in M, \forall k \in H ~ (\gamma^{\omega}_{mk})\notag\\ &\sum\limits_{k=b}^{b+4} z^{\omega}_{mk} \leq O_{week}, \qquad \forall m \in M, \forall b \in \mathcal{B} ~ (\pi^{1\omega}_{mb})\notag\\ &z^{\omega}_{mk} \in [0, O_{day}], \qquad \forall m \in M, \forall k \in H ~ (\pi^{2\omega}_{mk})\notag\\ &y^{\omega}_{il} \in \{0,1\}, \qquad \forall l \in \mathcal{P}^{\omega}, \forall i \in S_{l} ~ (\pi^{3\omega}_{mk}) \end{array} $$

Since the recourse function Q has to be computed for each value of its variables, an approximation of Q is built. First, we relax the integrality constraint on the variables \( y^{\omega }_{il} \) and then we use the duals (5) of the slave problems.

$$\begin{array}{*{20}l} & \text{(Dual slave problems)} \notag\\ & \max \sum\limits_{l \in \mathcal{P}^{\omega}} \alpha^{\omega}_{l}\notag\\ &{\kern10pt} -\sum\limits_{m \in M} \left\{ \sum\limits_{k \in H} \left[\left({F^{m}_{k}} - \sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij}\right) \beta^{\omega}_{mk} + \mathbb{1}_{\mathcal{P}_{p}}(j)\right.\right.\notag\\ &{\kern5.9pc}\left.\times\!\left(\sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij}\right) \gamma^{\omega}_{mk} \,+\, O_{day} \pi^{2\omega}_{mk} \,+\, \pi^{3\omega}_{mk} \right] \notag\\ &{\kern4pc}\left.+\sum\limits_{b \in \mathcal{B}} O_{week} \pi^{1\omega}_{mb} \vphantom{\left({F^{m}_{k}} - \sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij}\right)}\right\}\notag\\ &\text{subject to:}\notag\\ &\alpha^{\omega}_{l} + \sum\limits_{m \in M} \sum\limits_{k \in H} a^{m}_{ilk} (\gamma^{\omega}_{mk} - \beta^{\omega}_{mk}) - \pi^{3\omega}_{mk} \geq c_{il}, \notag\\ & \hspace{4cm} \forall l \in \mathcal{P}^{\omega}, \forall i \in S_{l}\notag\\ &\beta^{\omega}_{mk} - \gamma^{\omega}_{mk} - \pi^{1\omega}_{mb(k)} - \pi^{2\omega}_{mk} \geq c^{o}, \qquad \forall m \in M, \forall k \in H\notag\\ &\beta^{\omega}_{mk},~\gamma^{\omega}_{mk},~\pi^{2\omega}_{mk},~\pi^{3\omega}_{mk} \geq 0, \qquad \forall m \in M, \forall k \in H\notag\\ &\pi^{1\omega}_{mb} \geq 0, \qquad \forall m \in M, \forall b \in \mathcal{B} \end{array} $$

where b(k) is the index of the Monday of the same week as the working day indexed by k. These problems are always feasible; furthermore they are bounded when there are enough free slots on the linacs for the chosen pattern i (x ij = 1). There always exists such a pattern, because the first day of treatment can be sufficiently far from the current day to ensure that there are enough free slots.

Thus, the weak duality theorem gives an approximation (a cut) of the recourse function Q:

$$\begin{array}{*{20}l} \forall i \in S_{j} ,& \forall \omega \in \Omega_{j},\notag\\ Q(x,\omega) & \geq \sum\limits_{l \in \mathcal{P}^{\omega}} \alpha^{\omega}_{l}\notag\\ & - \sum\limits_{m \in M} \left\{ \sum\limits_{k \in H} \left[{F^{m}_{k}} \beta^{\omega}_{mk} + \sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij} \right.\right.\notag\\ &{\kern5.5pc}\times\left.(- \beta^{\omega}_{mk} +\mathbb{1}_{\mathcal{P}_{p}}(j) \gamma^{\omega}_{mk})\vphantom{ \sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij}}\right]\notag\\ &{\kern3pc} + O_{day} \pi^{2\omega}_{mk} + \pi^{3\omega}_{mk} \notag\\ &{\kern3pc}\left. + \sum\limits_{b \in \mathcal{B}} O_{week} \pi^{1\omega}_{mb} \vphantom{ \sum\limits_{i \in S_{j}} a^{m}_{ijk} x_{ij}}\right\} \end{array} $$

For the qth cut for scenario ω, approximation (6) can be simplified. All the constants of this cut can be gathered into one constant \(C^{\omega }_{q}\):

$$\begin{array}{@{}rcl@{}} C^{\omega}_{q} &=& \sum\limits_{l \in \mathcal{P}^{\omega}} \alpha^{\omega}_{l} - \sum\limits_{m \in M} \left\{ \sum\limits_{k \in H} \left [{F^{m}_{k}} \beta^{\omega}_{mk} + O_{day} \pi^{2\omega}_{mk} + \pi^{3\omega}_{mk}\right] \right.\\ &&{\kern6pc} +\left.\sum\limits_{b \in \mathcal{B}} O_{week} \pi^{1\omega}_{mb} \right\} \end{array} $$

Each time the slave problems are solved, we obtain a cut for the master problem (3). The master problem is then transformed as follows:

$$\begin{array}{*{20}l} &\text{(Master problem)} \qquad ~ \min \sum\limits_{i \in S_{j}} c_{ij} x_{ij} + \mathbb{E}_{\omega \in \Omega_{j}}[\theta^{\omega}] \end{array} $$
$$\begin{array}{*{20}l} &\text{subject to:}\\ &\sum\limits_{i \in S_{j}} x_{ij} = 1 \\ &\theta^{\omega} \geq C^{\omega}_{q} + \sum\limits_{i \in S_{j}} \left(\sum\limits_{m \in M} \sum\limits_{k \in H} a^{m}_{ijk} \left(\beta^{\omega}_{mk} - \mathbb{1}_{\mathcal{P}_{p}}(j) \gamma^{\omega}_{mk}\right)\right) x_{ij},\\ & \qquad\qquad\qquad\qquad \forall \omega \in \Omega_{j}, \forall q \end{array} $$
$$\begin{array}{*{20}l} &x_{ij} \in \{0,1\}, \qquad \forall i \in S_{j} \end{array} $$

Benders Decomposition is also known as row generation. The duals (5) of the slave problems generate cuts that are inserted into the master problem (7a, 7b). The L-Shaped procedure (Algorithm 6) uses this decomposition.

Algorithm 6 L-shaped procedure
q = 0, x q = 0, x = 1
while x qx do
x = x q
q + +
for all ω ∈ Ω j do
   solve the dual slave problem with the value x for the event ω
   add the qth cut to the master problem (7a, 7b)
end for
solve the master problem (7a, 7b) and save the solution in x q
end while

When the L-Shaped procedure stops, the optimum is reached. Indeed, when the dual slave problems are solved for a value x, the recourse function Q is equal to the cut in this point thanks to the strong duality theorem. Then, if the master problem (7a, 7b) finds the same solution x, it has to be the optimum, because there is no approximation at this point and all the other points are underestimated.

A.2 Stochastic primal-dual algorithm

Legrain and Jaillet [21] make a simplification: the master problem is solved only once. Then, for each event ω, there is only one cut inserted into the master problem (7a, 7b). Thus, the constraints (7b) become equalities due to the minimization. The variables 𝜃 are therefore replaced in the objective (7a) by their expressions. The objective (7a) becomes: \(\displaystyle \min \sum\limits _{i \in S_{j}} c_{ij} x_{ij} + \mathbb {E}_{\omega \in \Omega _{j}}\!\left [\!C^{\omega }_{q} \,+\, \sum\limits _{i \in S_{j}} \left (\sum\limits _{m \in M} \sum\limits _{k \in H} a^{m}_{ijk} \left (\beta ^{\omega }_{mk} \,-\, \mathbb {1}_{\mathcal {P}_{p}}(j) \gamma ^{\omega }_{mk}\right )\right ) x_{ij}\!\right ]\).

We can also remove the constants \(C^{\omega }_{0}\) from the objective to obtain the final master problem (8):

$$\begin{array}{*{20}l} & \text{(Master problem)} \notag\\ & \min \sum\limits_{i \in S_{j}} \left(\!c_{ij} \,+\, \sum\limits_{m \in M} \sum\limits_{k \in H} \mathbb{E}_{\omega \in \Omega_{j}}\left[\beta^{\omega}_{mk} \,-\, \mathbb{1}_{\mathcal{P}_{p}}(j)\gamma^{\omega}_{mk}\right] a^{m}_{ijk}\!\right) x_{ij}\notag\\ &\text{subject to:}\notag\\ & \sum\limits_{i \in S_{j}} x_{ij} = 1\notag\\ & x_{ij} \in \{0,1\}, \qquad \forall i \in S_{j} \end{array} $$

Finally, the master problem (8) just chooses the pattern with the minimum objective. We can link our procedure with the primal-dual algorithm. The two algorithms are similar; the only difference is the computation of the variables r i . If we define the variables \( \displaystyle u_{ij} = \sum\limits _{m \in M} \sum\limits _{k \in H} \mathbb {E}_{\omega \in \Omega _{j}}[\beta ^{\omega }_{mk} - \mathbb {1}_{\mathcal {P}_{p}}(j)\gamma ^{\omega }_{mk}] a^{m}_{ijk}\), we obtain the stochastic primal-dual algorithm (4).

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Legrain, A., Fortin, M., Lahrichi, N. et al. Online stochastic optimization of radiotherapy patient scheduling. Health Care Manag Sci 18, 110–123 (2015).

Download citation


  • Patient scheduling
  • Radiotherapy booking
  • Stochastic optimization
  • Online optimization
  • Dynamic scheduling

Mathematics Subject Classifications (2010)

  • MSC 90B36
  • MSC 90C15
  • MSC 90C39