1 Introduction
2 Literature
2.1 Benchmark sets
2.2 Conditions for benchmark sets
3 Classification of surgery scheduling instances
3.1 Case mix and surgery scheduling instance characteristics
3.2 Classification of surgery scheduling instances
3.3 Surgery scheduling problem settings
4 Example application of case mix classification
5 Benchmark set for surgery scheduling
5.1 Real-life instance generation
Experimental design for real-life instance generation | ||
---|---|---|
Problem parameter | Values considered | Number of values |
Specialty (p) | CHI, ORT, ENT, GYN, PLA, URO, EYE, THO, ONC, NEU, MIX |
\(\left| P \right| =11\)
|
Number of ORs (j) | 5, 10, 15, 20, 25, 30, 35, 40 |
\(\left| J \right| =8\)
|
Load (\(\alpha \)) |
\(0.80, 0.85, {\ldots }, 1.20\)
|
\(\left| \hbox {{A}} \right| =10\)
|
Specialty short name | Specialty full name | # Surgery types | # Surgery realizations |
---|---|---|---|
CHI | General surgery | 149 | 9311 |
ENT | Otolaryngology | 146 | 11,986 |
EYE | Ophthalmic surgery | 91 | 7953 |
GYN | Obstetric and gynecologic surgery | 60 | 4116 |
MIX | Remaining specialties, such as colorectal surgery, pediatric surgery, trauma surgery, vascular surgery, etc. | 173 | 46,938 |
NEU | Neurological surgery | 47 | 2832 |
ONC | Surgical oncology | 43 | 6466 |
ORT | Orthopedic surgery | 133 | 7618 |
PLA | Plastic surgery | 73 | 3022 |
THO | Thoracic surgery | 28 | 2248 |
URO | Urology | 75 | 5627 |
Total | 1018 | 108,117 |
5.2 Theoretical instance generation
Experimental design for fictitious instance generation | ||
---|---|---|
Problem parameter | Values considered | Number of values |
Case mix profile (p) |
\(0, 1, {\ldots }, 16\)
|
\(\left| P \right| =17\)
|
Number of ORs (j) | 5, 10, 15, 20, 25, 30, 35, 40 |
\(\left| J \right| =8\)
|
Load (\(\alpha \)) |
\(0.80, 0.85, {\ldots }, 1.20\)
|
\(\left| \hbox {{A}} \right| =10\)
|
Given:
|
\(\quad \bullet \)
a case mix,
|
\(\quad \bullet \)
number of ORs,
|
\(\quad \bullet \)
a set of loads
\((\alpha \varepsilon \{0.80, 0.85, \ldots , 1.20\})\)
|
The procedure will generate 3X instances for each of the loads in the set.
|
Step 1: Select a random surgery type. |
Step 2: Add a surgery of this type to the instance, and determine the load (total expected surgery duration / total OR capacity) of the instance. |
Step 3: |
If the load deviates less than 0.025 from any load \(\alpha \) in the set, continue with Step 4. |
Else
|
if the load is more than the highest load \(\alpha +0.025\), discard the instance and continue with Step 6. |
Else repeat Step 1-3. |
Step 4: If the load is less than the desired load \(\alpha \), do 100 attempts to add another random surgery, which is added iff the resulting load is closer to \(\alpha \). |
Step 5: Save the resulting instance for the desired \(\alpha \). If a load \(\alpha \). has sufficient instances, remove it from the set of loads. |
Step 6: Repeat the generation procedure until for each load \(\alpha \). in the set, 3X instances are generated. |
5.3 Instance proximity maximization
Repeat this procedure for each parameter combination
| |
Step 1: Generate 3X random instances. | |
Step 2: Determine for all surgery pairs of all pairs of instances if they are \(\varepsilon \)-proximal. | |
Step 3: Determine the maximum matching of \(\varepsilon \)-proximate surgeries. | |
Step 4: Determine the \(\varepsilon \)-proximity quantity of all pairs of instances. | |
Step 5: Use the ILP to select X instances for which the maximum \(\varepsilon \)-proximity quantity between all instance pairs is minimal. |