| Literature DB >> 32594285 |
Bruno Vieira1,2, Derya Demirtas3,4, Jeroen B van de Kamer5, Erwin W Hans3,4, Louis-Martin Rousseau6, Nadia Lahrichi6, Wim H van Harten7,8.
Abstract
External-beam radiotherapy treatments are delivered by a linear accelerator (linac) in a series of high-energy radiation sessions over multiple days. With the increase in the incidence of cancer and the use of radiotherapy (RT), the problem of automatically scheduling RT sessions while satisfying patient preferences regarding the time of their appointments becomes increasingly relevant. While most literature focuses on timeliness of treatments, several Dutch RT centers have expressed their need to include patient preferences when scheduling appointments for irradiation sessions. In this study, we propose a mixed-integer linear programming (MILP) model that solves the problem of scheduling and sequencing RT sessions considering time window preferences given by patients. The MILP model alone is able to solve the problem to optimality, scheduling all sessions within the desired window, in reasonable time for small size instances up to 66 patients and 2 linacs per week. For larger centers, we propose a heuristic method that pre-assigns patients to linacs to decompose the problem in subproblems (clusters of linacs) before using the MILP model to solve the subproblems to optimality in a sequential manner. We test our methodology using real-world data from a large Dutch RT center (8 linacs). Results show that, combining the heuristic with the MILP model, the problem can be solved in reasonable computation time with as few as 2.8% of the sessions being scheduled outside the desired time window.Entities:
Keywords: Mathematical programming; Operations management; Operations research; Patient preferences; Radiotherapy scheduling; Time windows
Mesh:
Year: 2020 PMID: 32594285 PMCID: PMC7676074 DOI: 10.1007/s10729-020-09510-8
Source DB: PubMed Journal: Health Care Manag Sci ISSN: 1386-9620
Fig. 1Example of a weekly schedule of a linear accelerator in RT
Notation of the MILP model and heuristic procedure
| Parameter | Description |
|---|---|
| Set of patients to be scheduled ( | |
| Set of linear accelerators ( | |
| Set of time slots per linac ( | |
| Set of time periods (days) in the planning horizon ( | |
| Set of patients who have not started treatment ( | |
| Set of patients who must start treatment on monday ( | |
| Set of patients with restricted time frame for treatment sessions ( | |
| Set of feasible linacs for treating patient | |
| Maximum number of patients starting treatment on the same linac and same day | |
| Time slot duration, in minutes, in each linac, each day | |
| 1 if slot | |
| Lower and upper bound of the restricted time frame set for time period | |
| Number of total remaining sessions to be delivered to patient | |
| Due date: time period by which patient | |
| Duration, in number of time slots, of each session of patient | |
| Number of time periods needed between sessions of patient | |
| Lower and upper bound of the time window preference for patient | |
| Linac in which patient | |
| Weekly capacity, in minutes, of linac | |
| Expected weekly session time, in minutes, for patient | |
| Workload, in minutes of session time, assigned to linac | |
| Variable | Description |
| 1 if patient | |
| 1 if new patient | |
| Lower and upper deviation, in minutes, from preference time window of patient |
Results of the MILP model for several instance sizes using NKI patient data
| # patients | # linacs | # sessions scheduled | # sessions outside window | average deviation (min) | CPU time (s) | ||||
|---|---|---|---|---|---|---|---|---|---|
| milp | heur+milp | milp | heur+milp | milp | heur+milp | milp | heur+milp | ||
| 33 | 1 | 123 | 123 | 4 | 4 (3.25%) | 5 | 5.0 | 99.9 | 99.9 |
| 66 | 2 | 254 | 247 | 1 | 5 (2.0%) | 15 | 8.0 | 499.6 | 17.2 |
| 99 | 3 | – | 379 | – | 23 (6.1%) | * | 16.5 | * | 218.7 |
| 132 | 4 | – | 361 | – | 22 (5.2%) | * | 28.2 | * | 1780.5 |
| 165 | 5 | – | 580 | – | 33 (5.7%) | * | 24.8 | * | 1175.8 |
| 198 | 6 | – | 700 | – | 40 (5.7%) | * | 24.0 | * | 3318.3 |
| 231 | 7 | – | 810 | – | 50 (6.2%) | * | 25.3 | * | 2705.2 |
| 260 | 8 | – | 925 | – | 31 (3.4%) | * | 13.2 | * | 393.5 |
Pre-assignment results after running Algorithm 1 for the NKI test instance
| Linac | No. patients | Workload (WL) | Utilization |
|---|---|---|---|
| assigned | rate (%) | ||
| L1 | 35 | 2055 | 68.5% |
| L2 | 27 | 2050 | 68.3% |
| L3 | 33 | 2055 | 68.5% |
| L4 | 39 | 2085 | 69.5% |
| L5 | 32 | 2040 | 68.0% |
| L6 | 32 | 2005 | 66.8% |
| L7 | 32 | 2080 | 69.3% |
| L8 | 30 | 2040 | 68.0% |
| avg | 32.5 | 2051.3 | 68.4% |
| st. dev. | 3.3 | 23.4 | 0.8% |
Results for pre-assignment heuristic and MILP model for the NKI size
| No. | Linacs belonging to each cluster | Cumulative | # sessions | # sessions | Average | Total |
|---|---|---|---|---|---|---|
| clusters | deviation | scheduled | outside | deviation | CPU time | |
| (obj. value) | window | (min) | (s) | |||
| 8 | [L1] [L2] [L3] [L4] [L5] [L6] [L7] [L8] | 1085 | 918 | 41 (4.5%) | 26.5 | 18143 |
| 4 | [L1,L3] [L2,L6] [L4,L5] [L7,L8] | 545 | 936 | 26 (2.8%) | 21.0 | 11763 |
| 2 | [L1,L2,L3,L4,L5,L6] [L7,L8] | 7695[a] | 928[a] | 60 (6.5%)[a] | 128.3[a] | 31181[a] |
| 1 | [L1,L2,L3,L4,L5,L6,L7,L8] | – | – | – | – | – |
a CPU time limit achieved in at least one cluster
Total cumulative deviation, in minutes
| Total deviation (Obj. value) | |||
|---|---|---|---|
| Probabilities ( | Window size (min) | ||
| 150 | 120 | 90 | |
| 0.25 / 0.5 / 0.25 | 0 | 65 | 650 |
| 0.5 / 0.25 / 0.25 | 320 | 4659[a] | 25614[a] |
| 0.125 / 0.75 / 0.125 | 0 | 0 | 55 |
a CPU time limit achieved
Percentage of sessions breaching the time window preference
| % sessions outside window | |||
|---|---|---|---|
| Probabilities ( | Window size (min) | ||
| 150 | 120 | 90 | |
| 0.25 / 0.50 / 0.25 | 0.0% | 0.5% | 3.4% |
| 0.5 / 0.25 / 0.25 | 1.5% | 10.1%[a] | 28.8%[a] |
| 0.125 / 0.75 / 0.125 | 0.0% | 0.0% | 0.5% |
a CPU time limit achieved
Average deviation, in minutes, of the sessions outside window
| Average deviation (min) | |||
|---|---|---|---|
| Probabilities ( | Window size (min) | ||
| 150 | 120 | 90 | |
| 0.25 / 0.50 / 0.25 | 0.0 | 13.0 | 20.3 |
| 0.5 / 0.25 / 0.25 | 22.9 | 50.1[a] | 97.4[a] |
| 0.125 / 0.75 / 0.125 | 0.0 | 0.0 | 11.0 |
a CPU time limit achieved
CPU time, in seconds, of the 4 runs combined
| Total CPU time (s) | |||
|---|---|---|---|
| Probabilities ( | Window size (min) | ||
| 150 | 120 | 90 | |
| 0.25 / 0.50 / 0.25 | 43.3 | 108 | 11299 |
| 0.5 / 0.25 / 0.25 | 5341.5 | 18981[a] | 28800[a] |
| 0.125 / 0.75 / 0.125 | 60.8 | 42 | 39 |
a CPU time limit achieved
Pre-allocationof care plans to linacs in the RT department of the NKI (2017)
| ID | Careplan | # patients | L1 | L2 | L3 | L4 | L5 | L6 | L7 | L8 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Anus +/- inguinal lymph node | 22 | X | X | X | X | X | X | X | X |
| 2 | Adrenal stereotaxic | 4 | X | X | X | |||||
| 3 | Bladder | 43 | X | X | ||||||
| 4 | Bladder (partial) | 22 | X | X | ||||||
| 5 | Chest wall | 45 | X | X | X | X | X | X | X | X |
| 6 | Chest wall+axilla | 114 | X | X | X | X | X | X | X | X |
| 7 | Chest wall+axilla+parasternal | 15 | X | |||||||
| 8 | Chest wall+parasternal | 3 | X | |||||||
| 9 | Chest wall (bsu) | 2 | X | |||||||
| 10 | Bone metastasis | 1099 | X | X | X | X | X | X | ||
| 11 | Bone metastasis stereotaxic | 52 | X | X | X | X | ||||
| 12 | Uterus | 42 | X | X | ||||||
| 13 | Endometrium | 16 | X | X | X | X | ||||
| 14 | Neck (bsu) | 9 | X | X | X | X | X | X | X | |
| 15 | Brain 1 fraction | 107 | X | X | X | |||||
| 16 | Brain several fractions | 86 | X | X | X | X | ||||
| 17 | Brain (whole) | 159 | X | X | X | X | X | X | X | X |
| 18 | Brain electrons | 6 | X | |||||||
| 19 | Lymph node stereotaxic | 17 | X | X | X | X | ||||
| 20 | Head-and-neck | 230 | X | X | X | X | X | |||
| 21 | Head-and-neck (palliative) | 4 | X | X | X | X | X | |||
| 22 | Larynx 2vs | 2 | X | |||||||
| 23 | Liver | 6 | X | X | X | |||||
| 24 | Lung (palliative) | 61 | X | X | X | X | X | X | X | X |
| 25 | Lung | 273 | X | X | X | X | X | X | X | X |
| 26 | Lung (bsu) | 47 | X | X | X | X | X | X | X | X |
| 27 | Lung stereotaxic | 206 | X | X | X | X | X | X | ||
| 28 | Lymphoma | 44 | X | X | X | X | X | X | X | X |
| 29 | Lymphoma (bsu) | 19 | X | X | X | X | X | X | X | X |
| 30 | Stomach | 14 | X | X | X | X | X | X | X | X |
| 31 | Breast | 777 | X | X | X | X | X | X | X | X |
| 32 | Breast+axilla | 179 | X | X | X | X | X | X | X | X |
| 33 | Breast+axilla+parasternal | 20 | X | X | X | X | X | X | X | X |
| 34 | Breast+parasternal | 1 | X | X | X | X | X | X | X | X |
| 35 | Esophagus | 77 | X | X | X | X | X | X | X | X |
| 36 | Esophagus (palliative) | 22 | X | X | X | X | X | X | X | X |
| 37 | Axilla (virtual) | 5 | X | X | X | X | X | X | X | X |
| 38 | Orbit (eye socket) | 1 | X | X | ||||||
| 39 | Ovaries | 5 | X | X | X | X | ||||
| 40 | Others | 183 | X | X | X | X | X | X | X | X |
| 41 | Others (bsu) | 60 | X | X | X | X | X | X | X | X |
| 42 | PAO (+/- iliac single-sided) | 1 | X | X | X | X | ||||
| 43 | Penis | 11 | X | X | X | X | ||||
| 44 | Prostate | 243 | X | X | X | X | X | X | X | X |
| 45 | Prostate+pelvic lymph nodes | 60 | X | X | X | X | X | X | X | X |
| 46 | Prostatic bed | 36 | X | X | X | X | X | X | X | X |
| 47 | Prostatic bed+pelvic lymph nodes | 25 | X | X | X | X | X | X | X | X |
| 48 | Rectum / sigmoid | 87 | X | X | X | X | X | X | X | X |
| 49 | Rectum 13 x 3 Gy | 5 | X | X | X | X | X | X | X | X |
| 50 | Rectum 5 x 5 Gy | 56 | X | X | X | |||||
| 51 | Sarcoma abdominal/thoracic wall | 13 | X | X | X | X | X | X | X | |
| 52 | Sarcoma extremity | 28 | X | X | X | X | X | X | ||
| 53 | Sarcoma retroperitoneal | 9 | X | X | X | X | X | X | ||
| 54 | Spinal cord | 33 | X | |||||||
| 55 | Vagina | 5 | X | X | X | X | ||||
| 56 | Vulva +/- inguinal lymph nodes | 9 | X | X | X | X | X | X | X | X |
| Total | 4720 | |||||||||