using operations research methodologies to …using operations research methodologies to improve...
TRANSCRIPT
Using Operations Research Methodologies
to Improve
Operating Theatre Scheduling
Kari Stuart Bachelor Applied Science (Mathematics)
Bachelor Applied Science Honours (Mathematics) Queensland University of Technology
~ CONFIDENTIAL ~
A thesis submitted in partial fulfilment of the requirements for the degree of
Doctor of Philosophy 2010
Principal Supervisor: Professor Erhan Kozan
Queensland University of Technology
Discipline of Mathematical Sciences
Brisbane, Queensland, 4001, AUSTRALIA
2
© Copyright by Kari Stuart 2010 All Rights Reserved
3
Abstract
A hospital consists of a number of wards, units and departments that provide a
variety of medical services and interact on a day-to-day basis. Nearly every
department within a hospital schedules patients for the operating theatre (OT) and
most wards receive patients from the OT following post-operative recovery.
Because of the interrelationships between units, disruptions and cancellations within
the OT can have a flow-on effect to the rest of the hospital. This often results in
dissatisfied patients, nurses and doctors, escalating waiting lists, inefficient resource
usage and undesirable waiting times.
The objective of this study is to use Operational Research methodologies to enhance
the performance of the operating theatre by improving elective patient planning using
robust scheduling and improving the overall responsiveness to emergency patients by
solving the disruption management and rescheduling problem. OT scheduling
considers two types of patients: elective and emergency. Elective patients are
selected from a waiting list and scheduled in advance based on resource availability
and a set of objectives. This type of scheduling is referred to as ‘offline scheduling’.
Disruptions to this schedule can occur for various reasons including variations in
length of treatment, equipment restrictions or breakdown, unforeseen delays and the
arrival of emergency patients, which may compete for resources. Emergency
patients consist of acute patients requiring surgical intervention or in-patients whose
conditions have deteriorated. These may or may not be urgent and are triaged
accordingly. Most hospitals reserve theatres for emergency cases, but when these or
other resources are unavailable, disruptions to the elective schedule result, such as
delays in surgery start time, elective surgery cancellations or transfers to another
institution. Scheduling of emergency patients and the handling of schedule
disruptions is an ‘online’ process typically handled by OT staff. This means that
decisions are made ‘on the spot’ in a ‘real-time’ environment.
There are three key stages to this study: (1) Analyse the performance of the operating
theatre department using simulation. Simulation is used as a decision support tool
and involves changing system parameters and elective scheduling policies and
4
observing the effect on the system’s performance measures; (2) Improve viability of
elective schedules making offline schedules more robust to differences between
expected treatment times and actual treatment times, using robust scheduling
techniques. This will improve the access to care and the responsiveness to
emergency patients; (3) Address the disruption management and rescheduling
problem (which incorporates emergency arrivals) using innovative robust reactive
scheduling techniques. The robust schedule will form the baseline schedule for the
online robust reactive scheduling model.
5
Contents
ABSTRACT............................................................................................. 3
LIST OF FIGURES ................................................................................ 8
LIST OF TABLES ................................................................................10
PUBLICATIONS ARISING FROM THIS RESEARCH............ .....11
LIST OF ABBREVIATIONS ..............................................................13
STATEMENT OF ORIGINAL AUTHORSHIP ................... ............14
ACKNOWLEDGEMENTS..................................................................15
CHAPTER 1. INTRODUCTION .....................................................16
1.1 HEALTHCARE AND SURGERY IN AUSTRALIA................................... 16
1.2 SOME RESEARCH ISSUES ........................................................................ 19
1.3 A REAL LIFE EXAMPLE ............................................................................ 21
1.3.1 THE PRINCESS ALEXANDRA HOSPITAL .............................................. 21
1.3.1.1 ADMISSION PROCESSES .......................................................................... 21
1.3.1.2 OT LAYOUT................................................................................................. 22
1.3.1.3 OT SCHEDULING........................................................................................ 23
1.4 MOTIVATION, AIMS AND METHODOLOGY OF THE RESEARCH.... 26
1.4.1 GAPS IN THE RESEARCH.......................................................................... 26
1.4.2 AIMS OF THE RESEARCH......................................................................... 29
1.4.3 APPROACH .................................................................................................. 30
1.5 CONTRIBUTIONS OF THE THESIS .......................................................... 36
CHAPTER 2. LITERATURE REVIEW .........................................39
2.1 GENERAL OPERATING THEATRE STUDIES – ADMINISTRATIVE
ISSUES .......................................................................................................... 39
2.2 MULTI-OBJECTIVE PROGRAMMING..................................................... 42
2.3 SIMULATION............................................................................................... 43
2.4 SCHEDULING AND SEQUENCING.......................................................... 45
2.5 ALTERNATIVE APPROACHES................................................................. 50
2.6 ROBUST SCHEDULING ............................................................................. 50
2.7 REACTIVE SCHEDULING ......................................................................... 52
2.8 SINGLE MACHINE SCHEDULING ........................................................... 55
6
CHAPTER 3. SIMULATION MODEL...........................................58
3.1 THE MODEL.................................................................................................58
3.1.1 DEVELOPING THE MODEL.......................................................................58
3.1.2 MODEL ASSUMPTIONS.............................................................................63
3.1.3 CHANGING PATIENT ARRIVALS............................................................63
3.1.4 SCHEDULING DISCIPLINES .....................................................................63
3.1.5 DATA INPUT................................................................................................64
3.1.6 SIMULATION MODEL VALIDATION PROCESS....................................66
3.2 SIMULATION RESULTS AND SENSITIVITY ANALYSIS.....................68
3.3 CONCLUSIONS............................................................................................81
CHAPTER 4. ROBUST SURGERY ASSIGNMENT MODELS..83
4.1 DATA ANALYSIS FOR ROBUST AND REACTIVE MODELS...............85
4.2 GENERATION OF RANDOM CASES FOR TESTING THE ROBUST
AND REACTIVE MODELS.........................................................................88
4.3 THE SUM OF INDEPENDENT BUT NOT NECESSARILY IDENTICAL
LOGNORMAL RANDOM VARIABLES ....................................................89
4.4 MODEL ASSUMPTIONS.............................................................................93
4.5 THE ROBUST SURGERY ASSIGNMENT MODELS ...............................94
4.5.1 THE ROBUST SURGERY ASSIGNMENT MODELS WITH
LOGNORMALLY DISTRIBUTED SURGICAL DURATIONS.................94
4.5.2 FLEXIBLE ROBUST SURGERY ASSIGNMENT MODEL WITH
LOGNORMALLY DISTRIBUTED SURGICAL DURATIONS.................98
4.6 PROBLEM COMPLEXITY ..........................................................................98
4.7 SOLUTION METHODS..............................................................................100
4.7.1 SOLUTION METHOD FOR THE ROBUST SURGERY ASSIGNMENT
MODEL WITH LOGNORMALLY DISTRIBUTED SURGICAL
DURATIONS...............................................................................................100
4.7.2 SOLUTION METHOD FOR THE FLEXIBLE ROBUST SURGERY
ASSIGNMENT MODEL WITH LOGNORMALLY DISTRIBUTED
SURGICAL DURATIONS..........................................................................104
4.8 ROBUST SCHEDULE RESULTS..............................................................104
4.8.1 RESULTS FOR THE ROBUST SURGERY ASSIGNMENT MODEL WITH
LOGNORMALLY DISTRIBUTED SURGICAL DURATIONS...............105
7
4.8.2 RESULTS FOR THE FLEXIBLE ROBUST SURGERY ASSIGNMENT
MODEL WITH LOGNORMALLY DISTRIBUTED SURGICAL
DURATIONS............................................................................................... 112
4.9 CONCLUSIONS.......................................................................................... 115
CHAPTER 5. REACTIVE SCHEDULING..................................118
5.1 THE ROBUST REACTIVE ASSIGNMENT MODEL .............................. 119
5.1.1 SOLUTION APPROACH AND RESULTS ............................................... 123
5.2 THE BI-CRITERIA REACTIVE SCHEDULING MODELS .................... 129
5.2.1 THE MODELS ............................................................................................ 130
5.2.1.1 FIXED TREATMENT TIME MODEL....................................................... 133
5.2.1.2 ROBUST MODEL....................................................................................... 136
5.2.2 SOLUTION APPROACH ........................................................................... 140
5.2.3 SCHEDULE RESULTS AND CONCLUSIONS........................................ 152
5.3 CONCLUSIONS.......................................................................................... 159
CHAPTER 6. CONCLUSIONS AND FUTURE WORK ............161
6.1 CONCLUSIONS.......................................................................................... 161
6.2 FUTURE WORK......................................................................................... 167
REFERENCES....................................................................................169
APPENDIX A ......................................................................................178
APPENDIX B ......................................................................................179
APPENDIX C ......................................................................................182
APPENDIX D ......................................................................................188
8
List of figures
Figure 1. Patient flow diagram................................................................................24
Figure 2. Stages of research.....................................................................................30
Figure 3. Elective patient flow.................................................................................59
Figure 4. Emergency patient flow...........................................................................60
Figure 5. Program block..........................................................................................61
Figure 6. Elective patient arrival ............................................................................61
Figure 7. Re-direction of elective consultant to emergency patient.....................62
Figure 8. Elective patient cancellation decision.....................................................62
Figure 9. Distribution of simulation emergency patient waiting time.................69
Figure 10. Distribution of emergency patient wait taken from actual data........70
Figure 11. Utilisation of theatres A1, B3 and C1...................................................71
Figure 12. Emergency patient wait –10%.............................................................73
Figure 13. Emergency patient wait +10%.............................................................73
Figure 14. Emergency patient wait +20%.............................................................73
Figure 15. Emergency patient wait +30%.............................................................73
Figure 16. Elective patient wait –10%...................................................................75
Figure 17. Elective patient wait +10%..................................................................75
Figure 18. Elective patient wait +20%..................................................................75
Figure 19. Elective patient wait +30%..................................................................75
Figure 20. Effect of admissions on waiting time....................................................76
Figure 21. Effect of admissions on cancellations ...................................................76
Figure 22. Effect of admissions on utilisation rate................................................77
Figure 23. Effect of scheduling disciplines on cancellations.................................80
Figure 24. Effect of scheduling disciplines on waiting time..................................80
Figure 25. Fitted distribution versus actual data for specialty 1 .........................87
Figure 26. Gantt Chart illustrating results for one schedule .............................128
Figure 27. Process chart for reactive scheduling model ....................................132
Figure 28. BE&T LOS distribution fitting results ... ...........................................179
Figure 29. CARD LOS distribution fitting results ..............................................179
Figure 30. COLO LOS distribution fitting results..............................................179
Figure 31. FMAX LOS distribution fitting results... ...........................................179
Figure 32. ENT LOS distribution fitting results .................................................179
9
Figure 33. HPB LOS distribution fitting results ................................................. 179
Figure 34. NSUR LOS distribution fitting results .............................................. 180
Figure 35. PLAS LOS distribution fitting results ............................................... 180
Figure 36. OPHT LOS distribution fitting results .............................................. 180
Figure 37. RTPT LOS distribution fitting results............................................... 180
Figure 38. ORTH LOS distribution fitting results.............................................. 180
Figure 39. UGI LOS distribution fitting results.................................................. 180
Figure 40. UROL LOS distribution......................................................................181
10
List of Tables
Table 1. List of surgical categories .........................................................................65
Table 2. Surgical duration distribution fitting results ..........................................65
Table 3. Simulation results ......................................................................................68
Table 4. Changing patient arrivals .........................................................................72
Table 5. Alternative scheduling disciplines............................................................78
Table 6. Data for Specialties....................................................................................88
Table 7. Schedule results comparing LDSD and NDSD models ........................105
Table 8. Simulation results comparing robust assignment models ..................108
Table 9. Example comparison matrix for alternative objectives. .....................109
Table 10. AHP Objective weights for alternative priorities ...............................109
Table 11. AHP Results for alternative priorities.................................................111
Table 12. Schedule details for top 5 AHP selected schedules .............................111
Table 13. Comparison of fixed and flexible assignment methods.....................113
Table 14. Comparison of constructive heuristics ...............................................114
Table 15. LVF results when SPT logic is used to assign additional patients ...115
Table 16. Results of reactive schedules................................................................126
Table 17. Comparison of initial patient sequences for fixed processing time and
robust models..................................................................................................153
Table 18. Comparison of final patient sequences for fixed processing time and
robust models..................................................................................................154
Table 19. Comparison of performance measures for fixed and robust schedules
against robust assignment model ..................................................................157
Table 20. Percentage of patients requiring more time than assigned ...............158
11
Publications arising from this research
Refereed Journal Articles
1. Stuart, K., Kozan, E., Sinnott, M. and Collier, J (2010). An Innovative Robust
Reactive Surgery Assignment Model, ASOR Bulletin, 29.3, 48-58.
ERA Rank: C
Refereed Conference Papers
1. Stuart, K. and Kozan, E. (2007) Modelling of Operating Theatres using
Simulation, The 8th Asia-Pacific Industrial Engineering and Management
Systems Conference, Kaohsiung, Taiwan.
ERA Rank: C
2. Stuart, K. and Kozan, E. (2009) Online Scheduling in the Operating Theatre, The
10th Asia-Pacific Industrial Engineering and Management Systems Conference,
Kitakyushu, Japan.
ERA Rank: C
Non-Refereed Conference Papers
1. Stuart, K. and Kozan, E. (2007) Optimal Offline Robust Surgical Schedules, The
Australian Society for Operations Research Annual Conference 2007,
Melbourne, Australia.
Papers Submitted to Journals
1. Stuart, K. and Kozan, E. Comparing robust elective surgery assignment models.
Submitted to European Journal of Operations Research, April, 2010.
12
2. Stuart, K. and Kozan, E. A new methodology and constructive heuristics for
elective surgery scheduling. Submitted to Computers and Mathematical
Modelling, 25th January, 2010.
3. Stuart, K. and Kozan, E. Bi-criteria reactive scheduling model for the operating
theatre. Submitting to Flexible Services and Manufacturing Journal, September,
2010.
13
List of abbreviations
TERM ABBREVIATION
Breast, Endocrine & Thoracic BE&T
Classification and regression tree CART
Clinical priority assessment criteria CART
Elective booking officer EBO
Emergency department ED
First come first served FCFS
Highest variance first HVF
Intensive care unit ICU
Integer program IP
Least flexible job LFJ
Length of surgery LOS
Longest processing time LPT
Longest time first LTF
Lowest variance first LVF
Non-deterministic polynomial time NP
Operations research OR
Operating room management information system ORMIS
Operating theatre OT
Polynomial P
Post-anaesthesia care unit PACU
Princess Alexandra hospital PAH
Room for improvement RFI
Surgical care unit SCU
Shortest processing time SPT
14
Statement of original authorship
I acknowledge that the work contained in this thesis has not been previously
submitted to meet requirements for an award at this or any other higher education
institution. To the best of my knowledge and belief, no material previously
published or written by another person except where due reference is made is
contained in this thesis.
Signed,
Kari Stuart
15
Acknowledgements
Firstly, I am grateful for the support and guidance of my principal supervisor
Professor Erhan Kozan! Thank you for everything!
To the staff at the Princess Alexandra Hospital, I wish to acknowledge and thank you
for your cooperation and contribution to this study. In particular, for their insight
and knowledge on the running of the emergency department and their assistance in
providing collaborations with operating theatre staff, thank you to Dr James Collier
and Dr Michael Sinnott of the emergency department. Thank you also to Ms
Margaret Walker for spending invaluable time providing information on the running
of the operating theatre and explaining the processes occurring within the
department.
Thank you to the financial supporters of this project, the Australian Research
Council, the Princess Alexandra Hospital and also to the Mathematical Sciences
Discipline, Queensland University of Technology, for support of this project.
To my associate supervisor, Professor Vo Anh and the other members of this
research project, Mel Diefenbach and Andy Wong, thank you for your
collaborations, knowledge and most importantly, support. I would also like to
express my gratitude to the panel members and examiners of this thesis. Your input
is immeasurable.
A very big thank you to Ms Mary-Anne Ramis of the Queensland University of
Technology for liaising with PAH staff members, organising meetings with staff,
collecting data and generating databases from patient records and for your assistance
with editing this thesis.
Finally and possibly most importantly, thank you to my family - Damian, Jarrod and
Nathan. I could not have completed this research without your support, love and
patience!! And to the One whose love and faithfulness endures forever, thank you
for being my rock.
16
Chapter 1. Introduction
1.1 Healthcare and surgery in Australia
“Healthcare is the preservation of mental and physical health by preventing or
treating illness through services offered by the health profession” (Miller, Fellbaum,
Tengi & Wakefield, 2006).
The healthcare system in Australia consists of both private and public hospitals,
medical practitioners, and funding by insurance schemes. Federal and state
governments cover approximately 70% of healthcare costs, with the remainder
covered by private sources. In 2004-05, approximately $87.3 billion was spent on
healthcare in Australia, a quarter of which was spent on public hospitals. Funding
sources were federal ($9.8 billion), state, territory and local governments ($10.6
billion) and private sources ($1.7 billion). These costs comprise staff salaries and
superannuation, fees, equipment, medical supplies and support services. The costs of
treating conditions depend on individual requirements including anaesthetics,
medications and facilities (Australian Government Department of Health and
Ageing, 2008).
Medicare was introduced to Australia’s healthcare system in 1984. This
comprehensive system facilitates access to free or low cost medical, optometric and
public hospital care. Funding for this system comes from individuals, based on their
income through a taxation levy. Patients with private health insurance have access
to both public and private hospitals. These patients may choose the treating doctor
but are charged for hospital accommodation and other expenditures including theatre
fees. Some or all of these outstanding fees are covered by private health insurance
(Australian Government: Department of Foreign Affairs and Trade, 2008).
There are three ways in which a patient may enter a hospital; as an outpatient,
emergency patient or inpatient. Ranges of specialist medical and surgical services
are provided in outpatient clinics. Most specialist outpatient clinics are open
Monday to Friday 8:30am to 4:30pm and are closed on public holidays. Obtaining
17
an appointment for an outpatient clinic requires a referral from a general practitioner
or other medical practitioner. Free emergency care is provided in a public hospital’s
emergency department (ED) for treatments varying from life-threatening illnesses to
less severe symptoms or injuries that are potentially serious. Patients are categorised
(triaged) according to the standards defined by the Australasian College of
Emergency Medicine. Each triage category has a maximum time by which patients
should be seen for treatment by a doctor or nurse with the more urgent triage
categories treated first. Inpatients may be further categorised as scheduled or non-
scheduled. Non-scheduled inpatients are immediately admitted by a specialist in
either the outpatient clinic or ED. Scheduled inpatients are elective patients taken
from a waiting list. The wait for admission depends on many factors including
priority for treatment and the length of the waiting list. There are various reasons for
public hospital admissions including surgery, diagnostic tests, or treatment for severe
medical conditions. In 2005-06, there were almost 4.5 million admissions to public
hospitals (61% of all patient admissions); 65% of these were for acute medical care
and 18% for surgery (Australian Government Department of Health and Ageing,
2008).
According to the State of our Public Hospitals June report, approximately 43%
(908,000) of all admissions for surgery during 2006-07 were in public hospitals
(Australian Government Department of Health and Ageing, 2009). The proportion
fell by 2% in 2007-08 but the actual number of surgical procedures rose to 920,000
(Australian Government Department of Health and Ageing, 2009).
In 2007-08, the number of emergency cases increased to 223,000 and elective
surgeries were up by 9500 cases. Of the emergency surgery cases, 87% were carried
out in public hospitals (Australian Government Department of Health and Ageing,
2009). In 2006-07, approximately 23.7% were emergency cases (or 215,000
procedures) and more than 556,000 were admitted from elective surgery waiting lists
(Australian Government Department of Health and Ageing, 2008). The rest of the
procedures requiring surgery are those that are not normally assigned an urgency
category, such as emergency caesarean surgeries.
18
Elective surgery waiting lists are managed with the aim of ensuring patients are seen
within a recommended time appropriate to the urgency of their condition (Australian
Government Department of Health and Ageing, 2008). Public hospitals follow the
Policy Framework for Elective Surgery Services (Queensland Health, 2004) when
prioritising elective surgery. This policy provides a structured approach to
scheduling elective surgeries. Clinical urgency category is the fundamental decision
for scheduling elective patients (Category 1 before Category 2, Category 2 before
Category 3). The most recent definitions for the clinical urgency categories
according to the June 2009 Report for the state of our public hospitals (Australian
Government Department of Health and Ageing, 2009) are as follows:
Category 1 Admission within 30 days desirable for a condition that has the
potential to deteriorate quickly to the point that it may become an
emergency.
Category 2 Admission within 90 days desirable for a condition causing some pain,
dysfunction, or disability but which is not likely to deteriorate quickly or
become an emergency.
Category 3 Admission within 365 days for a condition causing minimal or no pain,
dysfunction or disability, which is unlikely to deteriorate quickly and
which does not have the potential to become an emergency.
Within each clinical urgency category, other factors such as waiting time, previous
postponement, operating theatre (OT) management and effective bed management
must be considered when selecting patients from the elective surgery waiting list.
In 2007-08, 31% of public patient admissions for elective surgery were assigned to
Category 1, 39% to Category 2 and 30% to Category 3. Variations in these
distributions occur at state levels. Timeframes for the provision of elective surgery
are key performance measures for public hospitals. For 2008-09, 89% of Category 1
patients, 74% of Category 2 patients and 92% of Category 3 patients were seen
within the recommended timeframes. (Australian Government Department of Health
and Ageing, 2009).
19
1.2 Some research issues
The efficient running of a hospital is a concern for hospital administrators,
politicians, healthcare providers and patients alike. Although each of these has a
vested interest in a hospital’s success, they may have different and/or conflicting
measures of efficiency. For example, hospital administrators and politicians measure
efficiency by cost and achieving high utilisation of resources. On the other hand,
healthcare providers measure by appropriateness of care while patients desire prompt
satisfactory care. High utilisation of resources such as beds, has been linked to
increased patient waiting times (Sier, 2004) and for those waiting for treatment (and
possibly in pain), the costs imposed are the least of their concerns.
Operating theatre scheduling
A hospital consists of a number of wards, units and departments that provide a
variety of medical services, which interact on a day-to-day basis. Nearly every
department within a hospital schedules patients for the operating theatre (OT) and
most wards receive patients from the OT following immediate post-operative
recovery. This link between the OT and other facilities contributes not only to its
importance but also its costs (Cardoen, Demeulemeester & Belien, 2009a). Due to
the interrelationships between hospital units, disruptions in the OT department are
not limited to the OT. Elective surgery cancellations have a cascading effect,
resulting in dissatisfied patients and escalating waiting lists (Cheng & Newman,
2005). Compounding this, is that hospital wards act autonomously and scheduling of
each ward is usually done without considering the actions and needs of other wards,
each of which acts on behalf of its patients (Vermeulen, Bohte, Somefun & La
Poutre, 2006). This may lead to inefficient usage of resources and undesirable and
unnecessary waiting times. Improving the interaction between hospital units
however, is a difficult task. Hughes, Carson, Morgan and Silvester (2005) showed
that as the degree of inter-dependency between hospital units increases, the process
of admitting patients becomes more difficult.
OT scheduling involves assigning surgical patients and scarce resources to the
theatres in a manner that maximises resource utilisation and minimises theatre idle
20
time. Two types of patients are considered: elective and emergency. Elective
patients are selected from a waiting list and scheduled in advance based on resource
availability and a set of objectives. This type of scheduling is referred to as ‘offline
scheduling’. Disruptions to this schedule occur for various reasons, including
variations in length of treatment, equipment restrictions or breakdown, unforeseen
delays and the arrival of emergency patients, which may compete for resources.
Emergency patients consist of acute patients requiring surgical intervention or in-
patients whose conditions have deteriorated. These may or may not be urgent and
are triaged accordingly. Most hospitals reserve theatres for emergency cases, but
when these or other resources are unavailable, elective theatres may be used. This
can lead to disruptions to the elective schedule such as delays in surgery start time,
elective surgery cancellations or transfers to another institution. Scheduling of
emergency patients and the handling of schedule disruptions is an ‘online’ process
typically handled by OT staff.
Scheduling operations for the OT is a difficult task. Complicating the problem is the
natural variability of patients, including the type and severity of the presenting
illness, which leads to variability in duration of surgery and resource requirements.
If demand for resources is higher than the available capacity, bottlenecks in the
system result, which generally have a cascading effect, affecting the efficiency of the
entire hospital. In the same way, bottlenecks in other departments can affect the OT.
For example, some surgeries require a post-operative intensive care unit (ICU) bed.
This needs to be considered when planning surgeries, as a bed needs to be booked in
advance in the ICU. If the required bed is unavailable prior to surgery, this may
necessitate the cancellation of the surgery. When problems like this occur, decisions
have to be made to determine which patients will be operated on and which will not.
Improving the system
There are generally two methods for improving a system; investment of funds to
provide more resources or optimisation of the already available resources.
Operations research (OR) techniques will be applied to enhance the performance of
the system by optimising the use of operating theatres’ capacity, via improving
elective patient planning using robust scheduling techniques, and increasing the
21
overall responsiveness to emergency patients by solving the disruption management
and re-scheduling problem.
1.3 A real life example
1.3.1 The Princess Alexandra Hospital
The Princess Alexandra Hospital (PAH), located in Woolloongabba, Brisbane, is one
of three tertiary teaching Hospitals in Queensland. The hospital currently has 712
available beds and has an extended capacity for 825 beds. With the exception of
obstetrics, care is provided for all major adult specialties with particular expertise in
spinal injuries and solid organ transplantation. Other services offered by the hospital
include acute care, medical, rehabilitation, surgical, mental health and allied health.
The surgical services provided by the hospital include cardiac surgery, spinal injury,
liver and renal transplantation and varying elective procedures relating to
hepatobiliary, ophthalmology, urology, gynaecology, breast, endocrine, thoracic, ear,
nose and throat (ENT), plastics, dermatology, orthopaedics, oncology and vascular
care.
1.3.1.1 Admission processes
The majority of patients at the PAH are booked admissions that are either ‘day
patients’ or ‘in patients’. An ‘in patient’ is one that stays overnight or for a few days
at the hospital. Day patients receive tests or treatments on the day of their admission
and do not stay overnight.
Not all patients arriving at hospital need to be admitted. The PAH is just one of
Australia’s public hospitals that provide a range of specialist medical and surgical
services in outpatient clinics. The PAH also provides a free emergency care service
open 24 hours a day for seriously ill cases and those requiring immediate treatment.
Treatment is issued on a priority basis, using a FCFS discipline within priority
categories. Emergency patients may be admitted to hospital through the ED if
22
necessary. The wait for admission depends on many factors including priority for
treatment and the length of the waiting list.
Patients waiting for elective surgery are placed on the elective surgery waiting list.
The PAH follows the guidelines set out in the Policy Framework for Elective
Surgery Services (2005) when prioritising elective surgery. For details on this policy
see Section 1.1 on healthcare and surgery in Australia. Within each clinical urgency
category, other factors such as waiting time, previous postponement, OT
management and effective bed management must be considered when selecting
patients from the elective surgery waiting list.
1.3.1.2 OT layout
There are two entry points to the OT department depending on the patient’s source.
The main entry point is for both emergency and elective patients. Associated with
this entry point is a holding bay where beds may be wheeled prior to surgery if the
scheduled theatre is unavailable on arrival. The second entry point is for the surgical
care unit (SCU). Patients undergoing day procedures who are generally discharged
the same day and those that are admitted on the day of their surgery, but may require
admittance to a ward following surgery, originate from the SCU. The SCU has its
own holding bay that functions in the same way as the main entrance holding bay.
The PAH contains five OT pods (A, B, C, D & E) with each containing 2-6 theatres
depending on the theatre size. Currently, 18 functioning elective theatres and two
emergency theatres are in use. Each OT contains a standard set of equipment
necessary for routine surgical procedures and any specialized equipment according to
the types of surgeries performed there. Depending on size, equipment may or may
not be movable to different theatres. For example, due to the largeness of the
specialized equipment, cardiac procedures are limited to the larger cardiac theatres.
The OT layout is given in Appendix A. Prior to surgery, elective patients wait in
wards and other departments until they are ‘called for’ to prevent bottlenecks.
Bottlenecks occur when patients are brought up from the ED before a theatre is ready
and there is no room for the patients in the holding bays. Post-operative bottlenecks
23
occur particularly when a patient is waiting to go back to a ward and there is no bed
available.
Attached to each Theatre is an anaesthesia workroom where any necessary
anaesthetics are administered before entering the actual theatre room. This allows
for ease of patient flow and reduces the possibility of bottlenecks to the system.
Following surgery, patients are sent to one of three destinations depending on their
originating source and health status; the ICU, the Post Anaesthesia Care Unit
(PACU) or the SCU. A patient flow diagram (Figure 1) was generated with the
assistance of hospital OT and ICU medical staff.
1.3.1.3 OT scheduling
Arriving patients are classified as elective, day surgery and emergency. Elective
surgeries are only performed during business hours, Monday to Friday, and are
selected in advance. Emergency patients may be broadly defined as those requiring
surgery in the immediate future and are not on the scheduled elective surgery list.
They arrive at random from other wards and departments within the hospital,
complicating the scheduling process as they compete for the scarce resources.
Generally, emergency patients are treated in the emergency theatres; however, when
necessary they may be treated in an elective theatre. In the case of cardiac
emergencies, for example, these patients would require the use of cardiac theatres for
equipment reasons. Allocation of emergency patients to theatres is the responsibility
of the OT staff. They are added to the schedule at appropriate times according to the
triage category assigned by the requesting surgeon and resource availability.
Emergency cases are listed on an emergency white board in the nurses’ station. The
emergency white board lists the patient’s name, the required procedure, triage
category and previous cancellations. Emergency cases that require day surgery are
sent to the SCU. Many day surgery emergency cases are cancelled due to
insufficient theatre capacity. Minimising disruptions to the original schedule such as
delays in start times and elective cancellations are important considerations when
making any changes.
Figure 1. Patient flow diagram
Currently a block scheduling system is implemented for elective theatre scheduling
in which a theatre block is assigned to a given surgeon or specialty. OT blocks for
elective procedures are generally AM (0800 hours to 1200 hours), PM (1300 hours to
1700 hours) or all day (0800 hours to 1500 hours or 0830 hours to 1530 hours).
Depending on the duration of the surgical case, however, some procedures will start
early (0730 hours). A four-week cyclical surgical roster is used for the elective
theatres, with the exception of the eye theatres, which work on a 12-week cyclic
roster.
Medical officers are responsible for selecting their own patients and sequencing
them. Generally, a longest processing time (LPT) scheduling discipline is used. The
longer surgeries are typically more variable and prone to running overtime resulting
in cancellations of the remaining cases for that particular theatre. In this way,
scheduling the more variable surgeries first minimises the incidence of overtime.
Surgical duration is affected by the surgeon’s caseload and abilities. OT bookings
are entered on the Operating Room Management Information System (ORMIS). The
Elective Booking Officer (EBO) notifies all patients by phone (and booking letter if
time permits) of the booking date.
The goal of the elective schedule is to maximise patient throughput and theatre
utilisation. Operating room utilisation is the percentage of time that a service uses its
allocated operating room time (Abouleish, Hensley, Zornow & Prough, 2003).
Currently a meeting is held each Thursday to review the forthcoming week’s surgery
lists. At these meetings, staffing issues including absences (especially nursing),
caseload, equipment requirements and the types of surgeries to be performed, are
discussed. In the case of a surgeon on leave, the list may be given to another surgeon
to perform. In some cases however, the surgeon will cancel the list.
The following non-exhaustive list of events may result in surgical cancellations;
· Late arrival of surgeon. In the case of a surgeon being late, another surgeon
may not fill the time left unutilised;
· Unexpected complications during surgical procedure resulting in tardy
completion, which results in insufficient theatre capacity for the remaining
cases;
26
· The unavailability of a post operative bed, for example in the ICU, prior to a
surgery commencing;
· Arrival of a category 1 or 2 emergency case requiring an elective theatre;
· Insufficient resources or equipment failure; and
· Non-allowance of theatre swapping.
In the event of an elective cancellation that frees up theatre capacity, the available
capacity may be used by subsequent cases on the medical officer’s list or emergency
cases listed on the white board.
1.4 Motivation, aims and methodology of the research
1.4.1 Gaps in the research
Literature devoted to OT scheduling to date, has focused primarily on the
deterministic process of assigning patients to theatres and the patient sequencing
problem to maximise resource utilisation (Belien & Demeulemeester, 2007b, Guinet
& Chaabane, 2003, Hans, Wullink, Van Houdenhoven & Kazemier, 2008, Jebali,
Hadj-Alouane & Ladet, 2003). Advancements in technology, however, have
demonstrated the ineffectiveness of empirical, deterministic and stochastic
scheduling models during project execution as they fail to capture the dynamic and
variable nature of the OT environment prompting a move towards robust scheduling
techniques (Daniels & Kouvelis, 1995). Daniels and Kouvelis (1995) stated that ‘a
schedule which is optimal with respect to a deterministic or stochastic scheduling
model yields quite poor performance when evaluated relative to the actual processing
times’. The objective of robust scheduling is to perform better than stochastic
scheduling or using empirical distributions alone.
Robust scheduling considers the stochastic element of surgery durations when
developing a schedule by incorporating buffer (or slack) times to allow for the
variability in surgical durations. This buffer forms a ‘hedge’ against poor schedule
performance. The use of buffers absorbs some of the variation in surgical duration
making schedules more robust to variations in actual treatment time that occur during
27
project execution. Hans et al. (2008) applied robust scheduling techniques to the
patient assignment problem. In their paper, the sum of the surgical durations
assigned to a theatre is assumed normally distributed and the properties of their
summation are used to determine an amount of slack for each theatre. Their model
however, cannot be applied to the case where the random variables used to model
surgical durations, are not normally distributed. In particular, this thesis addresses
the problem of lognormally distributed surgical durations, which are shown to be a
better choice for modelling surgical durations than the normal distribution.
By using a statistical distribution that better ‘fits’ the data, (such as the lognormal
distribution rather than the normal distribution), these ‘buffers’ should be improved.
The reason for this is because the mode of a normal distribution would be
quantitatively greater than that of a lognormal distribution for the same set of data.
One could see this in the shapes of the distributions. This means that the amount of
time assigned for the patients using the normal distribution would be greater than that
for the lognormal distribution. If more time is assigned for a list of patients than is
necessary then fewer patients may actually be assigned than is efficient. Therefore,
by using a more appropriate statistical distribution, the efficiency of the robust
schedule can be improved.
In addition to addressing lognormally distributed surgical durations for robust
scheduling, in this thesis, a measure called ‘deviation’ is introduced that considers
both earliness and tardiness. Studies have shown that costs of running the operating
theatre occur not only from theatres running into overtime, but also due to theatres
completing surgery early and therefore leaving unused capacity (Dexter, Macario &
O'Neill, 2000, Dexter, Macario, Traub, Hopwood & Lubarsky, 1999). This is a
further extension over the work by Hans et al. (2008) who consider only the tardiness
of the schedule.
Emergency (or non-scheduled) operations are responsible for most of the uncertainty
in operating room scheduling and yet the problem has been largely ignored by the
literature (Cardoen, Demeulemeester & Belien, 2010). To the author’s knowledge,
there is no application of online reactive scheduling for the OT other than for disaster
events. Reactive schedules update the elective schedule at regular time intervals,
28
taking into account cancellations, emergency arrivals, expected delays and early
completion times. The objective of reactive scheduling is to minimise cancellations
and deviations from the initial schedule. Bard and Purnomo (2005) applied reactive
techniques to nurse scheduling. Before the beginning of each shift, the schedule was
re-solved to consider updated staffing requirements with the smallest deviation from
the initial schedule. A similar approach will be applied to the OT. The elective
theatre schedule will be regularly re-solved to incorporate disruptions to the original
schedule, such as arrival of emergency patients, equipment failure and post-operative
bed availability, generating an updated assignment of patients that is as close as
possible to the original schedule. Schedules generated with the robust scheduling
model will form the baseline schedule for the robust reactive scheduling model. By
using this as a baseline schedule, the need for re-scheduling due to variations in
surgical duration is reduced.
29
1.4.2 Aims of the research
The objective of this thesis is to use operations research methodologies to improve
operating theatre scheduling by analysing the system, determining offline elective
patient schedules and developing an online reactive scheduling model.
1. Analysis of an OT department system with the aid of simulation. A
simulation model will be used as a decision support tool for demonstrating the
effects of changes on the system and simulation will be used for comparing the
results of the analytical models. Simulation is beneficial because it allows the
analyst to realistically represent complex systems and investigate hypothetical
scenarios without continual interruptions to the real system (Kim, Horowitz,
Young & Buckley, 2000, Kozan & Gillingham, 1997, McHardy, Kozan &
Cook, 2004). This is important for healthcare systems, where patient’s lives
may be at stake and therefore testing new techniques without prior predictions
on performance outcomes could be devastating (Kim et al., 2000).
2. Determination of offline elective patient schedules using a robust scheduling
technique. Variability in scheduled arrivals, can reduce access to care and
impair the overall responsiveness to emergencies (McManus et al., 2003). On a
more general scale Sier (2004), found that to improve a unit’s performance the
variability in the system needs to be reduced. It is therefore important to
implement effective elective scheduling policies to reduce the effects of
variability in surgical durations. Advancements in technology have
demonstrated the ineffectiveness of deterministic and stochastic scheduling
models upon implementation as they fail to capture the dynamic and variable
nature of the OT environment, prompting a move towards robust scheduling
techniques.
3. Development of online reactive scheduling models. These models will handle
disruptions to the offline schedule such as delays in surgery start time,
emergency patient arrivals requiring elective theatres and variations in
treatment times. These models are completely innovative and have not (to the
author’s knowledge) been addressed in the literature before.
30
1.4.3 Approach
This PhD thesis will:
- analyse the performance of the OT using simulation;
- improve elective theatre scheduling using a robust scheduling technique; and
- address the disruption management problem using innovative robust reactive
scheduling techniques.
Figure 2 is an overview of the different stages of the research including the
interactions between the stages.
Figure 2. Stages of research
31
Simulation will be used in this thesis, as a decision support tool and to analyse the
results of the analytical scheduling and sequencing models. Firstly, a simulation
model will be used to compare the current sequencing method implemented at the
hospital with two alternatives and secondly to observe the effects of changing patient
arrivals on the system’s performance measures.
The first sequencing heuristic to be tested is one that has been previously examined
in the literature, SPT. The second method, least flexible job (LFJ), is normally used
in machine scheduling and has not yet been applied to the patient sequencing
problem. The second sensitivity analysis will provide evidence for hospital planners
of the effects of hypothetical ‘what if’ scenarios and introduces other possible
avenues of investigation such as the benefits of opening the elective theatres for
longer hours and/or on weekends compared with the extra staffing costs. The
simulation model, once developed, will be validated against historical data.
Methodologies from robust scheduling and approaches to handling surgical duration
variance are brought together to create schedules more robust to variations in patient
treatment times that exhibit during project execution. Robust (or preventive)
scheduling serves as the basis for planning resource commitments.
Robust scheduling addresses the feasibility of the offline schedule in the online
environment. This is achieved by assigning an amount of ‘slack’ or ‘buffer’ to the
schedule to absorb the variation in the treatment times of the patients. This slack is
based on the variance of the expected value of the surgical duration. In addition to
addressing quality robustness, the robust schedule will also address the flexibility in
patient assignment. The development of an optimal operating theatre schedule
requires the flexibility of surgeons (Calichman, 2005) and hence increasing the
flexibility of elective scheduling is investigated.
Robust schedules will be used as the basis for reactive scheduling techniques applied
to address the disruption management problem. The reactive scheduling models will
address solution robustness in the online environment and routinely repair the
baseline schedule following activity disruptions. Such disruptions include resource
or staffing unavailability, emergency patient arrivals, patient delays or cancellations,
32
and variability in treatment times. Efficient reactive schedules should incorporate
changes that occur during project execution with minimal changes to the original
schedule. Difficulties in reactive schedules arise due to the time dependent
component of the model. Automating the scheduling procedure negates the need to
be heavily reliant upon human experts to manually perform the rescheduling process
and has the potential for great cost saving benefits for the hospital.
The models developed in this dissertation will be adaptable to varying levels of
patient flexibility. Essentially, this means the models can be easily applied to other
hospitals that utilise similar scheduling systems. At the PAH for example, surgeons
are assigned specific operating rooms and times on a rostered basis. In addition to
this, patient swapping is not performed at the PAH. More general forms of
scheduling models for the OT assume that the operating rooms are assigned to
surgical specialties rather than specific surgeons and allow numerous surgeons to
treat a given specialty (and therefore any patient within the specialty assuming skill
levels are met). The resulting schedules may be compared and the differences
presented to hospital staff to illustrate what would happen if patient assignment were
more flexible, allowing patients to be treated by more than one consultant.
In order to determine the solution approach used for each of the mathematical
models, the complexity of the problem must be known. In computational theory, a
complexity class is a set of problems of related complexity. The complexity of a
problem is the degree of difficulty in providing efficient algorithms for specific
computational problems.
One of the most fundamental complexity classes is polynomial (P). P contains all
decision problems that can be solved in polynomial time on a deterministic Turing
machine. An algorithm with a time complexity function O(p(k)), where p is some
polynomial and k is the input length of an instance, is said to be a polynomial time
algorithm. This class is generally taken to contain computational problems that are
tractable.
A problem is assigned to the non-deterministic polynomial time (NP) class if its
solution may be verified in polynomial time on a non-deterministic Turing machine,
33
but the problems themselves have no known polynomial time algorithm. A P
problem is always also NP. A problem is NP-hard if an algorithm for solving it can
be translated into one for solving any other NP problem. A problem that is both NP
and NP-hard is called NP-complete. Some NP complete problems are termed NP
hard in the ordinary sense because they may be solved in pseudo-polynomial time.
These become more difficult to solve with the size of the input.
The relationship between the complexity classes P and NP is an unsolved question in
theoretical computer science. If P and NP are not equivalent, then the solution of
NP-problems requires (in the worst case) an exhaustive search, while if they are, then
asymptotically faster algorithms may exist.
If a problem that is NP-hard or NP-complete remains so when its numerical
parameters are bounded by a polynomial in the length of the input, then it is said to
be strongly NP-hard or strongly NP-complete. Numerical parameters are usually
given in binary form such that numerical values may be represented by two symbols
(0-1). Therefore the size of the parameters may be exponential in n if the problem
has input size n. Natural numbers may also be represented in unary, in which any
natural number N, is given by any arbitrary symbol repeated N times. If a problem
originally defined in binary is re-defined so that its parameters are given in unary
notation, then the parameters must be bounded by the input size. So strongly NP-
hard or strongly NP-complete problems are NP-hard or NP-complete problems re-
defined in unary form.
The robust assignment models are strongly NP hard (see Section 4.6 for the proof of
this). For optimisation problems of this complexity, polynomial time optimisation
algorithms for obtaining the optimal solution are not known. Heuristic algorithms
are used to find near optimal solutions in a reasonable amount of time. A heuristic is
a method based on intellectual “guesswork” rather than a pre-established formula for
solving a problem (Blazewicz, Ecker, Pesch, Schmidt & Weglarz, 1996).
Many general heuristics exist that can be applied to various problem types, where
some suit particular problem structures better than others. The alternative is to create
problem specific heuristics. The disadvantage is that developing problem specific
34
heuristics may be more time consuming, however because they exploit the nature of
the problem, they may result in better solutions.
A meta-heuristic is a heuristic method, which combines other heuristics in an
efficient way to solve computational problems. These are generally applied when
there is no satisfactory algorithm or heuristic for a specific problem (Van Hentenryck
& Michel, 2005). Local search is an example of a meta-heuristic. They move
through the solution space from solution to solution until either a solution deemed
optimal is found, or a time bound elapses. Choosing the next possible solution to
move to, is based solely on information about the solutions in the neighbourhood of
the current solution. In optimisation problems, the measure of the quality of a
solution is an expression of the objective of the problem that differentiates between
solutions with the same objective value (Van Hentenryck & Michel, 2005).
Neighbourhood search is a local search algorithm that starts with some initial
solution and moves from one neighbour solution to another while improving the
objective function. This technique underpins many local search algorithms
(Blazewicz et al., 1996). Methods of moving to new solutions depend on
information about the solutions in the neighbourhood of the current solution. Hill
Climbing, for example, moves to the first closest solution that improves on the
current one. Steepest ascent hill climbing, on the other hand, compares all possible
successors, choosing the closest one to the current solution. Other methods
randomly select a neighbour solution and decide whether to move to that neighbour
or choose another (Van Hentenryck & Michel, 2005).
For the robust assignment models, innovative constructive heuristics and a problem
specific neighbourhood search are proposed. These methods will exploit the nature
of the problem at hand and the performance of the proposed constructive heuristics
will be compared with traditional constructive heuristics.
There are two types of reactive models to solve, both of which are NP hard in the
ordinary sense. The first is an assignment model that will be solved with an
enumerative method. The second group of reactive scheduling models build on the
first by sequencing the patients. The scheduling models treat the problem as a single
35
machine scheduling problem, with a common due date and weighted jobs, and are
analogous to a binary knapsack problem.
The knapsack problem has been widely studied in the literature and an in-depth
discussion of the problem may be found in (Martello & Toth, 1990). Knapsack
problems are decision problems in which the number of items that can be fit into a
knapsack of given capacity must be decided, based on the weight consumed and the
benefit obtained by including the object. The most basic form of the problem is the
0-1 knapsack, in which an item is either packed or it is not. This problem may be
mathematically formulated as:
Maximise ∑=
n
iii xb
1
Subject to:
cxwn
iii ≤∑
=1
=otherwise 0
included is i item if 1ix
The binary variables ix determine whether or not an item is included in the knapsack
and each item has an associated benefit of being packed, given by ib , and weight that
it consumes, iw . The total capacity of the knapsack is given by c. Solution
approaches for such problems include dynamic programming, branch and bound
algorithms, enumerative algorithms and various approximation algorithms (Martello
& Toth, 1990). The reactive models will be solved using enumerative algorithms
and branch and bound algorithms.
Enumerative algorithms, as the name suggests, systematically enumerate all possible
candidate solutions to various optimisation problems. One such popular method is
the branch and bound algorithm. The branch and bound method uses two
fundamental procedures; branching and bounding. Branching is the process of
dividing a large problem into two or more sub-problems. These sub-problems in turn
36
continue to be partitioned into smaller problems. Large subsets of solutions may
then be discarded by the use of upper and lower solution bounds; a process referred
to as bounding (Blazewicz et al., 1996).
1.5 Contributions of the thesis
Simulation is used in this thesis to model the highly complex system that is the OT
department of the PAH, using the simulation software package EXTEND.
Simulation has been chosen because of its ability to immediately observe the effects
that changes to parameters and inputs have on a system and also its use as a visual
tool for explaining model outputs to decision makers. An important contribution of
the simulation model is its potential implementation as decision support for surgical
planners, by predicting the effects changes in the model’s parameters may have on a
system.
In particular, the simulation model contributes to the literature by exploring the
effects that increasing patient arrivals and alternative elective patient admission
disciplines will have on the performance measures. Specifically, waiting times of
patients, elective cancellations and theatre utilisation rates will be observed.
While simulation provides a way to examine scenarios without actually impacting
the real life system, it is also important to develop mathematical models, which
provide methods for optimising the system. For this reason, theoretical models based
on operation research techniques are used for elective scheduling and to develop a
new tool for the dynamic online scheduling problem that incorporates emergency
patients.
A robust scheduling approach will be used for elective surgery scheduling. Buffers
are used to absorb variations in treatment times, where the amount of slack planned
for each block, is based on the variations in expected surgical durations of the
patients scheduled in the block. In particular, the robust assignment model
developed in this thesis is based on the assumption that surgical durations are
modelled with the lognormal distribution (for justification of this choice, see Section
37
4.1), whose sum is not modelled by a normal distribution. This is a point of
innovation for robust patient assignment in the operating theatre.
Further innovation is achieved by addressing the issue of flexible patient assignment.
In the real life, surgical consultants are generally responsible for selecting and
sequencing their own patients. Introduced is the idea of adapting the robust patient
assignment model to allow patients to be selected directly from a waiting list to
optimise planning of the available capacity. When patient assignment is more
flexible, the benefits of such a schedule are expected to be greater and the results can
be compared with current practices and any differences presented to hospital staff.
An alternative performance measure to tardiness, namely deviation, is also
considered. The deviation of a surgery block is defined as the difference between
used and available surgical block capacity. Costs are incurred from both over and
under use of the available theatre capacity. For this reason, deviation is introduced
because it considers both earliness and tardiness.
Innovative constructive heuristics based on surgical duration variance and meta-
heuristics are proposed for solving the model and then compared with traditional
approaches. Performance measures for making comparisons between the heuristic
methods include deviation of the schedule, the average number of surgeries assigned
to a surgery time block, and the number of surgery blocks required to generate the
schedules.
An important aspect of the robust models is that they are applicable irrespective of
whether patient assignment is surgeon specific or not. This means that the method
can be applied when theatre capacity is assigned to specific surgical consultants or
surgical teams, or in an open scheduling system where capacity is not assigned in this
manner. As a result, a generalised model may be easily adapted to similar hospital
systems and can easily incorporate hospital specific requirements.
Reactive models are developed to deal with disruptions that occur in the online
environment. These models can be used for the real life daily disruption
management problem, and have not been addressed in the literature before. The
38
reactive scheduling models are capable of handling both theatre and patient
disruptions. Theatre disruptions occur when a theatre becomes unavailable for some
period of time. Patient disruptions on the other hand occur when treatment times are
less than, or greater than, the assigned surgery time.
Two types of models are developed, that use the results of the offline robust surgery
assignment models as baseline schedules. The first is a reactive assignment model
that determines the number of patients that can be assigned to the available theatre
capacity. This model is solved with an exact solution method and implemented
using Visual Basic.
The second reactive approach improves and expands on the first by addressing
patient sequencing. Two approaches to estimating surgical durations are used. The
first assumes surgical durations are based on the expected duration alone. The
second uses the robust theory approach and incorporates a portion of slack in the
surgical duration calculations. Both models are developed using single machine
scheduling techniques. Two criteria are proposed for the models; the first is to
minimise the weighted number of tardy jobs and the secondary constraint is the
minimisation of the tardiness. A branch and bound approach is proposed to solve
both models.
39
Chapter 2. Literature review
In order to understand any system under study, it is important to use a holistic
approach that encompasses as many aspects of the problem as possible. This means
that not only must theoretical approaches be investigated, but also administrative
issues should be considered. The following review covers general OT studies,
multiple objective programming, simulation applied to healthcare, scheduling
techniques, alternative scheduling techniques and robust, reactive and single machine
scheduling. Cardoen, Demeulemeester and Belien (2010) recently reviewed
operational research methodologies applied to operating room planning and
scheduling.
2.1 General operating theatre studies – Administrative issues
There is a plethora of literature discussing OT administrative issues including
elective surgery waiting lists, admission and discharge decisions and costs of the OT.
Hospital waiting lists provide a method for rationing scarce resources and are almost
exclusively used for non-emergency patients (Cromwell, 2004). Mullen (2003)
describes many benefits of waiting lists including allowance for recovery without
surgical intervention, balancing case loads, improving resource usage efficiency and
providing appropriate case mix for teaching purposes. Dew et al. (2005) evaluated
the use of clinical priority assessment criteria (CPAC) that was introduced to make
rationing of elective surgery more explicit. Explicit rationing systems aim to make
scheduling fairer but may be susceptible to political manipulation and lack of
flexibility. CPAC was found to receive limited acceptance by surgeons due to a
perceived lack of flexibility.
The existence or sizes of waiting lists, are largely considered a measurement of
resource inadequacy or resource mismanagement (Ghotb, 1993). Ghotb (1993)
argues that this assumption is not justified due to inaccuracies and the inexistence of
standards for waiting times. Inaccuracies are a result of many causes, including
patients remaining on waiting lists when they have already received treatment and
40
doctors using waiting lists to manage patients whose conditions will improve with
time.
Numerous studies investigate issues dealing with waiting lists. Mullen (2003)
examines the design of priority scoring systems for waiting list selection, concluding
that they are not purely technical and require clarity about political and clinical
objectives that are often conflicting and poorly articulated.
Long waiting times for hospital admission have generally become unacceptable to
patients and the need for finding ways of reducing waiting times has increased. As a
result, many studies aim at decreasing waiting times for patients (Cardoen et al.,
2010). Hilkhuysen, Oudhoff, Rietberg, Van der Wal and Timmermans (2005)
assessed the physical, psychological and social consequences of waiting for surgery.
Responses differ from patient to patient, depending on type of illness and personal
characteristics and these may be used as an aide for caregivers and waiting time
decisions.
The governments of some countries have online information services that allow
patients requesting elective surgery to compare waiting times for surgical units.
Cromwell (2004) investigated the accuracy of waiting time estimates for patients
about to join a waiting list compared with using clearance time functions.
Vissers, Adan and Dellaert (2007) examined extreme admission service concepts
compared with the current admission concept, based on maximising resource use,
with the aid of simulation to address long wait times for admission. Two alternative
concepts were considered based on the ‘zero wait time’ principle and the ‘booked
admissions’ principle. The study looked at the effects of admissions principles on
occupancy levels, waiting times and cancellations. Different admission policies can
be used to meet alternative performance measures. Kusters and Groot (1996)
developed a decision support tool for admission planners for predicting the effects of
decisions on resources. The models led to an improvement in operating room
utilisation without detrimentally impacting bed occupancy.
41
Adan and Vissers (2002) developed a linear integer programming (IP) model for
admission planning. Admission planning not only considers patient numbers but
also patient mix. Patient mix is important because different categories of patients
indicate different resource requirements, including beds, OT capacity, nursing
capacity and intensive care unit (ICU) beds. The model satisfied a given target
patient throughput and utilisation whilst observing resource constraints. Demeester,
Souffriau, De Causmaecker and Vanden Berghe (2010) developed an admission
scheduling algorithm that supports operation decisions within a hospital. Patient
assignment to the appropriate department is considered whilst also maintaining a
balance in the load across the departments. A computerised information system for
characterisation and analysis of hospital admission flow was developed by de Mello,
Almeida and Pereira (2001).
In addition to admission planning, the discharge process has also been studied.
Chang, Cheng and Su (2004) used case-based reasoning and analytical hierarchy
process to establish a continuing care information system for discharge planning.
Huber and McClelland (2003) investigated the importance of patient and family
participation for discharge planning. Inadequate discharge planning has been
associated with hospital readmission, lack of adherence to treatment and psychologic
stress.
Another important issue for hospital administrators is the cost of running a hospital.
The operating room is a major cost centre and revenue generator of a hospital
(Cardoen et al., 2010, Cardoen, Demeulemeester & Belien, 2009b, Denton, Viapiano
& Vogl, 2007, Pham & Klinkert, 2008) and the salaries of the operating room staff
account for most of these costs (Dexter et al., 1999). In order to minimise costs,
labour productivity must be maximised. This means using the fewest number of staff
possible to care for the patients. Since staffing numbers do not change on a day-to-
day basis with variations in patient numbers, the best way to maximise labour
productivity is to achieve maximum use of the available resources (Dexter et al.,
1999). Staffing costs were shown by Dexter, Macario and O’Neill (2000) to increase
if the operating room time goes unused or if overtime must be used. The optimal
allocation of theatre time therefore minimises unused time and overtime and hence
staffing costs.
42
Since staffing costs are affected by utilisation of theatre capacity, another avenue for
minimising costs is efficient scheduling methods (Breslawski & Hamilton, 1991).
Manual scheduling systems include first come first served (FCFS), block scheduling,
dynamic block scheduling, longest time first (LTF) and shortest time first (STF). For
a more detailed review of these systems see Section 2.4 on scheduling and
sequencing.
In order to achieve efficient use of theatre time, resource allocation must be co-
ordinated with patient scheduling. The inefficient allocation of resources may lead to
unused resource capacity for several reasons including unbalanced demand and
supply of resources, inefficient resource allocation timing leading to peaks and
troughs in workload and imbalances in the coordination of different resources that
are required simultaneously (Vissers, 1998); This issue was addressed by developing
an approach to resource allocation according to demand, whilst also balancing
resource utilisation.
In addition to addressing efficiency of resource planning and scheduling approaches,
there are many human factors affecting the efficiency of the operating theatre
department. Applegeet (1995) investigated several such key issues for OR
scheduling. Some specific problems identified included non-emergency surgical
procedures being scheduled as emergencies and issues relating to late surgeons.
2.2 Multi-objective programming
Improving the performance of any hospital department is complicated by its political
nature. Admission decisions are made by surgeons and administrators who often
have conflicting performance objectives (Gladish, Parra, Terol & Uria, 2005,
Hamilton & Breslawski, 1994, Kim et al., 2000, Sier, Tobin & McGurk, 1997). In
addition, patient satisfaction is an important consideration, which again may differ
from the perspective of the surgeon and administrator.
The goals of OT scheduling as identified by Breslawski and Hamilton (1991) are
- effective use of OT suite;
- satisfy surgeons;
43
- satisfy patients;
- satisfy OT staff;
- simplicity in generating schedule;
- effective use of post anaesthesia care unit (PACU); and
- low incidence of cancellations.
Positive relationships exist between some of these criteria, such as a low incidence of
cancellations and patient satisfaction. However, others may be conflicting and
counter-intuitive. For example, hospital administrators focus on achieving high
utilisation of resources such as bed utilisation, which has been shown to lead to
longer patient waiting times (Sier, 2004), while patients desire prompt and effective
service and to experience little waiting time. In support of this, Vissers et al. (2007)
demonstrated that high occupancy levels produce longer wait times, higher
cancellation percentages and frequent excess of target capacity levels. Balancing
conflicting criteria between decision makers was the focus of several studies
(Gladish et al., 2005, Kim et al., 2000, Sier et al., 1997). Sier et al. (1997) treated
surgical scheduling as a non-linear mixed-integer programming problem with
weighted constraints. Heuristic techniques were used to generate solutions that
balanced conflicting criteria; however a feasible solution could not always be
generated. Gladish et al. (2005) applied a possibilistic linear multi-objective
programming technique to annual surgical planning. The effect that different
performance measures would have on surgical waiting lists and the interactions of
conflicting criteria were demonstrated. Cardoen et al. (2009a) proposed a ‘room for
improvement’ (RFI) calculation for handling multiple criteria objective functions.
Finding a trade-off between objectives with different units, or even for objectives in
the same unit, is subjective and leaves the result open to argument. RFI is a unit-less
calculation based on the values of the best and worst schedules. Relevance weights
assigned by the planner may also be incorporated into this calculation.
2.3 Simulation
Simulation is defined as the act of imitation (Imagine That, 2002) and is a practical
tool used for finding practical solutions to complicated problems (Brailsford, 1995).
Mathematical models are built to act like a system of interest to mimic certain
44
important aspects (Dexter et al., 1999). By changing variables, the effects may be
observed and predictions can be made about the behaviour of the system without
having to implement such changes in the practical setting (Kim et al., 2000, Kozan &
Gillingham, 1997, McHardy et al., 2004). This is important for healthcare systems,
where patient’s lives may be at stake and therefore testing new techniques without
prior predictions on performance outcomes could be devastating (Kim et al., 2000).
Before modelling any system, it is fundamental that the modeller understands the
system including constraints, causes of variability, accuracy of data and the
objectives to be met (Brailsford, 1995). The other crucial aspect is the relationship
between the modeller and the decision makers. If this relationship is poor, then the
results of the simulation model, regardless of the modeller’s expertise is likely to be
unusable (Brailsford, 1995).
Simulation has been used for many applications in healthcare including the ICU, OT,
maternity suite, ED and admissions planning. For the ICU and OT of a major public
hospital, McHardy et al. (2004) used simulation to investigate the effect of changes
in parameters on efficiency measures. The model was used as a decision support
tool. Further simulation studies on the ICU include the evaluation of bed reservation
schemes and their associated effects of performance objectives (Kim et al., 2000) and
analysis of surgical ICU bed requirements (Troy & Rosenberg, 2009). Simulation
has been used to address many aspects of the OT including scheduling policies
(Dexter et al., 2000, Ferrin, Miller, Wininger & Neuendorf, 2004) operating room
allocation (Wullink et al., 2007), capacity of the surgical suite (Ballard & Kuhl,
2006) and resource availability (VanBerkel & Blake, 2007).
For the emergency room, Badri and Hollingsworth (1993) evaluated changes such as
scheduling practices, resource numbers and patient demand patterns. Kozan and
Gillingham (1997) tested the performance of a maternity system and found the
number of beds and patient arrival rates affect patient wait. Sier (2004)
demonstrated the use of simulation for calculating performance measures of a
hospital unit or department. Vissers et al. (2007) investigated alternative admission
policy choices for admission planners when choosing a policy to optimise specific
performance measures. Very high occupancy levels produced longer waiting times,
45
higher cancellation percentages and higher incidences of excess capacity and
reserving capacity for emergency cases reduced the incidence of cancellations.
In the past, simulation has faced much scrutiny in the academic field. One of the
issues behind this opposition is the concern that commercial simulation softwares
may not be flexible enough to handle non-standard situations when compared with
simulations written from scratch (Brailsford, 1995). Since the report by Brailsford
(1995) was written however, simulation software has advanced. For example, the
simulation software used for this thesis, EXTEND, addresses this issue by providing
the modeller the opportunity to use both standard simulation ‘blocks’ and ones that
can be built from scratch. In this way the model can be built to better fit the system
being studied. Recent approaches in simulation have also addressed the issue of
acceptance by the academic field, by moving toward simulation based optimisation
(Cardoen et al., 2010).
2.4 Scheduling and sequencing
Scheduling in healthcare is applied to many areas including resource planning (both
material and human) and also patient scheduling within hospital departments such as
the OT, ICU, ED and other wards. For example, Vermeulen et al. (2009) developed
a dynamic resource allocation model for computer tomography scans (CT-scans) at a
radiology department. Resources are typically assigned to several patient groups and
the allocation process must be flexible due to fluctuations in demand.
Chern, Chien and Chen (2008) propose a heuristic for solving the binary integer
programming model for health examination assignment. The model assigns health
procedures to doctors to minimise both waiting time of patients and doctors. In this
paper, both sequence of examination procedures and the availability of resources are
taken into consideration. Belien and Demeulemeester (2006) developed an exact
branch and price algorithm to solve the trainee scheduling problem. Carter and
Lapierre (2001) used integer programming to generate emergency room physician
schedules that incorporate scheduling rules and individual preferences.
46
Elective surgical planning has been described in the literature as a two (Guinet &
Chaabane, 2003, Jebali, Hadj-Alouane & Ladet, 2006, Jebali et al., 2003), three
(Belien & Demeulemeester, 2007b, Cardoen et al., 2009a, Santibanez, Begen &
Atkins, 2007), or more recently four-stage process (Cardoen et al., 2009b). The four-
stage process is defined as;
1. Strategic level case mix planning. The process of defining surgical blocks and
allocation of time to surgical specialties.
2. Development of a master surgery schedule. This involves assigning the surgical
teams and/or specialties to the surgical blocks defined in the first step.
3. Scheduling and sequencing of individual cases.
4. Monitoring of schedule in online environment.
Stage one is generally a management decision involving budget allocation. Dexter et
al. (1999) used simulation to investigate the allocation of surgical block time to
surgeons that maximised operating room use. They showed block time allocation
could be improved by moving control of the surgical date decision to the operating
room suite rather than leaving it to the surgeon and patient. Matching up operating
room caseloads with the days on which full-time operating room personnel are
scheduled to work and assigning caseloads based on operating room capacity were
the key elements for effective allocation of surgical block time.
Santibanez et al. (2007) addresses the second stage of surgical planning by proposing
a mixed IP model for assigning surgical specialties to operating room time whilst
considering operating room availability and post surgical resource constraints across
a network of hospitals. The 12 hospitals were considered as components of a single
system. Belien and Demeulemeester (2007b) propose and evaluate models for the
construction of the master surgery schedule with levelled resulting bed occupancy.
The problem is constrained by the number of blocks required by surgeons (or
surgical teams) and the total available blocks. Surgical block requirements depend
on the type of surgery, which in turn determines the length of stay of each operated
patient and the number of patients that may be treated per block. Mixed IP based
heuristics and a meta-heuristic were developed to minimise the expected number of
bed shortages.
47
Dexter and Traub (2000) investigated stage three of the surgical planning process,
which involves sequencing of surgical cases where limited equipment in different
operating rooms are required on the same day. Decision theory is applied to estimate
the probability that one case will have a longer duration than another when
sequencing two cases. The desired outcome was to decrease the impact of
equipment and personnel constraints on operating room scheduling. The derived
methods are useful for decision makers wishing to set a ‘threshold’ on the risk of an
overlap between surgical cases. Pham and Klinkert (2008) treat surgical case
scheduling as a generalised job shop scheduling problem. The multi-model blocking
job-shop is formulated as a mixed integer linear programming problem. They argue
a holistic approach should be applied to surgical case scheduling connecting surgical
stages and coordinating multiple resources during any surgical step. Galvin (1997)
treated the surgical scheduling problem as a cutting stock problem. Resource
utilisation is improved by reducing the expected slack time in theatres. Persson and
Persson (2005) use optimisation modelling to synchronise allocation of different
resources for operating room planning. Sier et al. (1997) developed a tool for
scheduling operations that considered bed availability, efficient theatre utilisation,
minimising schedule deviations and emergency arrivals. Cardoen et al. (2009b)
propose an exact branch and price approach for sequencing surgical cases in a day-
care environment. The peak use of recovery beds, the occurrence of recovery
overtime and the violation of various patient and surgeon preferences are minimized.
Guinet and Chaabane (2003) consider stages two and three by assigning patients to
theatres over a medium term and addressing the daily rescheduling problem to
coordinate human and material resources. This decision tool optimised OT overload
and patient waiting time. Jebali et al. (2006) describes an assignment model that
optimises room usage and minimises patient wait. Two strategies are used for
patient sequencing, one that re-considers patient assignment and one that does not.
Incorporating time spent in the recovery room is an innovative step of this paper that
adapts a two-stage hybrid flow shop to the problem where the first stage represents
the operating room and the second is the recovery room. Roland, Di Martinelly,
Riane & Pochet (2009) solve the surgical scheduling problem as a single model
rather than using a two-stage approach. Surgeries are assigned to both human and
material resources to minimise the number of operating rooms used and their
48
associated overtime. The two types of human constraints considered are renewable,
such as nurses and specific, i.e. surgeons. A genetic algorithm is used to solve the
computationally complex problem.
Constructive heuristics usually applied to machine scheduling are also commonly
applied to patient sequencing. Breslawski and Hamilton (1991) give a
comprehensive examination of such techniques in the OT setting such as longest
processing time first (LPT) and shortest processing time first (SPT). LPT is
commonly used to balance the load on the theatres, minimise overtime and ensure
the entire workload is completed (Breslawski & Hamilton, 1991). Harper (2002)
showed that LPT increased the throughput of patients without the need for extra
resources and reduced the chance of closing theatres early. LPT however results in
unreliable start time estimates for the later procedures and may result in surgeon
dissatisfaction as certain surgeries consistently receive the ‘prime’ early morning
spots (Breslawski & Hamilton, 1991). SPT is used in practice to maintain the load
on the PACU (Hamilton & Breslawski, 1994). This technique, however, often
results in an increased incidence of overtime as the longer and more variable
surgeries are performed last (Breslawski & Hamilton, 1991).
Other common scheduling systems for the OT include FCFS, block scheduling and
dynamic block scheduling. FCFS is the simplest form of sequencing, however it
commonly results in a high cancellation rate due to overbooking. Block scheduling
allocates surgeons to specific surgical blocks. Benefits of this system include
reduced surgeon competition, reduced administrative work and foreknowledge of
surgical start times. One problem that may occur is surgeons keeping their block
even when they have no cases to schedule. This problem is reduced by dynamic
block scheduling in which an individual surgeon’s use of his/her block is regularly
reviewed (Breslawski & Hamilton, 1991).
Variations of the traditional two or three stage OT planning also exist. Belien and
Demeulemeester (2007a) use a novel branch and price approach for integrating nurse
and surgery scheduling. Dexter et al. (2000) used simulation to explore ways of
assigning patients that cannot be completed during regular surgical block times to
‘overflow block time’ whilst balancing staffing costs and flexibility in choosing
49
surgical dates and times. They showed that staffing costs are minimised when
surgical date and time preferences are not considered however demonstrated a
strategy that allows for some flexibility whilst only slightly raising the costs above
the minimum possible.
Various studies in the literature consider resource availability in the scheduling
phase. Roland et al. (2009) schedule the operating theatre under human resource
constraints. The problem is formulated as a mixed integer program and solved with a
proposed genetic algorithm. Augusto, Xie and Perdomo (2010) investigate
scheduling of the operating room with patient recovery in both operating rooms and
recovery beds. The problem is modelled as a 4-stage hybrid flowshop that takes into
account the availability of operating rooms, porters and recovery beds. The problem
is investigated for an open scheduling policy rather than a block scheduling policy.
Fei, Meskens and Chu (2010) solve the operating theatre planning and scheduling
problem in two phases. The first stage solves the planning problem of assigning
surgeries to operating rooms using a set-partitioning integer-programming model.
The second stage determines the sequence of operations taking into account the
availability of recovery beds using a two-stage hybrid flow shop approach.
A recent study has recently investigated the problem of elective surgery scheduling
from a waiting list (Min & Yih, 2010). The work extends on that by Gerchak, Gupta
and Henig (1996) by including patient priority. Lamiri, Grimaud and Xie (2009)
present a stochastic integer programming model for surgery planning when OR
capacity is shared among elective and emergency surgery.
One of the benefits of any systematic approach to surgery scheduling is a potential
increase in transparency and fairness in allocating time to surgeons (Santibanez et al.,
2007). Studies have also shown that poor scheduling of elective patients reduces
access to care and impairs the overall responsiveness to emergency patients
(McManus et al., 2003). This type of variability linked with operation scheduling
due to poor scheduling policies is referred to in the literature as ‘artificial variability’
(Belien & Demeulemeester, 2007a, McManus et al., 2003).
50
2.5 Alternative approaches
Distributed multi-agent systems provide an alternative technique to OR, for
scheduling processes in the ED, or other multiple treatment pathways. Contrary to
OR techniques, multi-agent systems view a hospital as a decentralised system, where
each department essentially has authority over its own schedule, as is the case in a
hospital setting. Agents act on behalf of resources or patients to derive effective
schedules by exchanging schedule positions based on interaction rules (Paulussen,
Jennings, Decker & Heinzl, 2003, Paulussen et al., 2004, Vermeulen et al., 2006).
Paulussen et al. (2003) and Paulussen et al. (2004) used a market mechanism to
allocate patients to the resources. A market mechanism aims to efficiently distribute
the scarce resources, based on what the patient agents are willing to ‘pay’ for the
resources. The decision for distributing the scarce resources was driven by cost
functions based on health state. Vermeulen et al. (2006) argued against the use of
market mechanisms for agent negotiations stating the difficulty in generating a
general solution, questionability of the scalability of the system and controversy
between doctors and patients when quantifying the relative patient well-being. A
Pareto appointment exchanging technique was used in which exchanges between
agents only occurs if no patient is worse off than before. The approach by
Vermeulen et al. (2006) performed ‘nearly as well’ when tested against centralised
heuristics (an OR technique).
2.6 Robust scheduling
Surgical durations are variable and depend on the type and severity of a patient’s
illness and the performing surgeon (Guinet & Chaabane, 2003). Oversimplification
of service distribution estimates, such as average occupancy, do not capture the
variability in patient arrivals, which may lead to an underestimation of resource
requirements and overestimation of resource availability (McManus, Long, Cooper
& Litvak, 2004, Sier, 2004).
Various approaches to estimating service distributions have been used. Guinet and
Chaabane (2003) considered surgical duration estimates in one-hour blocks. Jebali et
51
al. (2006) used a log-normal distribution to generate random surgical durations. Sier
(2004) used stochastic modelling to capture the variability of patient arrivals and
length of stays. Harper (2002) discusses the problem of segregating patients into
statistically and clinically meaningful groups using classification and regression tree
(CART) analysis. Although many different techniques have been applied to service
distribution estimates, Kim et al. (2000) argued that even if arrival distribution
assumptions are very different, the same fundamental conclusions and policies are
unchanged despite these differences.
Denton et al. (2007) developed a stochastic optimisation model for generating
operating room schedules that hedge against surgical duration uncertainty. It was
suggested that scheduling longer and more complex cases before shorter surgeries
may have a significant negative impact on operating room performance measures.
Daniels and Kouvelis (1995) explains some of the reasons why experienced
schedulers are moving away from deterministic and stochastic optimisation
scheduling models towards robust scheduling models. Deterministic and stochastic
optimisation scheduling models can easily produce poor actual performance results
due to the inability to predict processing times for jobs, which are highly uncertain.
It is impossible to accurately predict these times even with the use of stochastic
modelling. Robust scheduling addresses this issue by the inclusion of ‘buffers’ that
absorb the variations in treatment times that occur during project execution.
Schedule robustness is defined by Daniels and Kouvelis (1995) as the determination
of a schedule whose performance is relatively insensitive to the potential realisations
of the task parameters. Essentially, robust schedules are makespan (due date)
protective or quality robust (Van de Vonder, Demeulemeester, Herroelen & Leus,
2005).
Kuroda, Shin and Zinnohara (2002) applied robust scheduling techniques to an
advanced planning and scheduling environment. To minimise the need to fix
ongoing schedules, due date buffers were applied to the customer order problem.
The size of the due date buffers was determined by a monotone decreasing time
function. A simulation based scheduling algorithm was developed and examined.
52
The model assumes that orders are flexible and become fixed as processing
progresses.
Hans, Wullink, Van Houdenhoven and Kazemier (2008) introduce assigning
surgeries and planned slack time to the operating room days to prevent overtime.
Surgical duration is based on historical data from an academic hospital in the
Netherlands. The planned slack time on each operating day is based on the expected
variance of the surgical durations planned for that day. The problem is formulated to
minimise expected overtime and planned slack time, thereby theoretically freeing up
operating room capacity. Planned slack time is minimised by exploiting the portfolio
effect of portfolio theory, which clusters surgeries with similar variability on the
same operating room day. This typically resulted in patients receiving the same type
of treatment being scheduled on the same day, which may have an additional benefit
of reducing surgeon operating time due to the repetitive nature of the operations.
Robust scheduling is an example of a preventive scheduling approach that serves as a
baseline schedule for online production scheduling. Effective preventive schedules
are important since they form the basis for resource commitment decisions. When
used in conjunction with reactive scheduling models, they improve the performance
of online scheduling. Other preventive scheduling approaches include stochastic
based approaches, fuzzy programming, sensitivity analysis and parametric
programming (Li & Ierapetritou, 2008).
2.7 Reactive scheduling
Proactive schedules are constructed through anticipating disruptions that occur in the
online scheduling environment. However, the actual duration of an activity cannot
be known for certain until its completion. As new information becomes available,
disruptions may cause deviations from the predictive schedule and even make it
infeasible. Methods that address solution robustness are therefore required. Solution
robustness is addressed by reactive scheduling or disruption management, which is
used to repair the baseline schedule following activity disruptions, by including
changes whilst minimising disruptions from the original schedule (Van de Vonder et
al., 2005, Yu & Qi, 2004).
53
Various disruption management policies exist including post disruption management
and predictive disruption management. Post disruption management deals with the
unpredictable disruptions and therefore the schedule may only be updated after the
event. Only the remaining patients need be considered in this case. Predictive
management is used for disruptions that may be anticipated such as an emergency
arrival that requires treatment at some time in the future. At the time when the new
schedule starts, for either type of disruption management policy, time is re-set to zero
and the expected completion and start times of the remaining patients are updated.
The remaining n patients must also be re-indexed from 1 to n.
In addition to choosing a disruption management policy, the solution approach must
also be decided upon. The first approach minimises the deviation from the original
schedule. This technique finds a new feasible solution that is as close as possible to
the original schedule. The second approach does a full reschedule of the tasks,
subject to a new objective function that captures the disruption. This approach does
not consider the deviation from the old schedule (Li & Ierapetritou, 2008,
Sabuncuoglu & Bayiz, 2000). .
These two goals may be combined to find solutions that address both objectives.
One technique used for solving multi-objective reactive models is goal programming.
Goal programming handles multiple criteria decision problems by determining an
expected value for each criterion and minimising the gap between each criterion and
its expected value (Yu & Qi, 2004).
Li and Ierapetritou (2008) give a review of the main methodologies for handling
uncertainty in production scheduling and Sabuncuoglu and Bayiz (2000) studied
reactive scheduling problems in a stochastic manufacturing environment. Reactive
scheduling is described as a process to modify the created schedule during the
manufacturing process to adapt to changes in the production environment (Li &
Ierapetritou, 2008). Event based scheduling is described as rescheduling triggered by
an unexpected event (Sabuncuoglu & Bayiz, 2000). Disruptive events include rush
order arrivals (emergency patients), order cancellations (surgery cancellations) or
machine breakdowns (equipment failure or resource unavailability) (Li &
Ierapetritou, 2008).
54
A number of recent studies address online scheduling for the machine scheduling
environment. Tan and Yu (2008) and Hurink and Paulus (2008) studied online
scheduling problems for the two parallel machine environment. Competitive ratio
was used to measure the performance of the online algorithms that were used to
minimise the maximum machine makespan. Qi, Bard and Yu (2006) addressed
reactive scheduling in the machine environment following random or anticipated
disruptions. Both the original objective function and a measure of deviation from the
original schedule were considered.
Predictive-reactive scheduling is considered by Yang and Geunes (2008) for the firm
that must compete with other firms for future jobs. In this scenario the scheduler
must plan idle time in the predictive schedule for uncertain jobs and their position in
the schedule. When the planned idle time does not match up with the actual
requirements, disruptions occur. The costs of expected tardiness, schedule
disruptions and wasted idle time were minimised. Four approaches to handling
disruptions were identified; completely reactive approaches, predictive-reactive
scheduling, robust scheduling approaches and knowledge based scheduling.
There is very little literature for the reactive scheduling problem for the operating
theatre. Recently, Nouaouri, Nicolas & Jolly (2010) developed an approach for
inserting unexpected patients into the operating theatre schedule in the case of
disasters such as terrorist attacks. The problem was modelled as a three-stage integer
linear programming model. Bard and Purnomo (2005) present a new methodology
for reactively scheduling nurses considering shift-by-shift imbalances in their supply
and demand. The problem was formulated as an integer program (IP) and solved
within a rolling horizon. When commercial techniques such as CPLEX could not
solve the model, a branch and price algorithm was developed. Two heuristics were
developed, namely Tabu search and a set covering IP heuristic, which was the more
effective of the two. The problem analysed begins with a midterm schedule and
addresses the issue of daily adjustments.
55
2.8 Single machine scheduling
Single machine scheduling is the problem of assigning and sequencing a group of
jobs to a single machine so that one or multiple objectives may be optimised.
Various objectives may be used from due date related objectives to flowtime. The
problem may be constrained in many ways including (but not limited to) precedence
constraints imposed upon the job orders, ready times or release times of the jobs and
job due dates. Processing times of the jobs may also vary from unit processing times
to stochastic.
Vast literature exists for the study and classification of scheduling problems
(Blazewicz et al., 1996, Brucker, 2004, Pinedo, 1995). Three fields are used for the
notation; α | β | γ. The first field describes the machine environment. For the single
machine environment a “1” is used. The second field describes task and resource
characteristics. For example, pre-emption is indicated by pmtn but no pre-emption
may be indicated by either nopmtn or leaving the field empty. In this dissertation,
the latter is used. Other parameters for this field include resources, res, precedence
constraints, prec, and ready times r j. The third field indicates the objective function
(Blazewicz et al., 1996).
A multitude of literature exists on single and multi machine scheduling. Stankovic
Spuri, Di Natale & Buttazzo (1995) give a summary of classical scheduling results
for single and multiple machine scheduling with their applications and algorithms for
the ‘real world’. Static scheduling is described as the scheduling problem for which
complete knowledge on the task set and constraints is known. On the other hand, a
dynamic schedule changes over time and new arrivals may arrive in the future that
are not known at the time of scheduling.
Considerable literature exists on single machine scheduling with due dates and their
complexity. The problem for minimising the number of unweighted tardy jobs, is
solved in polynomial time using Hodgson’s algorithm (Blazewicz et al., 1996).
Extending this problem by weighting the jobs, is NP hard even with equal due dates
(Blazewicz et al., 1996, M'Hallah & Bulfin, 2007). Several authors demonstrated
that the problem with equal due dates is equivalent to a knapsack problem and may
56
be solved with the weighted shortest processing time (WSPT) rule (Blazewicz et al.,
1996, Pinedo, 1995). This rule sequences jobs in increasing order of ratio of
processing time to weight, however, in arbitrary cases it can produce poor results
(Pinedo, 1995).
Jang and Klein (2002) investigate single machine scheduling for minimising tardy
jobs and evaluate the effect of variance of processing times when they are drawn
from a normal distribution. A dynamic scheduling policy is developed for jobs with
a common due date. The heuristic is based on a myopically optimal solution (i.e. a
greedy algorithm). Seo, Klein and Jang (2005) consider the same problem but
transform the original stochastic problem into a deterministic non-linear integer
programming model with relaxation. Soroush (2007) studied the problem that
minimises the sum of weighted early and tardy jobs where jobs have random
processing times and due dates are known but not necessarily equal. The general
problem is NP hard and it is nearly impossible to generate an optimal sequence in
polynomial time (Seo et al., 2005). Under certain conditions however, as developed
in the paper by Soroush (2007) an exact solution is possible. In fact, Pinedo (1995)
showed the problem with random variables is tractable only with exponentially
distributed processing times.
The problem of position dependent processing times is also discussed in the
literature. Bachman and Janiak (2004) investigated the problems when job
processing time is characterised by an increasing, or decreasing, function dependent
on the position of the job in the sequence. The makespan minimisation problem was
shown to be strongly NP hard, assuming jobs are ready at their processing times.
Gordon and Strusevich (2009) also examined positional dependent processing times
for single machine scheduling with due dates. They developed polynomial time
dynamic programming algorithms for the problems.
There is also considerable literature for bi-criterion single machine scheduling and
there are generally three approaches to such problems (Huo, Leung & Zhao, 2007).
The first technique minimises a secondary criterion, subject to the constraint that the
primary criterion is minimised (Huo et al., 2007). Examples of this approach are
given in (Huo et al., 2007, Jolai et al., 2007, Wan & Yen, 2009) and will also be
57
adopted in this dissertation. Jolai et al. (2007) develop a genetic algorithm for the
single machine scheduling problem that minimises the maximum earliness and
number of tardy jobs. Wan and Yen (2009) minimise total weighted earliness
subject to the minimal number of tardy jobs. Solution approaches include a heuristic
and a branch and bound algorithm. Huo et al. (2007) minimise the number of tardy
jobs and maximum weighted tardiness. Chen and Sheen (2007) use the second
approach for bi-criterion models proposing a pareto-optimal solution algorithm with
the objective of minimising the sum of weighted earliness and tardiness and the
number of tardy jobs. The third approach is to use a linear combination of both
criteria in the cost function (Huo et al., 2007).
58
Chapter 3. Simulation model
An advanced model for the OT department of the PAH was developed using Extend
(Imagine That, 2002) simulation software. The model can be used as a decision
support tool for hospital planners. The development of the model is presented in
Section 3.1. This includes the model assumptions, a brief discussion of the
sensitivity analysis that will be performed on the system, the inputs for the
simulation model and the validation process. Section 3.2 details the results of the
simulation model including the effects of changing patient arrival rates and elective
scheduling disciplines on the system’s performance measures. The findings of the
simulation model and identified areas of future work are summarised in the
concluding section of this chapter.
3.1 The model
3.1.1 Developing the model
The simulation software called Extend was chosen for this project due to its technical
ability to represent highly complex systems and analyse model outputs and also as a
visual tool for explaining model outputs to decision makers. It has the capacity to
immediately observe the effects that changes to parameters and inputs have on the
system by the use of plotters and outputs. Model observations form decision support
by predicting the effects changes in the model’s parameters may have on a system.
A model in Extend is built using an array of blocks, some of which generate items
and others, which process these items. Text files may be used for importing and
exporting large amounts of data into and out of a model. Information regarding
treatment items is collected, analysed and reported at the end of each simulation run
(Imagine That, 2002).
Modelling of the OT department was achieved through the use of blocks. Each
theatre is represented as an activity block (server) in parallel capable of serving one
patient at a time. Each theatre has an individual list of patients, determined by the
59
type of surgery to be performed. For example, the cardiac theatres only receive
cardiac patients. Figure 3 is a screen print of the simulation model of a single
operating theatre but does not demonstrate the hidden detail within the simulation
model. The animated blocks are called ‘hierarchical’ blocks, which are used as
‘containers’ for holding other blocks. These are useful for complex models with
thousands of blocks for hiding the detail by grouping areas of the model, making the
model aesthetically easier to view.
Figure 3. Elective patient flow
Figure 3 shows a generalised overview of the logic of elective patient flow through
the model; the patient arrives and is joined by a surgical team, a decision is made as
to whether there is enough time to operate on the patient, if not the patient exits, if
there is, then the patient proceeds to theatre. Figure 4, similarly shows the general
pathway of emergency patients through the model. There are two emergency
theatres for general emergency patients and patients go to the first available. Cardiac
and ophthalmology patients however are re-routed to the appropriate theatres.
60
Figure 4. Emergency patient flow
Within the hierarchical block (the block containing other blocks) that shows patients
arriving, patients (items) are generated using a program block that specifies the time
of arrival and type of surgery to be performed by use of an identification number and
‘end of day’ time as illustrated in Figure 5. ‘End of day’ time was used for
cancellation decisions to prevent an elective patient from waiting in the system
longer than one day.
Upon arrival, patients are segregated by identification number and allocated a
random surgical duration. Following this, the patient must wait for a surgical team
consisting of 2 nurses and an anaesthetist. Assignment of the resources is on a FCFS
basis with priority, where emergency patients have priority over elective patients.
Figure 6 illustrates the arrival of an elective patient and its path as it queues for a
surgical team.
61
Figure 5. Program block
Figure 6. Elective patient arrival
Following selection of a surgical team, the patient waits in queue for a consultant
(surgeon). Only one consultant is available in an elective theatre at any one time.
Once the consultant finishes treating a patient, either they continue their shift and
begins treating the next patient, or they complete their shift and the next consultant
takes over. In some cases, when there are no available emergency consultants,
elective consultants are required to treat emergency patients. In the model, it is
assumed that an emergency patient will have precedence over an elective case and
that emergency consultants are not able to treat elective patients. Figure 7 illustrates
the re-direction of an elective consultant to the emergency theatres.
62
Figure 7. Re-direction of elective consultant to emergency patient
If the queue for a consultant results in the patient waiting in the operating theatre
suite after the operational hours, then the patient is cancelled, which is illustrated in
Figure 8. This was especially important for sensitivity analysis, for demonstrating
whether alternate sequencing disciplines or to what degree of increasing arrivals
would result in increased cancellations. Once a surgery has begun, however, it could
not be pre-empted by the arrival of a more urgent patient or cancelled due to the
theatre running into overtime. Emergency cases are not cancelled under any
circumstance and theoretically will wait indefinitely for treatment.
Figure 8. Elective patient cancellation decision
Following completion of surgery, the surgical team is released. The patient then
exits the system and a decision is made as to whether the surgeon has completed their
shift. If not, they are sent back to their rostered theatre. If the shift has finished, the
surgeon exits the system. Nurses and anaesthetists are treated as recyclable
resources.
63
3.1.2 Model assumptions
A number of assumptions were made for the model.
1. Historical data collected and analysed was representative of a typical period.
2. The number of staff comprising a surgical team remained unchanged throughout
the simulation.
3. Theatre operating hours were fixed at 0800 hours to 1200 hours and 1300 hours
to 1700 hours for all elective theatres with the exception of ophthalmology
theatres A2 and cardiac theatre E2. Theatres A2 and E2 remained open
throughout the simulation as these were required by emergency patients after
hours.
4. Length of simulation was sufficient to dilute the effects of the warm up period.
5. Emergency operations are restricted to the emergency theatres with the exception
of ophthalmology and cardiac patients
6. Elective patient waiting time is limited by an upper bound.
7. Emergency patient wait time is unlimited.
3.1.3 Changing patient arrivals
Performance comparisons were made when the number of patients arriving to the
system was (i) decreased 10%; (ii) increased 10%; (iii) increased 20%; and (iv)
increased 30%.
3.1.4 Scheduling disciplines
Theoretically, different scheduling disciplines may be employed to optimise OT
objectives. Three alternative scheduling disciplines are implemented and compared,
namely longest processing time (LPT) first, shortest processing time (SPT) first and
least flexible job (LFJ) first. LPT and SPT are common scheduling disciplines used
in the OT environment. For a discussion on these, and how they have been
previously tested in the literature, refer to Section 2.4 on scheduling and sequencing.
The LFJ rule is optimal for minimising the maximum completion time in the parallel
machine environment without pre-emption (Pinedo, 1995) and has not yet, to the
64
author’s knowledge, been applied to the OT environment. The patient with the
smallest set of possible theatres to choose from is selected when a machine becomes
available, i.e. the least flexible job. The concept behind this technique is scheduling
the more flexible patients last to provide greater flexibility toward the end of the
schedule for evening out the load over the theatres. For the application of this
heuristic, theatre blocks are assumed to be assigned to the surgical specialties, not
specific consultants. The list of specialties that may be performed in each theatre is
identified and used for the schedule derivation.
3.1.5 Data input
Based on historical data taken at the PAH during 2005, an emergency patient arrival
distribution and lengths of surgery distributions for all surgical categories were
determined with the statistical distribution fitting software Stat::Fit. Table 1 is a list
of surgical categories used to calculate surgical duration distributions. The results of
the distribution fitting for surgical duration are presented in Table 2. Appendix B
shows graphs of the selected distributions against the actual data.
Actual elective schedules used during a two month period during 2005 were used as
a basis input for comparisons with the sensitivity tests. This same list of patients was
also used to generate schedules based on the LPT, SPT and LFJ scheduling
disciplines. For the LPT and SPT tests, the list of patients treated in each of the
theatres were ordered according to longest and shortest processing time respectively.
Determination of LFJ schedules was more involved as this allowed patients to be re-
assigned to another theatre. Possible theatre sets were identified for surgical
specialties and those with the smallest set were assigned first. Assignment aimed to
even out the load over the elective theatres. For the change in patient arrival
sensitivity tests, the number of elective arrivals was altered according to the test
parameter based on the original schedule. The proportion of patients from each
specialty was maintained regardless of the number of arrivals. Creating the elective
schedules was a particularly time consuming stage, as these patient lists were
manually generated and then input from excel spreadsheets.
65
Table 1. List of surgical categories
Surgical Specialty Abbreviation
Breast, endocrine & thoracic
Cardiac Surgical Unit
Colorectal
Ear, nose & throat
Facial/Maxillary
Hepatobiliary
Neurosurgery
Ophthalmology
Orthopaedics
Plastics
Renal Transplant
Upper gastro-intestinal
Urology
Vascular
BE&T
CARD
COLO
ENT
FMAX
HPB
NEURO
OPHT
ORTHO
PLAS
RTPT
UGI
UROL
VASC
Table 2. Surgical duration distribution fitting results
SPECIALTY DISTRIBUTIONBE&T Beta (35., 1320, 2.86, 43.8)CARD Weibull (34., 2.69, 240)COLO Pearson 6 (23., 2180, 1.53, 24.4)ENT Pearson 6 (26., 56.3, 1.97, 1.71)FMAX Loglogistic (19., 1.99, 34)HPB Lognormal (56., 4.53, 0.987)NSUR Pearson 6 (40., 614., 2.76, 12.5)OPHT Loglogistic (12., 2.69, 46.1)ORTH Lognormal (12, 4.42, 0.791)PLAS Loglogistic (9., 1.8, 49.6)RTPT Lognormal (18., 4.09, 0.888)UGI Pearson 6 (27., 1.68, 68.2)UROL Loglogistic (7., 2.02, 56.5)
Analysis of historical data showed emergency patients arrived according to an
exponential distribution with an average inter-arrival time of 113 minutes. This was
used as a standard measure for generating emergency patients for the basis model
and each of the scheduling discipline models. For the change in patient arrival
sensitivity tests, emergency patient inter-arrival times were altered accordingly.
66
Upon generation, both elective and emergency patients were allocated a random
length of surgery (LOS) based on their surgical category (refer Table 2). These were
selected from a distribution according to the data analysis performed with Statfit (see
Table 2).
Extend records an extensive set of statistics obtained from each simulation run. This
data can be saved in a text file or exported to Microsoft Excel spreadsheets for
manipulation and analysis. The key performance measures and outputs of the model
were patient waiting times, number of elective surgery cancellations and theatre
utilisation rates. An important outcome of the model was to demonstrate how
improving one of those performance measures might have a detrimental effect on
others.
3.1.6 Simulation model validation process
To assist with model validation, patient flow was repeatedly analysed and compared
with the actual flow of patients depicted in the patient flow diagram in Figure 2 (see
page 45). The actual data collected in 2005 was initially entered into the simulation
model. Taking out data variability enabled the simulation process to be compared
with the observed period. This meant the actual arrival time and length of surgery
for each patient (both electives and emergencies) was explicitly entered. Patient
priority and the possibility for surgeon re-assignment remained variable, as this data
was not available for validation. The model was run and compared with the actual
results and the following observations were made:
1. Validation was based on elective patient wait time within the surgical suite for
the following reasons;
- Information regarding the number of patients cancelled, and the original schedule
compared with what actually resulted was not available.
- The average waiting time for emergency patients was recorded as less than 1
minute in the supplied data. Any waiting times experienced in the ED or other
wards prior to surgery were not recorded in the data.
67
2. All emergency patients were assumed to have priority over electives.
Realistically, some ‘emergent’ but not necessarily urgent patients have lower or
the same priority as electives and are triaged accordingly. As a result, in the
simulation these patients may receive treatment before an elective patient,
thereby reducing the waiting times of emergency patients and increasing that of
electives.
3. The observed order in which patients arrived to theatre for the real life data was
not necessarily the order in which they were served. The ability to change order
was omitted from the model because the data supplied did not contain any
indications of` patient re-scheduling or the initial schedule.
4. Assigning emergency patients to elective theatres was not initially considered in
the simulation model to simplify the patient modelling process. During the
validation stage however, it became apparent that the simulation was producing
excessive emergency waiting times. As a result emergency cardiac patients and
ophthalmology patients were serviced in the elective cardiac and ophthalmology
theatres respectively, as is often the case in the real life for resource purposes.
All other emergency patients were serviced in the emergency theatres. This had
the intended effect of reducing the number of elective surgeons being re-assigned
to emergency patients, had little effect on average elective patient wait time and
reduced the average waiting time of emergency patients. It did, however,
produce a slight increase in the incidence of elective cancellations, as would be
reasonably expected.
5. For simplification, the two elective theatres used for emergency cases remained
open throughout the simulation without any scheduled downtimes. This resulted
in a lowered utilisation rate for these theatres.
6. The data showed that most theatres were in fact opened earlier than the scheduled
8:30am starting time. This was incorporated into the model resulting in fewer
cancellations and a better representation of the real system.
68
Initially, some patients experienced excessive waiting times in the suites (remaining
in the suites overnight), when in reality they would have been re-scheduled or
cancelled. To overcome this, elective patients would renege if their wait time
reached 495 minutes ensuring no patient remained in a suite ‘overnight’. Emergency
patients had no limit placed on their waiting time as it was assumed that they could
not be cancelled.
3.2 Simulation results and sensitivity analysis
By application of the central limit theorem, confidence intervals for the performance
measures were calculated. The number of simulation runs required for a tolerance
level (at the 95% confidence level) was determined. The population standard
deviation was approximated by the sample standard deviation.
The simulation run length was set to two months (87840 minutes) with the
assumption that the length of the simulation run was sufficient to ‘dilute’ the effects
of the warm up period. Performance measures for patient waiting times, number of
cancellations and theatre utilisation rates were gathered after each run. The
simulation was initially run using the actual data as a base scenario and the results
are given in Table 3.
Table 3. Simulation results
Basis Results Sample mean Standard deviation 95% Confidence Interval Best Case Worst Case
Emergency Patient Wait Time (minutes) 50.24 10.90 (28.88, 71.61) 0.00 532.91Average Elective Patient Wait Time (minutes) 126.40 3.15 (120.24, 132.57) 0.00 544.19Number of Cancellations 215.15 23.63 (168.83, 261.47) 161 267Emergency Theatre Utilisation rate 49.77% 2.27% (45.32%, 54.23%) 55.26% 43.42%Average Elective Theatre Utilisation rate 88.62% 0.14% (88.34%, 88.89%) 88.83% 88.31%
Emergency patient wait
The waiting time before entering the OT department is not provided in the historical
data. The time of entering the OT suite however is given and so the data provided
includes the anaesthesia preparation time.
69
The simulation model indicates that based on historical data (basis model)
emergency patients that use the dedicated emergency theatres currently wait an
average of 50.24 minutes for surgery, with the best case having no wait and the worst
case being 532.91 minutes (8.88 hours). The actual historical data indicates that, for
the same set of patients, the average wait from when an emergency patient arrives to
the theatre suite to entering the theatre is 22.91 minutes (standard deviation 31.11
minutes) with best case 0 minutes and worst case 415 minutes. For both the
simulation and the actual data there is a high level of skewness evident from the
standard deviation and the extreme values.
Figure 9 illustrates the distribution of emergency patient wait for each of the
emergency theatres, B3 (blue) and C1 (red), which shows the majority of these
patients do not wait for surgery. The distribution of emergency patient wait for all
emergency patients taken from the actual data is presented in Figure 10. Comparison
of these two figures indicates more patients in the simulation have zero waiting time
and there is also an increase in the number of patients with higher waiting times
leading to a larger average wait. The increase in zero waiting times may be due to
the model assumptions, which ignore priority levels for emergency patients and
assume all emergencies have precedence over electives. The source of the high
waiting times appears to occur when patients wait for a surgical team. This is due to
the fact that elective and emergency patients compete for the nurses and
anaesthetists.
0 129.2703 258.5406 387.811 517.08130
82.75
165.5
248.25
331
Min Bin Range
EntriesHistogram
Result Result DataData
Figure 9. Distribution of simulation emergency patient waiting time
70
Histogram
0
100
200
300
400
059
.29
118.
57
177.
86
237.
14
296.
43
355.
71M
ore
Fre
qu
ency
Figure 10. Distribution of emergency patient wait taken from actual data
Elective patient wait
The average elective patient wait time (across all elective theatres) was 126.40
minutes with standard deviation 3.15 minutes compared to the actual data giving
135.82 minutes with standard deviation 38.05 minutes. Although the average wait is
very similar there is a noticeable difference in volatility between simulation and
reality. This indicates that the simulation is producing less volatility in the average
wait than the real life data.
Cancellations
On average, 3.53 patients per day were cancelled in the simulation model. There was
no information in the original data to verify whether this result was accurate or
otherwise.
Theatre utilisation
The average elective theatre and emergency theatre utilisation for the base scenario
was 88.62% and 49.77% respectively. Figure 11 illustrates the utilisation in one of
the elective theatres (A1) and the two emergency theatres B3 and C1. The utilisation
can be seen to stabilise around 10980 minutes, showing theatre C1 around the 40%
level and B3 around 60% resulting in the combined average given in Table 3.
71
0 21960 43920 65880 878400
0.25
0.5
0.75
1
Time
ValuePlotter, Discrete Event
A1 B3 C1 Black
Figure 11. Utilisation of theatres A1, B3 and C1.
The model was developed such that arriving patients could go to either theatre,
however, if both theatres are available, the first theatre, B3, is selected, therefore
producing the discrepancy in utilisation between the two theatres.
The following sensitivity analysis was performed on the simulation:
• Change the number of patient arrivals;
1. decreased 10%;
2. increased 10%;
3. increased 20% and
4. increased 30%.
• Implementation of alternative admission disciplines;
1. SPT;
2. LPT; and
3. LFJ.
Changing patient arrivals
The results of changing patient arrivals are presented in Table 4. Some of the
underlying model assumptions - restricting emergency operations to the emergency
theatres, with the exception of ophthalmology and cardiac patients; using an upper
bound for elective patient waiting time and; unlimited emergency patient wait time -
have revealed interesting results for the system, which are detailed in this section.
All tests for significance were performed at the 95% confidence level.
72
Table 4. Changing patient arrivals
Emergency Elective Emergency ElectiveSample mean 50.24 126.40 215.15 49.77% 88.62%
Standard deviation 10.90 3.15 23.63 2.27% 0.14%95% CI (28.88, 71.61) (120.24, 132.57) (168.83, 261.47) (45.32%, 54.23%) (88.34%, 88.89%)
Worst case 532.91 544.19 267 43.42% 88.31%Best Case 0.00 0.00 161 55.26% 88.83%
Sample mean 42.32 112.96 194.38 46.15% 87.96%Standard deviation 7.67 3.09 19.03 1.87% 0.14%
95% CI (27.3, 57.34) (106.9, 119.02) (157.08, 231.67) (42.48%, 49.81%) (87.68%, 88.23%)Worst case 435.06 559.69 256 41.52% 87.57%Best Case 0.00 0.00 157 49.69% 88.24%
Sample mean 65.92 131.57 316.08 55.47% 89.10%Standard deviation 13.99 3.47 21.96 2.30% 0.14%
95% CI (38.5, 93.34) (124.76, 138.38) (273.04, 359.11)(50.95%, 59.99%) (88.83%, 89.37%)Worst case 672.46 638.06 362 50.84% 88.80%Best Case 0.00 0.00 272 60.68% 89.39%
Sample mean 87.96 152.30 478.06 62.15% 89.23%Standard deviation 15.41 3.03 29.11 2.23% 0.14%
95% CI (57.76, 118.16) (146.36, 158.24) (421, 535.11) (57.77%, 66.52%) (88.96%, 89.51%)Worst case 908.68 567.93 564 57.48% 88.85%Best Case 0.00 0.00 425 67.84% 89.50%
Sample mean 146.44 168.14 775.89 71.37% 89.46%Standard deviation 31.31 3.25 34.28 2.00% 0.14%
95% CI (85.07, 207.81) (161.77, 174.51) (708.7, 843.07) (67.45%, 75.3%) (89.19%, 89.73%)Worst case 678.88 553.31 863 67.81% 89.17%Best Case 0.00 0.00 679 77.12% 89.82%
+ 20%
+ 30%
Waiting TimeRESULTS Cancellations
Utilisation rate
Base case
+ 10%
- 10%
Emergency patient wait
Decreasing patient arrivals 10% decreased the average emergency patient waiting
times approximately 15% from 50.24 to 42.32 minutes. Average emergency patient
waiting times increased 15.68, 37.72 and 96.2 minutes respectively when arrivals
were increased 10%, 20% and 30%. Figures 12 – 15 illustrate these changes in
emergency patients wait. These illustrate the increase in the proportion of patients
that wait longer as the number of patients arriving increases.
73
Figure 12. Emergency patient wait –10%
Figure 13. Emergency patient wait +10%
Figure 14. Emergency patient wait +20%
Figure 15. Emergency patient wait +30%
0 150.1206 300.2412 450.3619 600.48250
86.5
173
259.5
346
Min Bin Range
EntriesHistogram
Result Result DataData
0 147.4922 294.9844 442.4766 589.96870
83
166
249
332
Min Bin Range
EntriesHistogram
Result Result DataData
0 117.5182 235.0364 352.5546 470.07280
80.25
160.5
240.75
321
Min Bin Range
EntriesHistogram
Result Result DataData
0 224.4195 448.839 673.2585 897.6780
87.5
175
262.5
350
Min Bin Range
EntriesHistogram
Result Result DataData
74
Elective patient wait
There was a steadier impact on elective patient waiting time across all changes in
patient arrivals compared with emergency patient wait. Waiting time reduced from
126.40 to 112.96 minutes for a 10% decrease in arrivals, and increased 5.17, 25.9
and 41.74 minutes for the three incremental increase in arrivals respectively. Due to
the underlying model assumptions, elective patient wait for individual patients was
limited and therefore there is not a sharp increase in the worst case results. Figures
16-19 illustrate the changes in elective patient wait time as patient arrivals are varied.
The shift to the right indicates the proportion of patients waiting longer increases as
the number of patients arriving increases. However, this increase is limited as
resources are already stretched and there is an upper limit on waiting time.
Cancellations
The number of cancellations per day was reduced from 3.53 to 3.19 when arrivals
were decreased 10%. Increasing arrivals by 10%, 20% and 30% increased the
average number of cancellations by 1.65, 4.31 and 9.19 patients per day respectively.
Changing the percentage of arrivals appears to have a linear effect on elective patient
time whilst the impact on the number of cancellations and the emergency patient wait
time however, appears to be exponential. This can be explained by the underlying
model assumptions. Emergency patients are assumed to wait indefinitely for an
available theatre, thereby exponentially increasing the experienced waiting time. In
contrast, by limiting the waiting time of elective patients, this reduces bottlenecks in
the theatre suites, which would occur due to the build of up patients waiting for
resources to become available. The increase in the experienced waiting time
therefore is limited; however the number of cancellations increases exponentially as
arrivals increase, much like the wait for emergency patients. Figure 20 and Figure
21 present an illustration of these relationships.
75
Figure 16. Elective patient wait –10%
Figure 17. Elective patient wait +10%
Figure 18. Elective patient wait +20%
Figure 19. Elective patient wait +30%
0 162.6821 325.3643 488.0464 650.72860
10
20
30
40
Min Bin Range
EntriesHistogram
Result Data DataData
0 120.25 240.5 360.75 4810
7.25
14.5
21.75
29
Min Bin Range
EntriesHistogram
Result Data DataData
0 130.4812 260.9624 391.4436 521.92470
7.5
15
22.5
30
Min Bin Range
EntriesHistogram
Result Data DataData
0 191.5 383 574.5 7660
12.75
25.5
38.25
51
Min Bin Range
EntriesHistogram
Result Data DataData
76
0
50
100
150
200
250
-10% Benchmark + 10% + 20% + 30%
Wai
tin
g T
ime
(min
s)
Emergency wait lower EmergencyEmergency wait upper Elective wait lowerElective Elective wait upper
Figure 20. Effect of admissions on waiting time
0
200
400
600
800
1000
-10% Benchmark + 10% + 20% + 30%Nu
mb
er o
f C
ance
llati
on
s
95% CI lower bound Average cancellations95% CI upper bound Best caseWorst case
Figure 21. Effect of admissions on cancellations
77
Theatre utilisation
The elective theatre utilisation rate was unchanged for all increased patient arrival
tests and decreased from 88.62% to 87.96% for the 10% decrease in arrivals. This
result suggests that regardless of the degree of the increase in elective patient arrivals
there will be no significant increase in elective theatre utilisation rate. It follows then
that the elective OTs are currently running at maximum utilisation and cannot
tolerate an increase in elective arrivals. The emergency theatre utilisation rate
decreased 3.62% for the 10% decrease in arrivals and increased 5.70%, 12.38%
21.60% respectively when arrivals increased 10, 20 and 30%. Unlike the elective
theatres, the emergency theatres could handle an increase in emergency arrivals of at
least 30%. The relationship between changing the percentage of arrivals and theatre
utilisation rates is presented in Figure 22.
One point to note is that an increase in emergency arrivals only was not considered.
All increases in arrivals were across all patient types. An interesting avenue for
further exploration could be the extent to which the emergency theatres could handle
increased emergency arrivals and whether this impacts elective cancellation as they
compete for resources.
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
-10% Benchmark + 10% + 20% + 30%
% Change in Arrivals
Utilis
atio
n R
ate
Emergency lower Emergency Emergency upper
Elective lower Elective Elective upper
Figure 22. Effect of admissions on utilisation rate
78
Table 5. Alternative scheduling disciplines
Emergency Elective Emergency ElectiveSample mean 50.24 126.40 215.15 49.77% 88.62%
Standard deviation 10.90 3.15 23.63 2.27% 0.14%95% CI (28.88, 71.61) (120.24, 132.57) (168.83, 261.47) (45.32%, 54.23%) (88.34%, 88.89%)
Worst case 532.91 544.19 267 43.42% 88.31%Best Case 0.00 0.00 161 55.26% 88.83%
Sample mean 52.00 130.16 223.19 50.05% 88.62%Standard deviation 8.74 3.06 18.63 1.72% 0.12%
95% CI (34.86, 69.13) (124.16, 136.16) (186.67, 259.71) (46.67%, 53.42%) (88.39%, 88.85%)Worst case 417.37 545.03 269 46.32% 88.25%Best Case 0.00 0.00 171 53.67% 88.88%
Sample mean 53.15 119.55 185.47 50.31% 88.61%Standard deviation 12.32 2.70 12.63 1.97% 0.13%
95% CI (29, 77.29) (114.25, 124.85) (160.72, 210.22) (46.45%, 54.17%) (88.36%, 88.86%)Worst case 511.93 563.12 207 46.40% 88.36%Best Case 0.00 0.00 156 55.37% 88.88%
Sample mean 52.27 107.31 207.17 50.32% 89.09%Standard deviation 10.80 2.85 15.70 1.57% 0.16%
95% CI (31.09, 73.44) (101.73, 112.9) (176.4, 237.94) (47.24%, 53.4%) (88.77%, 89.41%)Worst case 583.63 567.85 241 47.52% 88.70%Best Case 0.00 0.00 177 53.98% 89.45%
Waiting Time
LFJ
Base case
LPT
SPT
Cancellations Utilisation Rate
RESULTS
Alternate scheduling disciplines
Implementation of the three scheduling disciplines (LPT, SPT and LFJ) was
compared. The results of implementing each scheduling discipline are presented in
Table 5. All of the findings are presented at a 95% confidence level.
Emergency patient wait
The scheduling disciplines were found to have no significant impact on emergency
patient wait. The average emergency patient wait times were 52.0, 53.15 and 52.27
minutes respectively for LPT, SPT and LFJ. This was expected, as the sequencing
discipline of emergency patients was unchanged. Any slight variations in value are
therefore due to the variable nature of simulation models.
Elective patient wait
Scheduling disciplines LFJ and SPT both improved elective patient waiting time with
LFJ performing better than SPT. Conversely, LPT was found to increase elective
patient waiting time. The average elective patient wait times were 130.16, 119.55
79
and 107.31 minutes respectively for LPT, SPT and LFJ. The effects of the LPT and
SPT disciplines on elective patient waiting time were somewhat intuitive.
Performing the longer, more variable surgeries first (LPT) results in a longer waiting
time for the shorter surgeries while scheduling the shorter surgeries first, will
decrease the wait for the remaining activities. More noteworthy however, is that LFJ
outperformed SPT. By scheduling the least flexible patients first, the remaining
patients can be juggled around to optimise the resource usage towards the latter end
of the schedule, thereby improving the average elective waiting time.
Cancellations
The average number of elective cancellations was 3.66, 3.04 and 3.40 patients per
day for LPT, SPT and LFJ respectively. At the 95% confidence level, the LFJ and
SPT disciplines reduced the number of patient cancellations, with SPT performing
better than LFJ. LPT significantly increased the number of cancellations. While it
would be expected (or at least hoped) that LFJ would reduce cancellations due to
scheduling the more flexible surgeries last, the results for SPT and LPT conflict with
literature (see literature review). One would expect that LPT reduce cancellations by
scheduling the longer more variable surgeries first. However, perhaps the long
surgeries are taking much more time than the expected duration, resulting in fewer
surgeries being completed in time. Correspondingly, more short surgeries can be
performed in the same space of time compared with long surgeries. So subsequently,
with LPT, more surgeries are cancelled at the end. Figures 23 and 24 demonstrate
the effect on the number of cancellations and patient waiting time for the alternative
scheduling disciplines respectively.
Theatre utilisation
At the 95% confidence level there was no evidence to suggest an improvement or
otherwise in elective or emergency theatre utilisation rates for SPT and LPT. This
means that despite LPT increasing the number of cancellations, there was no
corresponding change in utilisation. This again contradicts literature that found LPT
increased throughput and utilisation (Harper, 2002). For LFJ, elective theatre
utilisation increased 0.47% and emergency theatre utilisation was unchanged.
80
0
50
100
150
200
250
300
Base case LPT SPT LFJ
Alternative Scheduling Disciplines
Nu
mb
er o
f Can
cella
tion
s
95% CI lower bound Best case Average95% CI upper bound Worst case
Figure 23. Effect of scheduling disciplines on cancellations
0.00
20.00
40.00
60.00
80.00
100.00
120.00
140.00
160.00
Base case LPT SPT LFJ
Alternative Scheduling Disciplines
Wai
tin
g T
ime
(min
s)
Emergency lower Emergency wait timeEmergency upper Elective lowerElective wait time Elective upper
Figure 24. Effect of scheduling disciplines on waiting time
81
3.3 Conclusions
Simulation was used to model the OT department of the Princess Alexandra
Hospital. Service distribution and emergency patient inter-arrivals were generated
based on historical patient data. Efficiency measures calculated for the real system
were compared with simulation outputs to validate the model. The model was then
used to explore the effects of changing patient arrivals and alternative elective patient
admission disciplines would have on the performance measures.
Emergency patient waiting times and the number of elective cancellations appeared
to increase exponentially as the number of arrivals was increased. The relationship
between elective patient waiting time, elective theatre utilisation rate and emergency
theatre utilisation rate with changing arrivals appeared linear and less pronounced.
There was no significant impact on elective theatre utilisation rate for any change in
arrival, which suggested that the elective theatres were running at near maximal
activity. This claim may be supported by the exponential effect seen on the number
of cancellations when arrivals increased with no accompanied effect on elective
theatre utilisation rate.
LFJ improved patient waiting times and reduced the number of cancellations. SPT
improved patient waiting times, had a lesser impact on elective patient waiting times,
but was found to increase both elective patient waiting times and the number of
cancellations. The improvement in emergency patient waiting times for all
disciplines suggested this was a result of reducing elective scheduling variability.
The scheduling disciplines did not have a significant effect on theatre utilisation
rates.
An important result of this study is its potential implementation as decision support
for surgical planners wishing to adopt an alternative scheduling discipline or for
predicting the effects than an increase in patients will have on performance criteria.
Traditionally, theatre utilisation rate has been considered the only important
performance measure for the OT. However, when the theatres are already running at
maximum capacity, improvements in OT performance are not seen in theatre
utilisation rates. In fact there was little change in elective theatre utilisation rates at
82
all. This study therefore demonstrates the need to consider the effects on patient
waiting times and elective cancellations as an adjunct measure of performance.
Although this study indicates the likely effects changes may have on the OT system’s
performance measures, it does not produce any quantifiable measures of resources
for optimising some particular objective. This is a possible avenue for future
research. In addition, it would be interesting to examine an increase in emergency
arrivals without changing electives and to what extent the system could handle such
an increase. Thirdly, this study analyses the system from a macro perspective, taking
average performance measures across all electives. Further study (although much
more time consuming) could include an examination of the elective theatres on an
individual basis.
83
Chapter 4. Robust surgery assignment models
Simulation was used in the previous chapter to analyse the real life problem and
investigate various ‘what if’ scenarios and their implications on the performance of
the OT department. While simulation provides a way to examine scenarios without
actually impacting the real life system, it does not optimise a system. Optimisation
of a system is usually achieved with mathematical models. These approaches are not
designed to conflict with one another, but rather are complementary. Simulation will
further be used in this chapter to generate patient treatment times from statistical
distributions to assist with model validation and testing.
Theoretical models based on operation research techniques are used in many
applications to determine ‘optimal’ (or sufficiently good, in complex cases) solutions
to problems. The literature review provided in Chapter 2 has already shown that
operations research models have been applied to many areas in healthcare including
the OT. In this dissertation, simulation is not only used to examine the system, but
theoretical models are also used to improve elective scheduling procedures and also
develop a new tool for the dynamic online scheduling problem incorporating
emergency patients. This chapter begins with a look at elective scheduling methods.
Surgical durations are variable and depend on many factors including the type and
severity of illness and the experience of the surgeon performing the operation
(Guinet & Chaabane, 2003). Even with detailed statistical analysis it is very difficult
to precisely predict how long a procedure will take. When the assigned time for a
surgery is less than the actual time, this can lead to either delayed starts for
remaining procedures, cancellations or overrun theatres, which is an added cost to
the running of the department. Robust patient assignment is a technique used to
address this issue faced by schedulers.
A statistically calculated amount of ‘extra’ time is assigned to each operation based
on the proportion of surgeries expected to be completed on time, which is determined
by the scheduler or decision maker. So for the schedule that wants to minimise
84
overrun surgeries, the buffer would be larger than that for a schedule with a higher
tolerance of overruns.
As seen in the literature review, robust patient assignment is first introduced for the
operating theatre by Hans et al. (2008). In their paper, historical data is analysed for
surgical duration mean and variance estimates. The sum of the surgical durations
assigned to a theatre is assumed normally distributed and the properties of their
summation are used to determine an amount of slack for each theatre. Possible
future work highlighted by Hans et al. (2008), included addressing the inapplicability
to the sum of random variables not normally distributed.
The robust patient assignment models developed are offline non-linear integer-
programming models, where the amount of slack planned for each block is based on
the variations in surgical durations of the patients scheduled in the block. In each of
the models, surgical durations are modelled with the lognormal distribution, which is
a common choice for surgical durations. The summation of lognormal variables
however, is not modelled by a normal distribution, as with the summation of some
other types of random variables. This is a point of innovation for robust patient
assignment in the operating theatre. The results of the model are compared with the
case of normally distributed surgical durations.
Further innovation is achieved by addressing the issue of flexible patient assignment.
In the real life setting, surgical consultants are generally responsible for selecting and
sequencing their own patients. Introduced is the idea of adapting the robust patient
assignment model to allow patients to be selected directly from a waiting list to
optimise planning of the available capacity. When patient assignment is more
flexible, the benefits of such a schedule are expected to be greater and the results can
be compared with current practices and any differences presented to hospital staff.
An alternative performance measure to tardiness, namely deviation, is considered.
The deviation of a surgery block is defined as the difference between used and
available surgical surgery block capacity. Studies have shown that the costs of
running the operating theatre occur not only from theatres running into overtime, but
also due to theatres completing surgery early and therefore leaving unused capacity
85
(Dexter et al., 2000, Dexter et al., 1999). Deviation considers both earliness and
tardiness.
The developed models in this dissertation are applicable irrespective of whether
patient assignment is surgeon specific or not. The main benefit of this is that a
generalised model may be easily adapted to similar hospital systems and incorporate
hospital specific requirements.
This chapter begins with a section on data analysis for the robust and reactive models
that illustrates why the lognormal distribution is used for modelling surgical
durations. This is immediately followed with the process used for generating random
cases for testing the robust and reactive models. The theory of the sum of
independent but not necessarily identical lognormal random variables, which
underpins the developed models, is also provided. Before the robust assignment
models are presented in the Section 4.5, the assumptions of the models are outlined.
The remaining sections include the computational complexity of the models, the
solution methods, results and conclusions respectively.
4.1 Data analysis for robust and reactive models
The simulation model of Chapter 3 was based on the entire Operating Theatre
Department of the Princess Alexandra Hospital. In the following two chapters, the
robust and reactive models will be based on the smaller Surgical Care Unit. Using
the SCU is a satisfactory representation of the whole department because both
elective and emergency patients are treated there. The benefit to using the SCU is
the reduction in problem size and hence calculations. The results obtained for the
SCU can be extended and applied to the entire OT department.
The study of the real life problem in Section 1.3 highlighted the point that elective
surgery patients may be either day surgery or non-day surgery patients. Day surgery
patients are treated in the four assigned day surgery theatres in the Surgical Care Unit
(SCU), namely theatres A1 – A4. These patients generally arrive and/or are released
on the day of their surgery.
86
Since the SCU was selected as a sample for the whole problem, specialties that are
only treated in the SCU were sought after. The reason for this was to get a closer
representation of the real life problem. If a theatre only treats a particular specialty
then the total capacity is dedicated to those patients. In other words, there is no need
for adjusting total capacity available to those patients. If a number of different
specialties are treated in a theatre, then either all the specialties need to be
considered, or the capacity must be adjusted for the selected specialties. Of the
specialties treated in the SCU, the Ophthalmology patients are almost exclusively
treated in theatres A2 and A3. Of the specialties treated in these two theatres, the
majority are also Ophthalmology. Most other specialties (treated in the SCU) are
also spread across the non-day surgery theatres. For this reason, the developed
robust and reactive models are applied to the Ophthalmology patients in theatres A2
and A3 and it is assumed that all capacity available is dedicated to those patients.
This assumption may be changed according to a scheduler’s requirements. It is
important to note that the developed models may also be adjusted to incorporate any
patient specialty and any theatre.
Historical data for the Ophthalmology patients was analysed for surgical duration
estimates. The times available in the data provided were ‘time in suite’, ‘in
anaesthesia’, ‘in OR’ and ‘Out OR’. These times indicate the time the patient enters
the operating theatre suite (which is composed of the operating rooms and their
anaesthesia workrooms, day surgery unit, ICU, PACU etc), the time the patients
enters anaesthesia and the times of entering and exiting the operating room
respectively. The time of anaesthesia may be calculated as the difference between
‘in OR’ and ‘in anaesthesia’. Likewise, the time in the OR is the difference between
‘Out OR’ and ‘in OR’. These varied according to the type of surgery being
performed. The total treatment time of a patient was assumed to include anaesthesia
preparation time, however this assumption can easily be changed if desired.
The Ophthalmology specialty was broken down into sub-specialties for the
calculation of surgical duration estimates. Six surgical sub-specialties were
determined based on the type of surgery performed. A histogram of actual data
suggested a possible lognormal distribution for each of the surgical sub-specialties.
Goodness of fit tests supported the hypothesis that surgical durations may be
87
described with the lognormal distribution but rejected the hypothesis of a normal
distribution. An example plot of the fitted distribution against actual data for the first
specialty is provided in Figure 25.
Figure 25. Fitted distribution versus actual data for specialty 1
The lognormal distribution is a continuous distribution, based on the normal
distribution. It is used to describe many applications including physicians’
consultation time, lifetime distributions, the long-term return rate on a stock
investment and weight and blood pressure of humans. It has also been used in the
literature for describing surgical durations (Jebali et al., 2006, Strum, May & Vargas,
2000).
The distribution is described with 3 parameters; the mean of the included normal µ,
the standard deviation of the included normal σ and the minimum value or location
parameter γ. The three parameter probability density function is given by
( )2
2
ln( )
2
2
1( )
( ) 2
x γ µ
σf x ex γ πσ
− −−
=−
Parameters for the lognormal and normal approximations were determined for each
of the surgical specialties based on the data analysis and are presented in Table 6.
88
The Lognormal distribution is described with 3 parameters, i.e. the mean of the
included normal µ, the standard deviation of the included normal σ and the minimum
value or location parameter γ. For data analysis, surgical durations were given in
minutes.
Table 6. Data for Specialties
4.2 Generation of random cases for testing the robust and reactive models
In order to test the robust and reactive models, patient lists needed to be generated
that could be used as inputs for the models. When generating these patient lists, it
was necessary to consider the future implication of these models in the real life.
Thus, it was important to use an approach that could easily be translated in the
practical setting. More precisely, a patient list was considered to be the list of
possible patients for a particular surgical consultant or surgical team for the near
future, (this means that each surgeon or surgical group may have their own
individual patient list. This takes into account different qualifications, etc). The
length of the future period is not fixed and depends on the particular consultant. For
example, some surgeons may be assigned two surgical blocks in any given week, on
a weekly basis whereas another may only be assigned one surgical block every
second week. This kind of detail is not necessary at this planning stage and can be
omitted.
For the purpose of testing the models, there are six surgical specialties that the
patients may belong to. At this stage, restrictions on which specialties a consultant
can treat, are not examined (because it is an easy extension to omit particular
specialties from a patient list) and it is assumed any surgical category may be treated.
Lognormal Normal Specialty γ µ σ2 µ σ2
1 18 2.78 0.674 3.773663 1.757204 2 20 3.38 0.561 3.508642 1.427401 3 16 3.42 0.779 3.64058 2.890148 4 12 3.89 0.777 4.91161 6.694422 5 55 4.0 0.79 8.258025 10.23665 6 29 3.82 0.452 4.981818 3.398303
89
For a patient list, the random number generator function in excel, was used to
generate the number of patients of a particular specialty that must be assigned to a
surgical block. It was decided that there is no need to use an empirical approach
from historical data for generating these numbers. This is because despite the
controllable nature of schedule generation, the surgeons at the PAH believe that there
is no real pattern to the mix of elective patients that present to the operating theatre
over time and therefore patient mix is generally considered to be highly
unpredictable. For this reason, using random numbers to assign patients to
categories is justified.
The generated patient lists will be used as inputs for the robust assignment models.
These will determine the number of patients that must be assigned to the surgical
blocks. The patient list will also specify the maximum number of patients from a
particular specialty that can be assigned. This is used for the flexible assignment
models seen in chapter 4.5.2. The results of the flexible assignment models are used
as inputs for the reactive scheduling models developed in Chapter 5.
4.3 The sum of independent but not necessarily identical lognormal random
variables
The following theory on the sum of independent but not necessarily identical
lognormal random variables comes from (Nie & Chen, 2007, Weisstein, 1999-2010).
Let NP,...,P1 be N independent but not necessarily identical lognormal random
variables with parameters iµ and iσ . Let ∑==
N
iiN pP
1 and the mean of NP is NM
with
90
[ ]
2
2
2
1
2
1
1
2
1
ieie
ieie
ii
e
PEM
N
i
N
i
N
i
N
iiN
σ
=
µ
σ
=
µ
=
σ+µ
=
∑=
∑=
∑=
∑=
and NV is the variance of NP
[ ]( )[ ]
∑
−=
∑ −=
=
σ+µσ
=
N
i
N
iiiN
iieie
PEPEV
1
2
1
2
21
2
The third and fourth order central moments, NS and NT are respectively given by
[ ]( )[ ]2
22
12
2
33
1
1
3
iieieie
PEPES
N
i
N
iiiN
σ+µσ
=
σ
=
+∑
−=
∑ −=
[ ]( )[ ]
∑
−++
−=
∑ −=
=
σ+µσσσσ
=
N
i
N
iiiN
iieieieieie
PEPET
1
24234
1
4
23
23
22
21
2
The skewness 1γ
and kurtosis 2γ
are respectively
231 /N
N
V
S=γ
22N
N
V
T=γ
91
The sum of independent but not necessarily identical lognormal random variables is
assumed to be modelled with a lognormal random variable and used to approximate
the sum of lognormally distributed surgical durations. NM and NV are used to
calculate the mean, Nµ , and variance, Nσ , of this lognormal distribution. Nie and
Chen (2007) discuss the limitations of using the lognormal distribution for modelling
the sum of lognormal random variables, with respect to the skewness and kurtosis
parameters. However, in this thesis, for the purpose of simplification, this
assumption will be held. Based on this assumption, the amount of time, k, that needs
to be assigned to the surgeries can be calculated.
For a lognormally distributed variable, D, the probability that D exceeds some
threshold k is given by ( )
σµ−Φ−=≥ )kln(
kDP 1 where Φ is the cumulative
distribution function of the standard normal distribution. If
−σ
µ)ln(k= x, then
( ) [ ]xkDP Φ−=≥ 1 . Since xk =
−σ
µ)ln(, then µσ += xek .
From the properties of the lognormal distribution, NM can be rearranged to obtain
and expression for Nµ in terms of NM and Nσ .
2
2N
NN eM
σµ +
=
( )2
ln2N
NNMσµ +=
( )2
ln2N
NN Mσµ −=
Now substitute this into NV and rearrange to obtain an expression for2Nσ in terms of
NV and NM
222
1NNN
N eeVσµσ +
−=
92
( ) 22
2
ln22
1
N
NNM
NN eeV
σσ
σ+
−
−=
( )NMNN eeV ln2
2
1
−=σ
( )
2
ln21
N
NMN e
e
V σ=+
( )2
ln21ln NNM
N
e
V σ=
+
( )( )
2ln2
ln2ln NNM
NMN
e
eV σ=
+
22ln
2ln
ln NNM
NM
N
e
eV σ=
+
22
2ln N
N
NN
M
MV σ=
+
Substituting 2Nσ into Nµ gives
( )
+−=
2
2ln
2
1ln
N
NNNN
M
MVMµ
( )
+−=
2
2lnln
N
NNNN
M
MVMµ
+=
2
2ln
N
NN
NN
M
MV
Mµ
+=
2
2ln
NN
NN
MV
Mµ
93
Substituting 2Nσ and Nµ into k gives
++
+
=2
2ln
2
2ln
NMNV
NM
NM
NMNVx
ek
+
+
=2
2ln
2
2
ln
NMNV
NM
NM
NMNVx
eek
+
+=
2
2
ln
2
2NM
NMNVx
NN
N eMV
Mk
Variations in the choice of x affect the value of k. In a practical sense, since k
represents the amount of time assigned to a surgery block, the larger the x value, the
lower the overtime expectation. For ease of calculations however, choose x = 1 then
( ) [ ]11 Φ−=≥ kDP = 1 – 0.8413 = 0.1587. This means that the probability that the
surgical duration d exceeds some time k is approximately 15.87%. Then
+
+=
2
2ln
2
2NM
NMNV
NN
N eMV
Mk
4.4 Model assumptions
The following assumptions are held for the model:
1. In the interest of analytical tractability, surgical durations are assumed to be
mutually independent. This implies that treatment times are not reduced by
repetition of surgical operations of the same type despite this being the case in
practice.
2. Staff and equipment are assumed readily available and do not constrain the
model. Additional resource constraints can be easily added to the model by
considering their availability at each patient’s assignment, however are not
considered in this dissertation.
3. Data collected was representative of a typical period.
94
4. Overtime capacity is equal for all surgery blocks.
5. The distribution of surgical duration estimates for specialty type i is the same
regardless of the treating surgeons or surgical team assigned to a surgery block.
4.5 The robust surgery assignment models
The robust surgery assignment models covered are:
i. The robust surgery assignment model with lognormally distributed surgical
durations
ii. Flexible robust surgery assignment model with lognormally distributed surgical
durations
4.5.1 The robust surgery assignment models with lognormally distributed
surgical durations
Indices
i: Specialties considered within a surgical category, i = 1, …, I
j: Available surgery blocks during the scheduling period, j = 1, …, J
Parameters
Cj: Capacity of surgery blocks j
Ri: The required number of patients of specialty i
µi, σi : Lognormal distribution parameters for surgical specialty i
di: Expected surgical duration of specialty i
si2: Expected surgical duration variance of specialty i
95
Decision Variables
Xij: The number of patients of specialty i to assign to surgery block j
Uj: The used time of surgery block j
Tj: The tardiness of surgery block j
Ej: The earliness of surgery block j
Dj: The deviation of surgery block j
=otherwise 0
used block if 1 jYj
Objective function
Minimise the maximum surgical surgery block deviation
jJj
DZ minimax∈
= (4-1)
Constraints and equations
All patients must be scheduled exactly once.
∑ ∀=j
iij iRX , (4-2)
The expected surgical duration, id and the variance, 2is are respectively given by
2
2i
ii ed
σµ +
= (4-3)
2222 1 iiii ees
σµσ +
−= (4-4)
96
where iµ and iσ are lognormal random variable parameters determined by analysis
of historical data. The sum of the expected durations and the variance of the patients
assigned to a surgery block are given respectively by
2
1
in
i
iijj eeXM
σµ∑==
(4-5)
∑
−=
=
+n
i
iiiijj eeXV
1
2221
σµσ (4-6)
The amount of time that is planned for each schedule to ensure the probability that
surgeries run overtime is less than 15.87% is given by
+
+=
2
2
ln
2
2jM
jMjV
jj
jj e
MV
MU (4-7)
The tardiness of surgery block j is greater than or equal to the sum of the planned
time of the assigned surgeries, less the capacity of the surgery block. In this model,
there are a number of available surgery blocks, but not all of them are necessarily
required. For this reason variables Yj are required, indicating whether or not a
surgery block is used. The reason is because due to the solution methods, discussed
in Section 4.7, the number used varies. To ensure a schedule can be produced there
must be enough blocks available at the beginning.
( ) jjjj YCUT −≥ , j∀ (4-8)
In scheduling theory, tardiness must be positive therefore
,0 jT j ∀≥ (4-9)
The earliness of surgery block j is greater than or equal to the capacity of the surgery
block less the planned time of the assigned surgeries.
97
( ) jjjj YUCE −≥ , j∀ (4-10)
Earliness must also be positive
,0 jE j ∀≥ (4-11)
The deviation of a surgery block is the difference between the total allocated time of
the surgeries assigned to a surgery block and the available capacity of the surgery
block. This is equivalent to the amount of capacity unused (earliness) or overused
(tardiness). The deviation of surgery block j is the sum of the tardiness and earliness
of the block.
, j j jD T E j= + ∀ (4-12)
To ensure that the Yj variables are not all zero and consequently all deviation
variables equal to zero, the following constraint must be used
, j jU MY j≤ ∀ (4-13)
This equation ensures that when Yj = 0, then 0jU ≤ and 0jU > only if Yj = 1.
The final constraints on the problem are that the number of patients assigned to each
theatre is a positive integer and variables jY are binary integers
ijX Z+∈ (4-14)
0 or 1jY = (4-15)
98
4.5.2 Flexible robust surgery assignment model with lognormally distributed
surgical durations
The flexible model is essentially the same as the previous model with the following
adaptations.
Additional Parameters
iAi specialty of patients available ofnumber The:
Additional Constraints
Equation 4-2 is replaced with the following two constraints.
∑ ∀≥j
iij iRX , (4-16)
∑ ∀≤j
iij iAX , (4-17)
4.6 Problem complexity
The offline robust surgical assignment models are analogous to a parallel machine
environment with extensible machine capacity. For the non-preemptive parallel
machine scheduling problem that minimises the maximum lateness, all problems that
are NP hard under the minimised makespan (Cmax) criterion remain NP hard under
the Lmax criterion. The problem P2||Cmax has been shown to be NP-hard and
therefore so is P2||Lmax. Since Pm||Cmax is known to be NP-hard for the m = 2
machine case, the problem is not any easier to solve when there are more than 2
machines. Therefore, this is also true for the Lmax problem (Blazewicz et al., 1996).
The following theorems can be used then to show that when P||Lmax and P||Emax are
NP-hard then P||Dmax is also NP-hard.
99
Theorem I
A schedule that is optimal with respect to Lmax is also optimal with respect to Tmax.
Proof
max 1 2
1 2
max
max(max( ,0),max( ,0),...,max( ,0))
max( , ,... ,0)
max( ,0)
n
n
T L L L
L L L
L
===
Therefore minimise Lmax will also minimise Tmax.
The minimise P||Emax problem may also be shown to be NP-hard when P||Lmax is NP-
hard.
Theorem II
A minimise P||Emax problem is NP-hard when P||Lmax is NP-hard.
Proof
)0,max( iii CDL −=
where iD is the due date and iC is the completion time of job i.
)0,max( iii DCE −=
)0,min( ii LE −=
Therefore the minimise P||Emax problem is NP-hard when P||Lmax is NP-hard.
Since Dmax = Emax + Lmax, then P||Dmax is also NP-hard when P||Lmax is NP-hard.
From this relationship between lateness and earliness for the parallel machine
scheduling environment, the offline robust surgical assignment models with
extensible machine capacity are strongly NP-hard. Approximation algorithms
therefore should be applied to find near-optimal solutions to such problems in
reasonable time.
100
4.7 Solution methods
As shown in Section 4.6 the robust assignment models are computationally difficult
to solve and therefore approximation methods are required to obtain solutions. A
number of constructive and local search heuristics are developed for the models and
will be discussed.
Traditional constructive heuristics for scheduling in the operating theatre include
SPT and LPT (see Section 2.4). Innovative constructive heuristics combined with
assignment and local search heuristics are proposed to obtain solutions for the
schedules. These are HVF (highest variance first) and LVF (lowest variance first).
Rather than sequencing patients by surgical duration length, patients are ordered by
non-increasing surgical duration variance and non-decreasing surgical duration
variance respectively. In practice, longer surgeries are typically considered more
variable than surgeries of shorter duration. Analysis of historical data however
demonstrated that a LPT (SPT) sequence is not strictly the same as a HVF (LVF)
sequence. Whether sequencing based on LVF and HVF have improvements over
current methods, SPT and LPT, is investigated.
The logic of the constructive heuristics is used throughout the assignment and local
search algorithms to exploit the idea of clustering surgeries with the same surgical
duration variance together to minimise the amount of slack required for a schedule.
In this section the assignment and local search heuristics for each of the robust
assignment models are described. Each of the initial assignment and local search
heuristics builds on the previous heuristics, adapting to the changes between the
models. The algorithms used to solve the models are given in Appendix C.
4.7.1 Solution method for the robust surgery assignment model with
lognormally distributed surgical durations
The robust schedules are solved with an initial assignment heuristic and
neighbourhood search algorithm. The logic behind these algorithms is applied to
both models regardless of whether surgical durations are modelled with lognormal or
101
normal distributions. It is noted however, that due to the differences in these
distributions, the calculations of treatment times are obviously different.
The initial assignment algorithm aims to assign the surgeries to the surgery blocks
such that the maximum deviation of the surgery blocks is minimised. In addition, it
also tries to minimise the number of surgery blocks actually required to satisfy
patient demand. The time phasing of surgery blocks is not considered in this model.
It is assumed that the number of surgery blocks used for a schedule correspond to the
next consecutive set of surgery blocks assigned to a surgeon or surgical group. For
example, if a surgeon is assigned 4 surgery blocks over a month, then the first four
surgery blocks (or any set of four of the required surgery blocks) correspond to one
month’s schedule.
Surgical specialties are assigned in order of non-increasing surgical duration variance
to the surgical blocks. The patients of the first specialty with the highest surgical
duration variance are first exhausted before assigning patients from another specialty.
After each patient is assigned, the deviation value of the surgery block being filled is
calculated. If the surgery block’s capacity has not been filled (i.e. there is no
overtime), the assignment is accepted and the process continues. If the surgery block
is overfilled, then the deviation value for the current assignment is compared with the
deviation value for one fewer patient. If the current deviation value is less than the
deviation for one fewer patient, then the assignment is accepted. Otherwise, the
assignment is rejected and the patient is assigned to the next surgery block. This
process is repeated until all the patients of the specialty have been assigned.
Once all the patients of the first specialty are assigned, the assignment algorithm
moves onto the next specialty beginning with the first surgery block. By starting
with the first surgery block rather than the next empty block, the process tries to
minimise the number of surgery blocks actually used. The assignment process
continues until all the required patients for each specialty are assigned.
102
Initial assignment algorithm
Inputs
jC,J,I
j,i ,0ijX ∀=
j ,0jD,jE,jT ∀=
iR
I to 1i For =
{
1j
1k
==
∑=
<J
1jiRijX While
{
kijX =
)0,jCjUmax(jT −=
)0,jUjCmax(jE −=
jTjEjD +=
If 0jT ==
1kk +=
Else
{
1ijx'ijx −=
)0,jC'jUmax('
jT −=
)0,'jUCmax('
jE −=
'jT'
jE'jD +=
If 'jDjD <
{
ijx'ijx =
jT'jT =
jE'jE =
103
jD'jD =
1kk +=
}
Else
{
'ijxijx =
'jTjT =
'jEjE =
'jDjD =
1jj +=
1k =
}
}
}
1ii +=
}
Following the assignment of the surgeries to the surgery blocks, a neighbourhood
search heuristic is implemented. This algorithm comprises several sequential
algorithms. The first of these is the max-min algorithm.
The max-min algorithm works out which blocks have the current highest and lowest
earliness and tardiness values. The highest deviation value for the surgery blocks
(whether it be over or under used) is set as an upper-bound, UB. The remaining
algorithms then work to reduce this maximum deviation value (UB) by
systematically removing patients from the surgery block with the highest tardiness
value and moving them to the block with the largest earliness value. If the maximum
deviation (i.e. UB) can be reduced, the max-min algorithm is re-called to update the
new maximum earliness and tardiness values and UB. The search process continues
until the stopping criteria are met.
104
4.7.2 Solution method for the flexible robust surgery assignment model with
lognormally distributed surgical durations
The heuristics used to solve the flexible model are the same as those discussed in
5.6.1 with the addition of a second assignment algorithm. This algorithm is called
after the initial assignment of the required number of patients. This ensures the same
number of surgery blocks is used as for the non-flexible model; however, the
deviation may be reduced even further allowing for more efficient planned use of the
theatre capacity.
The second assignment algorithm systematically looks to assign more patients to
surgery blocks that have additional unused capacity. Initially, the heuristic tries to
assign patients of the same specialty as those already in a surgery block; again in an
attempt to exploit the effects of clustering surgeries of the same surgical duration
variance together. If the deviation of the surgery block can be reduced, then the
assignment is accepted. Following this, the algorithm searches for any assignment
regardless of specialty to reduce the deviation.
After the second assignment is implemented, the local search heuristics are again
employed for a final attempt at reducing the deviation of the surgery blocks.
4.8 Robust schedule results
For each of the 100 examples the required number of patients for each specialty is
randomly generated. The specialties used and the distribution parameters associated
with a specialty are given in Section 4.1. The assignment and neighbourhood search
heuristics are implemented using the C# programming language in Microsoft Visual
Studio.
The number of surgery blocks required to robustly assign the patients is unknown
and the constructive and search heuristics discussed in Section 4.7 reflect this by
allowing flexibility in and minimising the number of surgery blocks actually used.
The reason for this is due to the calculations of total treatment time assigned for a set
of patients. Different combinations of patients to the time blocks will result in
105
varying amounts of total slack time required. By assigning patients of the same
specialty and therefore the same surgical duration variance, the amount of slack can
be reduced. This is due to the portfolio effect, mentioned by Hans et al. (2008).
Different constructive heuristics will produce different results for the number of time
blocks required. For each constructive heuristic, the assignment methodology aims
to minimise the number of blocks used and schedule patients of the same specialty
together. Any unused time capacity is dealt with more efficiently by the flexible
assignment model.
4.8.1 Results for the robust surgery assignment model with lognormally
distributed surgical durations
The results of the assignments are presented in Table 7. The performance measures
discussed are maximum, minimum and total time block deviation (in minutes), the
number of time blocks used to generate the schedule and the average number of
patients assigned per time block. Each surgery block has 8 hours capacity. Further
work (not discussed here) could include the analysis of changing this capacity.
Table 7. Schedule results comparing LDSD and NDSD models
Results Lognormal Results Normal Results
Maximum Deviation (mins) 47.24 42.23
Minimum Deviation (mins) 23.37 18.59
Average Total Deviation (mins) 175.75 163.93
Patients per block 6.07 5.50
Number blocks used 4.98 5.50
Total Patients 3014 3014
Number of blocks used 498 550
From the results presented in Table 7 it is evident that the average, maximum and
minimum deviation measures are actually very close between the two different
models. In fact, for the lognormal model, the average deviation values are actually
slightly higher than for the normal model. The similarity between the models
106
suggests the logistics of the heuristics used to generate solutions perform equally
well for surgical durations modelled with either the lognormal or normal distribution.
In both cases, for each individual example, the average maximum deviation is less
than one hour and the average total deviation for the surgery blocks is less than 3
hours. In the worst case, the deviation value for a single surgery block is almost 2
hours, however in the best case it is as little as 5.5 minutes. Considering each
surgery block has 8 hours capacity, in some instances these results represent a
significant amount of either over or under used capacity. One proposal for the reason
for these large deviation values, is due to the inflexibility in patient assignment and
that increasing the flexibility in patient assignment may possibly reduce these. In
many operating theatre departments, surgeons are responsible for selecting and
sequencing their own patients. The flexible assignment model, that incorporates the
surgeon’s requirements with a flexible approach to selecting patients from a waiting
list, addresses this issue.
Taking these deviation results alone, one might think that the normally distributed
surgical duration (NDSD) models perform better than the lognormally distributed
surgical duration (LDSD) models but this is not the case. By looking at the
schedules individually, the deviation can be analysed a little closer. Because
deviation considers both earliness and tardiness, deviation values do not indicate
whether the surgery blocks are over or under used. It turns out that for the LDSD
and NDSD models the proportion of tardy blocks planned is 7.03% and 22.73%
respectively. While both models plan more underused surgery blocks than tardy,
there is a substantial difference between the two models. In addition, when the
NDSD model produces schedules with lower deviation values than the LDSD model,
98% of the time the NDSD model uses not only more blocks, but more tardy blocks,
than the LDSD model to assign the same number of patients.
Although the two models produced very similar ‘deviation value’ results, the other
performance measures illustrate why the robust model using surgery durations drawn
from a lognormal distribution is a better choice than the normal distribution. Before
explaining the details of these results, it is necessary to note the difference between
average patients per block and the total number of patients divided by total number
of blocks given in Table 7. Computing the averages for each example and then
107
taking the mean of these determines the former of these two values. There is
therefore a slight difference between these values.
The average number of patients per time block is greater for the LDSD model
compared with the NDSD model. This means the amount of time assigned per
patient is greater for the NDSD model than the LDSD model. This is due to the
shape of the fitted distribution curves. The modes of the fitted lognormal probability
density functions are further to the left than the modes of the associated normal
curves. Essentially, this results in the LDSD model requiring less time for a patient
than the NDSD model. As a consequence, the average and total number of surgery
blocks used for the same schedules is less for the LDSD model. The NDSD model
requires 550 surgery blocks for the total 3014 patients scheduled while LDSD only
uses 498. This is a significant saving in surgery time and in quantitative terms, if the
52 surgery blocks were filled, this could represent an additional 315 patients (based
on average patient per block figures).
To summarise, both the LDSD and NDSD models create robust schedules with the
expectation that the number of patients to complete surgery within their allocated
time is around 85%. However, the LDSD model requires fewer surgery blocks to
achieve this. In Section 4.1, it was shown that the lognormal distribution is a better
choice for modelling surgical durations than the normal distribution. As a result, the
proposed method of robust patient assignment under the assumption of lognormally
distributed surgical durations is more efficient and more suitable than approximating
with a normal distribution.
In addition to comparing the LDSD model with the NDSD model, the actual
performance of the models was tested using simulation. For a sample of the
schedules, surgery durations were randomly generated from the estimated lognormal
distributions. For each surgery block, the total simulated treatment time of the
patients was compared with the amount of time assigned to the patients. The results
from this simulation are presented in Table 8. The first thing to note from these
results is that both models produce satisfactory results as they achieve an average
proportion of overtime that is less than the desired level of 15.87%. Secondly, it is
evident from the results that a schedule with a lower proportion of overtime,
108
produces higher idle time. This would be expected, as the schedule with more
‘robustness’ or buffer would expect fewer overrun surgeries, but at the expense of
unused capacity.
Comparing the models, one may see that the normal model produces less overtime
than the lognormal model, but a much higher percentage of unused capacity. This is
due to the difference in shape of the distributions and illustrates why it is important
to use an appropriate statistical distribution for modelling surgical durations.
Although both distributions may be used for the robust technique, the lognormal
distribution uses a more efficient amount of time to assign to the patients and
achieves better results.
Table 8. Simulation results comparing robust assignment models
MODELS Number of times simulated schedules
exceed assigned time (%)
Difference between simulated time and
assigned time expressed as idle time (%)
Non-flexible Lognormal 14.89 % 37.94 % Non-flexible Normal 11.54 % 42.32 %
Following the comparison of the LDSD and NDSD models, analytic hierarchy
process (AHP) was used to determine the 10 best assignments from the 100 examples
for the Ophthalmology patients. AHP is a technique used to assist with the decision
making process when there are multiple objectives affecting the decision (Winston,
2004). It provides a method for quantifying decisions particularly when the units of
measurement are very different. For example, for the assignment models, the highest
proportion of patients per block, the lowest maximum deviation value and the lowest
total deviation value were used as objectives for choosing the best schedules. The
proportion of patients per block and the deviation values have different units and
therefore it is difficult to compare these as they are. By using AHP, the decision
maker can choose between the different schedules and these chosen assignments
could be used to simplify patient assignment according to the scheduler’s
requirements.
109
The first step of AHP is to determine the weight or priority of each objective, from a
pairwise comparison matrix. A comparison matrix is derived where the entry in row
i and column j (aij) indicates how much more important objective i is than objective j.
Using the comparison matrix, the weight given to an objective can be determined.
For example, entry a13 = 3, indicates that objective 1 is weakly more important than
objective 3. Therefore a13 = w1/w3 = 3. Four alternative comparison matrices were
developed and an example is given in Table 9. The first of these ranks patients per
block slightly higher than maximum deviation and total deviation (which in turn are
ranked equal). The second ranks all objectives equally. The third ranks patients per
block strongly more important than maximum and total deviation and maximum
deviation is ranked slightly higher than total deviation. The fourth ranks maximum
deviation slightly higher than both patients per block and total deviation. Variations
on these priorities may also be tested but will not be discussed here. The resultant
weights based on the comparison matrices are given in Table 10.
Table 9. Example comparison matrix for alternative objectives.
Comparison Matrix Patients/Block Maximum Deviation Total Deviation
Patients/Block 1 3 3
Maximum Deviation 1/3 1 1
Total Deviation 1/3 1 1
Table 10. AHP Objective weights for alternative priorities
Objective weight
a b c d
Patients/block 0.6 0.3 0.7938 0.2
Maximum deviation 0.2 0.3 0.1394 0.6
Total deviation 0.2 0.3 0.0667 0.2
110
The next step in AHP was to compute the scores on each objective for the different
assignments. These scores are computed by generating pair wise comparison
matrices comparing each schedule for each of the objectives. Thus, a 100x100
comparison matrix is computed for each of the three objectives. The ratios of
patients per block comparing two schedules were used to generate the first pair wise
comparison matrix, where the entry in row i and column j (aij) indicates how much
better schedule i is than schedule j. For example, the number of patients per block
for schedules 1 and 2 were 6.80 and 6.40 respectively. Therefore entry
06251406
80612 .
.
.a == . For both of the deviation objectives, the inverse relationship
was used because the minimum values were required. For example, the maximum
deviation for schedules 1 and 2 were 36.35 minutes and 58.57 minutes respectively.
Therefore, pair wise comparison matrix entry 611315758
3536112 .
.
./a == means that
schedule 1 is slightly better than schedule 2 for minimising the maximum deviation.
From the three pair wise comparison matrices, the scores on each objective, for each
of the schedules were computed. To determine the overall score for each schedule,
take the sum of the scores for each objective multiplied by the objective’s weight.
The schedule with the highest overall score is chosen.
Based on the results of AHP, the first 5 schedules chosen for all four alternative
priorities are the same (with slight variations in their order). The 10 best schedules
for each of various weights, are presented in Table 11. The two best schedules are
clearly schedules 90 and 85 for all instances. Schedules 51, 92 and 49 round out the
top five, albeit not necessarily in that order.
111
Table 11. AHP Results for alternative priorities
Priority a b c d
Rank Schedule number
1 90 90 90 90
2 85 85 85 85
3 49 49 51 51
4 51 51 49 92
5 92 92 92 49
6 42 42 42 13
7 76 76 72 42
8 13 13 13 76
9 72 72 18 17
10 17 17 10 72
Table 12. Schedule details for top 5 AHP selected schedules
Schedule Number 90 85 51 92 49
Number of Specialty 1 4 7 1 7 2
Number of Specialty 2 4 9 5 1 4
Number of Specialty 3 0 3 7 4 5
Number of Specialty 4 5 8 8 4 3
Number of Specialty 5 5 5 5 2 1
Number of Specialty 6 5 7 3 7 6
Patients per block 5.75 6.50 7.25 6.25 7.00
Maximum Deviation (mins) 5.32 6.37 8.68 9.65 11.75
Total Deviation (mins) 8.89 19.39 26.04 23.32 18.52
Table 12 indicates the number of patients of each type of specialty that were assigned
and the performance measures for the top 5 schedules (out of 100, as determined by
AHP). A scheduler may use this information to determine surgery assignments for
the same mix of specialties. For example, schedule 90, which was determined as the
best of the 100 schedules, assigns 4, 4, 0, 5, 5 and 5 patients from specialties 1 – 6
respectively. The total number of surgery blocks used for this schedule is 23/5.75 =
4. The maximum deviation of the 4 surgery blocks is 5.32 minutes and total
112
deviation is 8.89 minutes. This would be useful for the real life for saving time on
generating schedules and the approach could be used for other mixes of specialties.
One potential flaw would notably be specific specialties receiving preference (or no
preference at all) if a particular assignment is regularly used. For example, schedule
90 assigns no patients of specialty type 3. This schedule could not possibly be used
when specialty 3 patients are required. By using a variety of schedules, however,
this obstacle could be overcome.
4.8.2 Results for the flexible robust surgery assignment model with
lognormally distributed surgical durations
The same 100 examples were used to examine the difference between performances
of the constructive heuristics when assignment of patients is flexible. After the
initial assignment and search heuristics assign the fixed number of patients to the
surgery blocks, the second assignment heuristic is implemented, followed again by
local search heuristics. The effect of this is to fill any unused capacity in the surgery
blocks, with additional patients. The effects on the performance measures are
presented in Table 13.
The first thing to note for the flexible results is the same number of surgery blocks
are used as with the fixed case, however the unused time from the non-flexible case
may now be filled with additional patients using the flexible model. All performance
measures are improved for the flexible case illustrating the benefit of allowing
flexibility in patient assignment. The average maximum, minimum and total
deviations were reduced 24.9 minutes, 17.48 minutes and 109.2 minutes respectively.
As a result in the improvement in planned use of the surgery blocks, an additional
407 patients are assigned across the 498 surgery blocks!
In addition to examining the theoretical differences, simulation was used to examine
the performance of the flexible model compared with the fixed model. Although the
flexible model produced a vast reduction in idle time, there was a significant increase
in the proportion of simulated schedules that used more time than was assigned. This
proportion of schedules using more time than assigned exceeded the desired level of
15.87%. This cannot be explained by the schedule differences because the simulated
113
time is compared against the assigned time, not the capacity. This means that
differences in these proportions are most likely due to the nature of simulation and
variability in treatment times.
Table 13. Comparison of fixed and flexible assignment methods
Results Fixed Flexible Maximum deviation
(mins) 47.24 22.34
Minimum deviation (mins)
23.37 5.89
Total deviation (mins) 175.75 66.55
Average
Patients per block 6.07 6.88 Number blocks used 498 498 Total
Patients 3014 3421 Number of times
simulated schedules exceed assigned time
14.89% 23.40%
Simulation results Difference between
simulated time and assigned time expressed
as idle time
37.94% 19.87%
Striking an appropriate balance between overtime and theatre idleness would require
further investigation with respect to cost analysis contrasting the cost of overtime and
unused capacity and the profit earned for various types of surgeries. Overall, the
results of Table 13 suggest that the flexible model produces vast theoretical
improvements over the fixed model, however, the simulation showed that this may
be at the expense of an increase in the number of overrun theatres. The usefulness
would then depend on the desirability of overtime against underused capacity.
After establishing the effects of using a flexible assignment approach for robust
scheduling, alternative constructive heuristics were used to sort the patients and
determine the order in which they are assigned to the surgery blocks. The effect of
sequencing patients by the variance of the expected treatment time is examined next
and compared with common approaches, SPT and LPT, which are based on expected
treatment time. The results are presented in Table 14.
114
Table 14. Comparison of constructive heuristics
Results HVF LVF SPT LPTAverage maximum deviation (mins) 22.34 18.76 15.44 23.41Average patients per block 6.88 6.90 7.16 6.80Average total deviation (mins) 66.55 54.62 39.73 76.88Total patients assigned 3421 3390 3549 3364Total blocks used 498 493 496 495
The constructive heuristics are compared for average maximum and total deviation,
average patients assigned per block and the total number of patients assigned and the
total number of blocks used. The first step in the solution procedure is to assign the
fixed number of patients to the surgery blocks. To assign the fixed number of
patients, lowest variance first (LVF) uses the fewest number of surgery blocks,
followed by LPT then SPT, whilst highest variance first (HVF) uses the most. After
assigning the fixed number of patients, the remaining theatre capacity is filled by
implementing the secondary assignment algorithm.
By filling in the remaining capacity, SPT goes from the schedule with the lowest
ratio of patients per block to the schedule with the highest. Because SPT used the
most surgery blocks in the original assignment, it had the highest amount of unused
capacity and therefore has the highest potential for adding additional patients. On
top of this, because patients with the lowest treatment time are assigned first, this
means that more patients can be assigned than with any other constructive heuristic.
This can perhaps be explained better numerically. Suppose there are two patients
that require 30 minutes each and a single patient with a 1 hour treatment time. If 1
hour of additional capacity needs to be filled, this could be filled with the two shorter
duration patients using the SPT rule, or the single patient using the LPT rule. Further
evidence to support this suggested finding comes from the LPT results that show it
produces the lowest ratio of patients per block.
While not performing quite as well as SPT, LVF also performed notably well
compared with HVF and LPT. It produced the second lowest deviation scores and
also the second highest ratio of patients per block. It is also noted, that for the fixed
patient assignment, it used the fewest number of surgery blocks, so when patient
numbers are fixed, LVF is perhaps the best constructive heuristic to use. Due to
115
these results, further exploration was done as to whether a hybrid heuristic using the
SPT logic to fill remaining capacity in the LVF schedule, would improve the
schedule results.
Table 15. LVF results when SPT logic is used to assign additional patients
The results presented in Table 15 for the hybrid heuristic indicate that the average
maximum deviation value may be reduced by over 3 minutes to perform as well as
the SPT alone heuristic and an additional 76 patients are scheduled across the 493
surgery blocks. As a result of this increase, there is an increase in the average
number of patients per block. The average total deviation is also reduced by over 10
minutes. These results indeed suggest that the hybrid heuristic using SPT to assign
additional patients could increase the efficiency of the LVF schedule. There is very
little difference between the SPT and SPT-LVF hybrid heuristic performance
measures. The only measure that really differentiates these two is the number of
surgery blocks used. Because LVF uses fewer blocks to assign the fixed number of
patients than SPT, the SPT-LVF hybrid heuristic uses fewer blocks overall.
4.9 Conclusions
The lognormal distribution was shown to be a better choice over the normal
distribution for modeling surgery durations when planning the elective surgery
schedule. When assigning the patients to the surgery blocks, the variance of
expected surgery duration was addressed using a robust assignment approach. The
proposed method of modelling surgery durations with the lognormal distribution was
compared with using the normal distribution. Surgery block deviation was also
introduced and used as a measure of surgical block utilization that incorporates both
earliness and tardiness.
Results LVF original LVF plus SPTAverage maximum deviation (mins) 18.76 15.52Average minimum deviation (mins) 4.93 3.34Average total deviation (mins) 54.62 41.04Average patients per block 6.90 7.06Total patients assigned 3390 3466
116
Results showed that while it was possible with either model to assign patients to the
surgery blocks using the proposed heuristics to minimise the maximum deviation, the
case with lognormally distributed surgical durations required fewer surgery blocks to
achieve this. In the long term, using fewer surgery blocks to assign the same number
of patients would be mean more surgeries could be planned in a year just by
choosing an appropriate statistical distribution to model surgical durations. As a
result, the proposed method of robust patient assignment under the assumption of
surgical durations modelled with the lognormal distribution is more efficient and
more suitable than approximating with a normal distribution.
The NDSD and LDSD models were further compared using simulation, which
showed that both models resulted in overtime below the desired proportion. The
NDSD model however, resulted in a higher level of theatre idle time due to the
differences in shape to the distributions.
One of the limitations of the robust scheduling model is the assumption that a
lognormal distribution may be used to approximate the sum of independent but not
necessarily identical lognormal random variables. This assumption is made to
simplify the calculation of treatment time for the surgeries assigned to a surgical
block. Future work could include investigating the use of a more accurate
distribution for approximating this sum.
Analytic hierarchy process (AHP) was used to select the best 10 schedules from the
100 results based on the number of patients assigned per block, maximum deviation
and total deviation performance measures. Variations in preference for the three
objectives resulted in the same selection of schedules. These chosen schedules could
be used to simplify patient assignment according to the scheduler’s requirements.
Rather than running the robust scheduling model every time a schedule is created a
combination of the selected schedules could be used.
The findings of the fixed robust assignment models also demonstrated the possibility
for improvements in deviation value by increasing the flexibility of the model by
allowing for the assignment of more patients to the surgery blocks in addition to the
117
fixed number of patients. This was supported by the results of the flexible
assignment model. All measures of performance were improved when patient
assignment was not fixed. This demonstrated the potential improvements in the
number of patients that can be scheduled as well as the reductions in deviation
between planned and available time that could be made if such an assignment model
was used for the real-life setting.
Contrasting the fixed and flexible models using simulation showed that the flexible
model now produced a higher proportion of overtime (above the desired level) but a
vastly reduced amount of theatre idleness.
When the constructive heuristics were initially compared, SPT was the best
constructive heuristic followed by LVF. When compared for the number of patients
assigned per block and total and maximum deviation it performed better than all
other constructive heuristics. It was also noted that SPT could possibly be used for
the second assignment algorithm regardless of which constructive heuristic was
originally applied for the initial assignment. The reasoning behind this was to assign
the shorter surgeries to fill the remaining theatre capacity, to increase the number of
patients assigned per surgery block. This idea was applied to the LVF schedule, as it
was the best constructive heuristic for the fixed number of patients, creating an SPT-
LVF hybrid heuristic. The hybrid heuristic greatly improved the results of the LVF
schedule that matched the results of the SPT schedules. These results supported the
idea of using SPT to assign additional patients to increase the efficiency of the
constructive heuristics.
118
Chapter 5. Reactive Scheduling
Robust scheduling was used in the previous chapter to assign patients to the surgery
blocks, generating offline schedules that take into consideration the variability of
patient treatment time. The motivation behind robust schedules is to reduce the
effect of disruptions during implementation in the real life. However, offline models
do not indicate how to deal with disruptions that cannot be handled by a robust
schedule alone. For example, decisions must be made regarding the arrival of
emergency patients that are not in the original schedule.
In the manufacturing scheduling environment, disruptions result in an interruption of
the job being processed by the machine. Usually these occur due to machine
breakdowns or job preemptions, where a higher priority job must be processed. In
the operating theatre, we address job disruptions that necessitate the adjustment of
the original schedule. Two types of disruptions are defined; a theatre (machine)
disruption and patient (job) disruption. Theatre disruptions occur when a theatre
becomes unavailable for some period of time. Examples include equipment failure
or staff shortage/unavailability or the arrival of a high priority emergency patient that
requires the use of an elective theatre. This type of disruption results in the patients
that were initially scheduled for that theatre (and have not yet been treated) to be
delayed and the schedule must be updated to take into account such changes. Patient
disruptions on the other hand occur when treatment times are less than or greater
than the assigned surgery time. If surgery duration is shorter than expected, this
generally means the schedule can be moved forwards without much alteration. Also,
there may be time left at the end of the schedule for adding on emergency cases, or
the additional time may be spent on a patient that exceeds its expected duration. If
patients exceed their expected duration however, this can cause delays in surgery
start time for remaining patients or may even necessitate cancellation of remaining
surgeries to prevent overtime of the theatre.
Two reactive modelling approaches are described. The first model developed
addresses patient assignment but does not consider patient sequence. This model is
formulated similar to the robust scheduling models, and uses a post disruptive
119
management policy, (discussed in Section 2.7) combined with a repair of the existing
schedule. The objective is to minimise the cancellations of electives and maximise
the number of emergency patients added to the schedule. This is achieved by
keeping track of the immediately preceding schedule, before the completion of an
operation. The second reactive scheduling model considers both assignment and
sequencing and also uses a post disruptive management policy. The model is
formulated as a single machine scheduling problem and a full rescheduling approach
is used. Two approaches to modelling surgical durations are discussed. The first
method assumes surgical durations are based on the expected value (from the
appropriate lognormal distribution), whereas the second uses the robust approach,
and assigns a buffer with each patient.
5.1 The robust reactive assignment model
For the reactive assignment model, the number of patients assigned to a single
theatre in the online environment is considered. At each surgery completion, the
reactive model is resolved taking into account any online disruptions that may have
occurred, including any emergency patients that need to be added to the schedule.
Although the model does not directly take into account machine disruptions, they can
be handled indirectly using patient disruptions. For example, say the first patient is
delayed half an hour due to a late start, then the half hour is incorporated into its
treatment time.
Schedules determined in the offline environment using the flexible assignment
model, (results presented in Section 4.8.2) are used as baseline schedules for testing
the reactive assignment model. Changes to the offline schedule during project
implementation are minimised using an online scheduling model that operates in
real-time. The model aims to minimise cancellations of pre-scheduled elective
patients whilst also allowing for additional scheduling of emergency cases, (time
permitting), which may arise during the schedule’s implementation. Surgical
durations are modelled with a lognormal distribution and the single theatre case is
solved.
120
The robust reactive assignment model (RRAM) is implemented at the completion of
each patient’s surgery, which may or may not differ from the expected completion
time. Patient priorities are taken into account allowing for pre-emption by an
emergency patient when necessary. This model is similar to the robust assignment
model in that patients are grouped by specialty. However, as the model is developed
for a single operating theatre, one should note the change in indices. In addition,
patient priorities and type (elective or emergency) are now included in the model.
The model
Indices
: Specialties considered within a surgical category, {1,.., }i i I∈
: Priority, {1,.., }j j J∈
: Type of patient (elective or emergency) , {1,.., }k k K∈
Parameters
idi specialty ofduration surgical Expected :
2 : Expected surgical duration variance of specialty is i
iii specialty for parameterson distributi Lognormal:,σµ
kjC jk type,priority ofbenefit Cost / :
Decision Variables
: The sum of the expected surgical durations assignedM
: The variance of the sum of the expected surgical durations V
121
: Time remaining in the theatreT
: The number of available patients of specialty priority and type
E i, j kijk
: The number of initially assigned patients of specialty priority and type
X i, j kijk
' : The number of assigned patients of specialty priority and type following
the reschedule.
X i, j kijk
Objective function
The objective of the reactive schedule is to minimise the costs of the new schedule.
These costs include the cost of cancelling a patient, the profit (or negative cost)
earned for adding a patient and a penalty for deviating from the original schedule.
The penalty incurred for cancelling a patient (or profit earned for adding one)
depends on their priority level j and type k. This is represented by ( )'jk ijk ijkC X X− .
If ( )'ijk ijkX X− is positive, then at least one patient has been cancelled and a penalty,
jkC is incurred for each cancellation. If ( )'ijk ijkX X− is negative, then at least one
patient of specialty i, priority j and type k has been added to the schedule and a profit
jkC per patient is subtracted from the objective function. The second aspect of the
objective function, 'ijk ijkX X− , prevents the addition of patients at the expense of
cancelling another. For example, one patient with penalty of 10 units could be
cancelled and replaced with two patients, each with a profit of 5 units. In practice,
this would generally be considered both impractical and destructive to the efficiency
of the schedule.
( )' '
1 1 1
I J K
jk ijk ijk ijk ijki j k
C X X X X= = =
− + −∑ ∑ ∑ (5-1)
Constraints and equations
122
The number of patients assigned in the new schedule cannot exceed the number
available. This allows for a cancelled elective patient to be re-assigned at a later
event.
' , , ,ijk ijkX E i j k≤ ∀ (5-2)
For model simplification surgical duration mean and variance of mean estimates are
assumed independent of priority level j and whether the patient is an emergency or
elective.
2
2i
ii ed
σµ +
= (5-3)
2222 1 iiii ees
σµσ +
−= (5-4)
The sum of the expected durations and the variance of the patients assigned to the
theatre are given respectively by
∑
∑ ∑=
= = =
I
i
iiJ
j
K
kijk eeXM
1
2
1 1
' σµ (5-5)
∑
−
∑ ∑=
=
+
= =
I
i
iiiJ
j
K
kijk eeXV
1
222
1 1
' 1σµσ
(5-6)
The amount of time that is planned for the patients assigned to the theatre depends on
the level of accuracy desired by the decision maker. The level of accuracy used for
the model is 15.87%, i.e. the probability that surgeries run overtime is less than
15.87%. Equation 5-7 ensures the time available in the theatre is sufficient to
complete all the assigned surgeries, based on this level of accuracy.
123
+
+≥
2
2
ln
2
2 M
MV
eMV
MT (5-7)
For a detailed explanation on the calculation of Equation 5-7, refer to Section 4.3.
Finally, the number of patients assigned to each theatre is a positive integer
' , , , ijkX Z i j k+∈ ∀ (5-8)
5.1.1 Solution approach and results
The RRAM is a combinatorial optimisation problem and is a variation of a bounded
knapsack problem in which the patients are the objects to be assigned to a theatre
(knapsack) with limited capacity. The number of patients that can be assigned of a
particular specialty, priority and type is bounded by variable, ijkE . Each patient takes
up a portion of the limited capacity and has a benefit, jkC associated with its
assignment. However, in this case, the amount of time assigned for a given patient
specialty is not fixed, but depends on the existing assignment of patients.
The generalised bounded knapsack problem maximises the benefit associated with
assigning the packed items. In our model, this is analogous to minimising
'
1 1 1
I J K
jk ijki j k
C X= = =
−∑ ∑ ∑
. In order to minimise the costs of our objective, one must also
solve the bounded knapsack problem, however, we have the added consideration of
minimising changes from the original assignment of patients. Therefore our problem
is just as computationally difficult as the bounded knapsack problem.
Knapsack problems have received much attention in the literature and are known to
be NP hard in the ordinary sense and may be solved in pseudo-polynomial time. An
algorithm that runs in pseudo-polynomial time has a running time that is polynomial
in the numeric value of the input. Thus, as the number of patients increases, so does
124
the computation time. However, in the case of the single operating theatre, the
number of patients is relatively small and therefore can be solved without the use of
metaheuristics.
Various exact solution methods exist including dynamic programming, branch and
bound and exhaustive methods. Dynamic programming requires the problem to be
broken up into stages that can individually be solved. Due to the robust calculations
of treatment time, dynamic programming cannot be applied to the RRAM. Branch
and bound, commercial software or an enumerative approach could be used for the
RRAM. The benefit of an enumerative algorithm over commercial software and
branch and bound, is that the code can easily be adapted to incorporate other
requirements of the scheduler, if they are deemed necessary. For example, if an
elective is cancelled relatively towards the beginning of a schedule, then the user
may opt not to fill in the remaining capacity with available emergencies at that point
in time. It may be better to wait until further surgeries are completed, because if they
complete early, this may allow the cancelled elective to be re-scheduled. If however
an emergency patient were allowed to take up the available capacity early on, there
would be no room for the cancelled elective. For this reason, an enumerative
algorithm is proposed (coding is provided in Appendix D) and implemented using
Visual Basic.
Implementing the model in Visual Basic has the additional benefit of a user-friendly
interface, designed for use within the practical setting. The model is run after the
completion of each operation. The user is prompted for information on the duration
of the completed surgery, the type of surgery (elective or emergency), and the
specialty and priority of the patient treated. In addition, information on emergency
patient arrivals can be added at any time.
The enumerative algorithm (detailed below) is used to search for the best schedule
based on the information supplied. The objective is to minimise changes from the
original schedule whilst also searching for the schedule that produces the best
objective value. This is important because it is not practical from a resource
viewpoint to make large changes to the original schedule. The algorithm fills any
available capacity with emergency patients where possible. Therefore at this stage,
125
the idea of postponing the assignment of an emergency because of the possibility of
reassigning an elective is not considered.
Reactive assignment algorithm
1. Remove the completed patient from the current schedule.
2. If the total amount of time used by the completed patients does not exceed the
total capacity
Go to step 3.
Else
End.
3. If the amount of time required for the remaining patients in the schedule exceeds
the total remaining capacity
Go to step 4.
Else
Go to step 5.
4. Do while the amount of time required for the patients in the schedule exceeds the
total remaining capacity
Remove the patient from the schedule that minimises the penalty imposed on
the objective function.
Loop.
Go to Step 5.
5. Do while the amount of time required for the patients in the schedule is less than
the total remaining capacity
Add the patient from the unscheduled list of available patients, to the
schedule that maximises the improvement in the objective function, whilst
satisfying capacity constraints. If no such patient exists, Exit loop.
Loop.
End.
Results of the robust assignment model developed in Section 4.7.2 were used for
testing the RRAM. Specifically, the flexible assignments generated using the
hybridized constructive heuristic LVF-SPT were used. Surgical durations of the
patients are assumed to be from a lognormal distribution (determined by analysis of
historical data discussed in Section 4.1). These were randomly generated and
126
entered into the RRAM. For each example, the model assumes a single patient of
each type of emergency patient is available. In the real life case however, obviously
only the available emergency patients would be entered.
The results of 100 test cases are given in Table 16. The performance measures
presented are the number of elective patients originally scheduled that were
cancelled, the number of emergency cases performed, the number of electives
cancelled but later re-scheduled and the number of emergencies added to the
schedule that had to later be cancelled.
Table 16. Results of reactive schedules
Results indicate that across the 100 examples there were a total of 126 elective
cancellations and the RRAM was able to re-schedule 71 electives. The ability to re-
schedule patients, when an already completed patient uses less time than it was
allocated, illustrates the benefit of the robustness built into the model. In addition, by
allowing a calculated amount of extra time for each surgery based on a percentage
determined by the decision maker, the number of cancellations is kept low and
allows for additional emergency patients to be seen. In this case, the model saw 178
additional emergencies performed across the 100 test cases. This ability to schedule
additional patients ensures theatre capacity is used efficiently rather than being left
unused. In 34 cases, emergency cases that had been tentatively scheduled later had
to be cancelled due to lack of time. Allowing for their cancellation also helps to
maintain the efficiency of the theatre utilisation by preventing overruns. For the 100
test cases, only 16% resulted in over-run theatres.
The objective of the model is to minimise the costs of the new schedule by
minimising the number of elective cancellations and maximise the number of
electives that may be added to the schedule. Because the model is re-run after each
Results TOTALNumber Electives Initially Assigned 741Total Patients Completed 793Number Emergencies Completed 178Number Electives Cancelled 126Re-scheduled Electives 71Cancelled Emergencies 34
127
patient’s completion it does not keep track of the preceding objective function
values. The resulting schedule may be different if the objective function values were
carried through for each schedule. For example, the number of elective cancellations
may possibly be reduced with an accompanied decrease in emergencies added to the
schedule.
Other changes to the schedule results could be induced by changes in the scheduler’s
objectives. For example, as mentioned earlier in the chapter, if an elective is
cancelled relatively towards the beginning of a schedule, then the user may opt not to
fill in the remaining capacity with available emergencies at that point in time and
wait until later in the schedule.
In addition to measuring performance indicators, changes in the schedule may be
presented in Gantt charts. Figure 26 illustrates the Gantt chart for one of the
schedules. One might notice in the Gantt chart the variation in treatment times
assigned for patients from one rescheduling step to the next. This is due to the buffer
used for calculating the amount of time that is assigned to the patients in a list. The
way in which individual treatment times are calculated, is as follows. For a schedule
with 8 patients, the total treatment time including the buffer is calculated (let this
time be P8). To calculate the time for the first patient, the total treatment time for the
other 7 patients is calculated (let this time be P7), and subtracted from the time for
the 8 patients (i.e P8 – P7). Overtime, the amount of time assigned to each patient
will reduce.
128
Patient12345678912345679
102345679
10345679
1045679
105679
10679
1079
109
10
10 Final RunTime (mins)
Eighth Run
446236 291 332 4080 75 120 149 189
Initial schedule
First Run
Second Run
480
Third Run
Fourth Run
Fifth Run
Sixth Run
Seventh Run
Figure 26. Gantt Chart illustrating results for one schedule
In the initial schedule, 9 elective patients are assigned to the theatre, each of which is
illustrated with a different colour. After each surgery is completed, the RRAM is
run and an updated schedule is generated. Following the late completion of the first
patient (in yellow), the RRAM shifts the original schedule to the right and post-pones
one elective patient (patient 8, in green) and fills the remaining capacity with an
emergency patient (patient 10, in orange). The next seven procedures (patients 2 – 7
and 9) finish either early or on time. No more emergency patients are added to the
schedule and patient 8 is not re-scheduled. After each of these procedures, the
RRAM is implemented and there is either a ‘left’ shift in the schedule (for an early
completion) or the schedule is unchanged (for on-time completions). The final
patient (patient 10, in orange) requires an additional 5 minutes of surgery time. It is
evident from the Gantt chart that this particular schedule completes ‘on-time’
meaning that it does not exceed the capacity of 480 minutes.
129
This Gantt chart highlights an important flaw with the robust assignment model.
Early on in the simulation, the elective patient in position eight is cancelled and an
emergency patient is added to fill the remaining capacity. The subsequent elective
procedures complete either early or on time, and the elective that was cancelled
could have been re-instated if the emergency patient were not added. This issue, and
the issue of patient sequencing, will be addressed with the bi-criteria reactive
scheduling model. In addition, only 5 minutes of overtime are used to schedule the
emergency patient. This model does not make decisions regarding whether to
schedule a patient that is predicted to be late, particularly towards the end of the
schedule. For example, in the case of the example illustrated, it may have been
possible to complete the elective patient that was cancelled. These decisions require
cost analysis comparing the benefit of performing a surgery against the cost of
overtime, and is left for future research.
5.2 The bi-criteria reactive scheduling models
The RRAM only considers the assignment of patients to the theatre, however does
not consider sequence of the patients. The reactive scheduling model applies single
machine scheduling techniques to the assignment and sequencing of patients in the
online environment. The weighted number of expected tardy jobs (patients
scheduled to complete outside theatre capacity) is minimised and the maximum
tardiness of the late jobs is minimised as a secondary constraint. Jobs have a
common due date and the expected treatment time is taken from the lognormal
distribution.
There are many reasons for considering dual criteria for this problem. In many
practical settings and particularly in the operating theatre, it is important to maximise
the number of jobs that meet their deadline. In the operating theatre, a tardy job may
be cancelled, which is not only expensive but causes dissatisfaction of the patient.
Thus minimising the number of tardy jobs should be a primary concern. It is also
important however, to minimise tardiness so that in the case of extending theatre
capacity (utilising overtime), the amount of overtime is minimised. In addition, a job
that requires only 10 minutes of overtime has a higher chance of being scheduled
than one that requires more time.
130
In addition to considering patient sequence, this model has improvements over the
first in a practical way. In many situations, although a disruptive event may occur, it
may not be necessary to do a full reschedule of tasks. For example, if a procedure
completes earlier than expected, then the remaining schedule can be left shifted’; i.e.
bringing the starting times forward in time, without any change in the sequence.
Several levels of disruptions are defined, following an event;
1. The original schedule, (or the left or right shifted schedule), is no longer
optimal or feasible. A full reschedule is required that satisfies a new set of
constraints.
2. The original schedule, (or the left or right shifted schedule), is no longer
optimal but is still feasible.
3. The original schedule, (or the left or right shifted schedule), is still optimal and
feasible.
The level of effect on the original schedule will affect the approach used to
‘reschedule’. Following a disruptive event, two steps must be followed; i) check for
feasibility; and 2) check for optimality. The first step is simple because this checks
whether the current schedule completes within the allocated time (available
capacity). The check for optimality is a more difficult step because we now may
have additional jobs (emergencies) to consider.
Because of the nature of the operating theatre scheduling problem it is not straight
forward to determine whether the schedule remains optimal. Not only do we have a
NP hard problem and additional patients to consider, but treatment times are
modelled with a lognormal distribution and buffers are calculated around the
treatment times. In fact, the problem would need to be resolved and the existing
solution would need to be compared with the optimal solution.
5.2.1 The models
For this problem, jobs have a common due date (the remaining theatre capacity) and
the expected treatment time is taken from the lognormal distribution. Two versions
131
of the problem will be considered that are analogous to a knapsack problem. The
theatre’s available operating time is the knapsack of given capacity and the patients
are the items to be loaded into the knapsack. Each patient has a priority represented
as a weight and the weighted number of tardy patients must be minimised, to ensure
the highest priority patients are scheduled on time. Patients that are tardy may or
may not be processed. This decision is made in the online environment by the
scheduler depending on many subjective factors including maximum overtime
allowance and expected duration of the procedure.
The results from the robust assignment models are used as baseline schedules for the
reactive models. The reactive model is used to sequence the initial assignment of
patients. As patients are treated in the online environment, emergency patients may
arrive. At the completion of each procedure, the remaining elective and new
emergency arrivals must be re-scheduled. Figure 27 illustrates this process.
This model differs from the robust and reactive assignment models in its formulation
and notations. Patients are no longer grouped by specialty, but are considered
individually. The priority of the patient is not included as an index, but is indicated
by a penalty. The decision variables have also changed and are now binary integers.
This model is more specific in its formulation, indicating the position in the sequence
of each patient. These changes in the model structure, particularly when compared
with the robust reactive assignment model in section 5.1, will improve the ability to
implement the model in the real life.
132
Time 0
List of patients (not sequenced) assigned to theatre using robust assignment model Initial reactive scheduling model sequences patients Emergency patients arrive during processing of Job 4. Run Reactive model at completion of Job 4
Time 0
1 2 3 4 5
1 2 3 4 5
1 2 3 5 6 7
1 2 3 5 6 7
Figure 27. Process chart for reactive scheduling model
In the RRAM, essentially, the model considers the reactive assignment problem as a
knapsack, in which the patients are fitted subject to the available capacity and to
minimise changes from the original schedule. The benefit of the updated model is
that these same issues are still considered, however they are approached differently.
The new objective is related with the tardiness of the late jobs. In this way, the
model can help the decision maker with choices regarding patients at the end of a
schedule. Secondly, all patients are given a position in the sequence regardless of
whether they are expected to be tardy or not. This handles the ‘nervousness’ that
was seen with the assignment model in 5.1, where patients may be ‘cancelled’ and
rescheduled over the course of the schedule. Rather than ‘cancelling’ a patient, the
procedure is marked as ‘tardy’, letting the decision maker know which of the jobs
133
may possibly need to be rescheduled at a later time. Thirdly, the solution approach
helps to minimise the changes to the original schedule, as opposed to making it an
objective, as will be seen in 5.2.2.
5.2.1.1 Fixed treatment time model
The first case assumes expected treatment times are taken from the lognormal
distribution based on historical data analysis.
Indices
numberPatient :i
This is the list of the patients to sequence. Any new arrivals (emergencies) are added
to the end of the list.
patient of sequencein Position :j
New patients are added to the end of the sequence. The position in the sequence
does not guarantee that there is sufficient capacity for them to be operated on.
Parameters
i:di patient ofduration surgical Expected
theatrein the remainingCapacity :C
tardyif patient ofPenalty i:Pi
Decision Variables
patients all of timesprocessing theof sum The :U
134
=Otherwise 0
position toassigned patient If 1 jiX ij
tardyis position in patient theIf 0
treatedis position in patient theIf 1
=j
jZ j
j:T j position in patient of Tardiness
: Total tardiness of the patientsT
: Minimum sum of weighted tardy patientsk
Objective function
The objective of the schedule is to minimise the total tardiness of the expected late
jobs.
1
J
jj
Min T T=
= ∑ (5-9)
Constraints and equations
The objective of the model is subject to the minimisation of the weighted number of
expected tardy patients. This is given by the following constraint where
∑≤≤=
I
iiPk
10 and k is equal to the minimum of the sum of the weighted tardy
patients.
( )1 1
1I J
i ij ji j
PX Z k= =
− =∑∑ (5-10)
Each patient must have a position in the sequence regardless of whether or not it is
treated.
135
iXJ
jij ,1
1∀=∑
= (5-11)
Each position can only be filled with one patient.
jXI
iij ,1
1∀=∑
= (5-12)
The completion time of the patient in the j th position is given as
1 1
jI
im ii m
X d= =∑∑ (5-13)
And the total amount of time required for all patients in the list is given by
1 1
I J
ij ii j
X d U= =
=∑∑ (5-14)
The number of patients that can be treated depends on whether there is sufficient
capacity. If the amount of time required for the first j patients, is less than the
available capacity, then those j patients will be treated. If however there is
insufficient capacity for patient in position j + 1, then patient in position j + 1 will
not be treated. For any patient in the j th position, that is not treated (i.e. is tardy) then
jZ will be 0. This is shown mathematically with the following constraint.
1 1
(1 )jI
im i mi m
X d C U Z= =
− ≤ −∑∑ (5-15)
The above constraint ensures that when jZ = 1, the patient in the j th position is not
tardy. When jZ = 0, the left hand side of Equation 5-15 may or may not be positive.
This means that used time may or may not exceed capacity. However, due to the
constraint given by Equation 5-10, the weighted sum of tardy patients must be
136
minimised. Therefore, the model would select jZ = 1 over jZ = 0. On the other
hand, it is impossible for used time to exceed capacity with jZ = 1.
The next constraint links tardiness variable jT with variable jZ as well as calculates
jT .
1 1(1 ),
jI
j im i mi m
T X d C Z m= =
= − − ∀∑ ∑
(5-16)
When the used time exceeds capacity, 1 1
jI
im ii m
X d C= =
−∑∑ > 0 and jZ = 0. Hence
1 1
jI
j im ii m
T X d C= =
= −∑∑ . When capacity exceeds used time, 1 1
jI
im ii m
X d C= =
−∑∑ < 0, jZ =
1 and therefore 0jT = .
Finally, there are binary integer constraints on variables ijx and jz .
0 or 1, ,ijX i j= ∀ (5-17)
0 or 1, jZ j= ∀ (5-18)
5.2.1.2 Robust model
The robust case is dynamic and complicated by calculations of treatment time of the
sequenced patients. The calculations of assigned surgery time include an amount of
slack for each patient and are not simply an addition of expected duration and
variance. In addition, one cannot simply divide the amount of buffer by the number
of patients and assign to each equally. Buffers are not equally distributed like this
because of variance differences between different specialties. The following
numerical example illustrates this problem and the approach that is used to assign the
buffer (and by extension, the total amount of treatment time) to each patient.
Three patients a, b and c with lognormal distribution parameters
,0.1 =aµ 5.1=bµ and 0.2=cµ and ,1.02 =aσ 15.02 =bσ and 2.02 =cσ , must be
137
sequenced on a single theatre. If each individual patient were assigned to their own
operating theatre, the amount of time required for each could be calculated using
Equations 5-3 to 5-7. This would give 3.72, 6.60 and 11.56 time units for each
patient respectively. If the sequence a, b, c is assigned to a single operating theatre,
then 20.06 time units would be required for patients a, b and c. For patients a and b
alone, 9.74 time units would be required. These calculations may be used to
determine the amount of time for each individual patient. Patient a, would require
3.72 time units, patient b would require 9.74 – 3.72 = 6.02 time units and patient c
needs 20.06 – 9.74 = 10.32 units. This illustrates the reduction in buffer required by
assigning the patients to a single operating theatre, over 3 individual theatres, and the
reduction in treatment time for the individual patients.
By calculating assigned treatment times in this manner, a further problem is
introduced. Patient sequence also affects calculations of individual assigned time.
Using the same numerical example as above, the alternative sequence a, c, b would
yield different treatment times for the individual patients. Patient a would require
3.72 time units, 10.96 time units for patient c and 5.37 time units for patient b.
Clearly, calculating assigned time per patient using this approach is affected by
patient sequence.
A number of additions and adaptations to the parameters, variables and constraints
are used for the robust version. The objective function Equation 5-9, constraints 5-
10 to 5-12 and binary constraints 5-17 and 5-18 remain the same.
Changed parameters
2is : Expected surgical duration variance of job i
jd : Amount of time assigned to the job in position j, given the current assignment of
jobs in positions 1 to j-1.
ii ,σµ : Lognormal distribution parameters for job i
138
Changed Variables
M : The sum of the expected surgical durations of all jobs in the list.
jsM : The sum of the expected surgical durations of jobs in sequence 1 to j.
V : The sum of the variances of the expected surgical durations of all the jobs in the
list.
jsV : The sum of the variances of the expected surgical durations of jobs in sequence
1 to j.
js : The current sequence of jobs in positions 1 to j.
jt : The amount of time assigned for jobs in positions 1 to j.
Changed Constraints
Equations 5-13 to 5-16 are replaced with all of the following equations.
The expected surgical duration, id and the variance, 2is of patient i are respectively
given by
2
2i
ii ed
σµ +
= (5-19)
2222 1 iiii ees
σµσ +
−= (5-20)
Although these are the same as Equations 4.3 and 4.4 given in Chapter 4, the index i
in this case represents patient number not patient specialty. iµ and iσ are lognormal
random variable parameters for patient i, determined by analysis of historical data.
139
The sum of the expected durations and the variances of all patients in the sequence
(regardless of whether they are tardy or not) are given respectively by
2
1
in
i
i eeMσµ
∑==
(5-21)
∑
−=
=
+n
i
iii eeV1
2221
σµσ (5-22)
The total amount of time required for all patients in the list is given by
UeMV
M M
MV
=
+
+2
2ln
2
2 (5-23)
The above equation is formulated such that the probability that surgeries run
overtime is less than 15.87%, assuming x = 1 (see Section 0).
As discussed at the beginning of this chapter, the time assigned to each patient is not
equal to its expected treatment time, but includes a ‘buffer’ component. The
following four constraints are used to calculate the amount of time assigned to each
patient, which was also noted to depend on patient sequence. The sum of the means
of the jobs in sequence 1 to j is
2
1 1,
j ni i
s ijjj i
M X e e jσµ
= == ∀∑ ∑ (5-24)
The sum of the variances of the means of the jobs in sequence 1 to j is
2 22
1 11 ,
jnii i
s ijji j
V X e e jσ µ σ+
= =
= − ∀∑ ∑ (5-25)
The completion time of the jobs in the sequence 1 to j is
140
2
ln22
2,
V Msj sj
Ms sj j
j
s sj j
Mt e j
V M
+
= ∀
+
(5-26)
The amount of time assigned to the job in position j, given the current assignment of
jobs in positions 1 to j - 1 is
1, j j jd t t j−= − ∀ (5-27)
The number of patients that can be treated depends on whether there is sufficient
capacity. If the amount of time required for the first j jobs, is less than the available
capacity, then those j jobs will be treated. If however there is insufficient capacity
for job in position j + 1, then job in position j + 1 will not be treated. For any job in
the j th position, that is not treated (i.e. is tardy) then jZ will be 0. This is shown
mathematically with the following constraint.
(1 ), j jt C U Z j− ≤ − ∀ (5-28)
The next constraint links tardiness variable jT with variable jZ as well as calculates
jT .
( )( )1 , j j jT t C Z j= − − ∀ (5-29)
5.2.2 Solution approach
The problem being solved has two aspects. The first is to find the assignment of
patients that minimises the weighted number of tardy jobs. Knapsack problems
however are usually formulated as a maximisation problem, therefore this problem
can be restated as maximising the number of weighted jobs that complete on time.
141
This can be shown using Equation 5-10, where k is the sum of the number of
weighted tardy patients and Zj = 0 if patient j is tardy, 1 otherwise.
( )∑ ∑ =−= =
I
i
J
jjiji kZXP
1 11 (5-10)
Since k is the minimum sum of the number of weighted tardy patients, then the
maximum number of weighted patients that complete on time may be given by
rearranging 5-10 as follows
∑=
∑=
∑=
∑=
−=I
i
J
j
I
i
J
jijijiji kXPZXP
1 1 1 1. (5-30)
The LHS of Equation 5-30 is maximised when k is minimised and ∑=
J
jjZ
1is
maximized, i.e. as many patients are finished on time as possible.
Solving the minimum weighted tardy patients problem is therefore equivalent to a
0-1 (binary) knapsack problem, in which the total benefit of the assigned items is
maximised (in this case, the sum of the weighted tardy patients). Therefore the
solution to the maximisation problem also provides the solution to the associated
minimisation problem and vice versa.
To solve the first stage knapsack problem, the models illustrated in 5.2.1.1 and
5.2.1.2 need only a slight adjustment. The objective function of these models is
replaced with constraint 5-10. Therefore, the objective is no longer to minimise the
sum of the tardiness of the late patients, but to minimise the weighted tardy patients.
The 0-1 knapsack problem has been shown to be NP hard and may be solved in
pseudo-polynomial time using dynamic programming. Other solution approaches
include branch and bound, greedy algorithms and various approximation algorithms
(Martello & Toth, 1990).
142
The bi-criteria reactive scheduling problem is relatively small and usually involves
less than 10 surgeries to be scheduled. This problem can therefore be solved using
exact solution approaches in a reasonable amount of time. Dynamic programming
would seem a good choice for this problem, and for the initial model this is true.
However, for the robust version of the problem, stages cannot be separated because
the amount of time assigned for each additional patient depends on the surgeries
already assigned. Therefore, the key element for using dynamic programming (i.e.
separating the problem into stages) cannot be performed. For this reason, branch and
bound has been selected as the solution approach. When discussing the solution
approach for the reactive sequencing problem, attention is focused on the robust
version of the problem. The model with fixed treatment times may be solved using
the original algorithms on which our developed methods are based.
The Horowitz-Sahni (H-S) algorithm is a branch and bound algorithm for solving 0-1
knapsack problems (Martello & Toth, 1990). The Stuart-Kozan (S-K) algorithm is
developed for the robust version of the bi-criteria reactive scheduling model, based
on the idea of the H-S algorithm. In this section, proof that the S-K algorithm
provides the optimal solution is given as well as the algorithm itself.
The first element of proving optimality for the S-K algorithm lies with the ratios of
item benefit to item weight. The following theorem and proof are adapted from
Martello and Toth (1990) for the robust problem. The original proof applies to the
non-robust version.
The knapsack problem (KP), may be relaxed by removing the binary constraints on
the decision variables, ix , and replacing them with 10 ≤≤ ix , to give the linear
relaxation problem C(KP). The items are then inserted into the knapsack according
to decreasing ratio of penalty of tardiness of item i to duration of item i, if it is in the
j th position according to the current sequence 1,..,j, ik
i
d
p. (Therefore, the items that
provide the highest penalty per unit of treatment time are inserted first). The
following algorithm is used to sequence the patients.
143
Procedure SK – Sort:
The following new notations are required:
ijM : The sum of the expected surgical durations of the first j jobs if job i is in
position j.
ijV : The sum of the variances of the expected surgical durations of the first j jobs if
job i is in position j.
ijd : The treatment time of patient i in position j, given the current sequence 1 to j -
1.
( ) { }nN ,..,2,1=
( ) { }φ=js
Input: ( ) ( ) iiij p,,,n,N,s σµ
Output: ( )ijX
Begin
6. [initialise]
For i = 1 to n do
2
1ii
i eeMσµ=
222
1 1 iiii eeV
σµσ +
−=
+
+=
21
211
ln
211
21
1iM
iMiV
ii
ii e
MV
Md
End do
144
Find ( )Nqd
pq
q
q ∈
= ,max1
11 =qx
( ) ( ) { }qNN −=
( ) ( ) { }qss jj +=
1 0,iX i q= ∀ ≠
11 qdd =
11 qMM =
11 qVV =
7. [sort]
Do while nj to2=
( )Ni,eeMM iijij ∉∀+= σµ−
2
1
( )Ni,eeVV iiijij ∉∀
−+= σ+µσ
−222
1 1
( )Ni,deMV
Md
j
kk
ijM
ijMijVln
ijij
ijij ∉∀−
+= ∑
−
=
+
1
1
2
2
2
2
Find ( )Nqd
pq
q
q ∈
= ,max1
1qjX =
( ) ( ) { }qNN −=
( ) ( ) { }qss jj +=
0,ijX i q= ∀ ≠
qjj dd =
qjj MM =
qjj VV =
1+= jj
145
Loop
3. Output sequence (js ), ( )ijX , ( )jd
End.
The first step of the sorting algorithm determines the patient with the highest penalty
per unit treatment time. For each patient i, determine the duration of the patient if it
were scheduled in the first position. Calculate the ratio of penalty per unit treatment
time for each patient i if it were in position 1. The patient with the highest ratio is set
to variable q and is removed from the list of patients to schedule (N) and added to the
schedule list ( )js . For all other patients, variable 1ix is set to naught and variables
1d , 1M and 1V are determined.
The second step in the process determines the order of the remaining patients starting
from position j = 2 to n. For each patient still on list (N), its treatment time if it were
in position j is calculated. This is equal to the total time allocated to the jobs in
positions 1 to j, less the duration of jobs in positions 1 to j-1 (which have already
been determined). The maximum ratio of penalty per unit treatment time for each
patient i, given it is in position j, determines the next patient in the sequence. This
process continues until all patients are sequenced.
Using the sequence (js ), generated by the SK-Sort algorithm, the first item that does
not fit into the knapsack is called the critical item, s, i.e.
{ }min : js j t c= > (5-31)
(Where tj is the treatment time of jobs 1 to j, given by Equation 5-27)
Using the information on the critical item, the following theorem demonstrates the
optimal solution to the knapsack problem (KP).
146
Theorem III
The optimal solution X of C(KP) is
, for 1,.., 1 and 1,..,ij ijX X j s i n= = − = from SK-sort (5-32)
0, for 1,.., and 1,..,ijX j s n i n= = + = (5-33)
Find : 1 isq i X= = from SK-sort (5-34)
∑−=−
=
1
1
s
jjdcc (5-35)
cqs
s
Xd
= (5-36)
0,isX i q= ∀ ≠ (5-37)
Proof
Any optimal solution X of C(KP) must be maximal and 1
n
i ij
d X c=
=∑ . Assume that
1
1
+
+>j
j
j
j
d
p
d
p for all j and let some *X be the optimal solution of C(KP). Suppose for
some k < s that * 1kX < and so there must be some * qqX X> for at least one item
sq ≥ . Given a sufficiently small 0>ε , the value of *kX could be increased by ε
and *qX decreased by
q
k
d
dε . The objective function would thus be increased by
0>
−
q
kqk d
dppε , since
q
q
k
k
d
p
d
p> , which is a contradiction. Similarly, it can be
shown that * 0kX > for k > s is impossible. Therefore ss
cX
d= in the optimal
solution.
The second aspect of proving optimality of these algorithm lies with the branching
scheme used. From the optimal solution of C(KP), two branches or sub-problems
may be formed; one with 0qsX = the other with 1qsX = . When two new sub-
147
problems are formed by branching on any sub-problem, the left branch takes the
value 0. Also, because of the sorting of patients (jobs) in non-increasing order of
benefit per unit of treatment time, any solution to a sub-problem cannot exceed the
best solution of the branch from which it was created.
A variation of a deterministic 0-1 knapsack algorithm, called the Horowitz-Sahni
algorithm (Martello & Toth, 1990), is derived for the robust version of the problem.
The new algorithm is called the Stuart-Kozan algorithm. The robust version of the
bi-criteria reactive scheduling model is dynamic. Calculations of assigned time for
each patient depend on the number and type of patients already assigned to the
theatre. Because of this, after the assignment of each patient, the ratio of benefit to
weight (i.e. penalty to treatment time) may change. This means that after each
assignment, the sort order must be updated. The Stuart-Kozan algorithm is presented
below and the Visual Basic code is also provided in Appendix D.
The Stuart-Kozan algorithm
Assume the patients are sorted according to the SK-Sort algorithm. Patients are
therefore listed in non-increasing order of penalty per unit of expected treatment
time. According to this order, patients are numbered i = 1 to n. The initial sequence
is given by )( ks .
Procedure SK:
Input: )(),(),(,, iii vmpcn , ( )ks
Output: , ( )iz x
Begin
1. [initialise]
1
I
ii
z p=
= ∑
zz ='
01 =+np
1=i
2. [compute lower bound l]
148
find { }cdjr k >= :min
[ ][ ]
−−+∑=
−−
−
= 11
1
rr
rr
r
ikk dd
Pdcpl
If lzz −≤ ' then go to 5.
3. [perform a forward step]
While cdi ≤ do
ipzz −= ''
' 1iX =
1+= ii
loop
If ni ≤ then
0' =ix
1+= ii
End if
If ni < then go to 2.
End if
If ni = then go to 3.
End if
4. [update the best solution so far]
If zz <' then
'zz =
for nk to1= do 'kk xx =
End if
ni =
If 1' =nx then
npzz += ''
0' =nx
End if
5. [backtrack]
149
find { }1:max ' =<= kxikj
If no such j then return;
jpzz += ''
0' =jx
1+= ji
go to 2.
End.
The second aspect to the bi-criteria problem is to find the schedule that minimises
total tardiness of the tardy jobs. Using the solution to the knapsack problem, the
sequence will be determined using the SPT rule, i.e. in order of non-decreasing
treatment time. A proof of how SPT minimises the total tardiness is also given
below.
Theorem IV
SPT minimises sum of completion times, ∑=
n
jjC
1.
Proof
Take the sequence of n jobs sequenced by SPT and indexed such that ji pp < and
ji < . The completion time of any job in the sequence, k, is given by ∑==
k
iik pC
1
and nnn
jj pppnnpC +++−+=∑ −
=121
12...)1(
jn
jp)jn(∑ +−=
=11
Consider the sequence obtained by interchanging any two jobs, b and c, in the
sequence where cb pp < and cb < .
150
The SPT sequence gives the sum of completion times as
ncbn
jSPTj ppcnpbnpnnpC +++−++−++−+=∑
=...)1()1(...)1( 21
1,
By interchanging jobs b and c the sum of the completion times is
nbcn
jeinterchangj ppcnpbnpnnpC +++−++−++−+=∑
=...)1()1(...)1( 21
1,
To show that SPT minimises the sum of completion times it must be show that
∑>∑==
n
jSPTj
n
jeinterchangj CC
1,
1,
01
,1
, >∑−∑==
n
jSPTj
n
jeinterchangj CC
Thus ( )nbc ppcnpbnpnnp +++−++−++−+ ...)1()1(...)1( 21 -
( )ncb ppcnpbnpnnp +++−++−++−+ ...)1()1(...)1( 21 >0
( ) ( ) 0)1()1()1()1( >+−++−−+−++− cbbc pcnpbnpcnpbn
[ ] [ ] 0)1()1()1()1( >+−−+−++−−+− bc pbncnpcnbn
( ) [ ] 0>−+− bc pcbpbc
( ) [ ] 0>−−− bc pbcpbc
Since bc pp > this is true.
151
Theorem V
For the single machine scheduling problem with a common due date, SPT rule
minimises total tardiness,∑=
n
jjT
1.
Proof
∑ −=∑==
n
jjj
n
jj DCT
11)0,max(
Since only the tardy jobs are considered, tardiness can be simplified to
∑ −=∑==
n
jjj
n
jj DCT
11)(
∑ ∑−== =
n
j
n
jjj DC
1 1
Due dates are equal therefore
jn
jj
n
jj nDCT −
∑=∑== 11
Therefore since SPT minimises∑=
n
jjC
1(Theorem IV), it also minimises ∑
=
n
jjT
1for the
single machine problem with a common due date.
To summarise the solution method for the reactive sequencing model, the patients are
firstly sequenced using SK-Sort. Secondly, the on-time and tardy jobs are
determined using the SK-algorithm and finally, the tardy jobs are sequenced using
SPT.
152
5.2.3 Schedule results and conclusions
This section compares the results between the fixed treatment time and robust
schedules. Schedule comparisons are made for initial and final sequences, number of
patients completed, number of patients that use more time than was allocated,
number of emergencies completed compared with total that arrive during scheduling
period and the number of electives that are postponed.
The branch and bound heuristics and sorting algorithms were coded in Visual Basic.
Actual treatment times were generated using the lognormal distribution and
appropriate distribution parameters according to the surgery performed. The flexible
robust assignment model (FRAM), of Section 4.5.2, was used to determine initial
patient assignments. Sequences were determined for these schedules using the
branch and bound algorithms discussed in Section 5.2.2. These initial sequences are
presented in Table 17.
The FRAM assigns patients to theatres to minimise deviation of the time blocks.
Therefore some initial schedules may require slightly more capacity than what is
available. When determining the initial sequence of patients of these schedules, it is
assumed there is sufficient capacity to schedule all patients, i.e. that capacity equals
required time. Therefore the sequence is generated using the non-increasing ratio of
penalty per unit of treatment time. Differences in the initial sequence between the
fixed treatment time and robust cases are due to the calculations of treatment time.
As was demonstrated earlier, the robust case includes an amount of buffer in the
calculation and hence the sorting order is checked after each patient addition. In
98% of schedules however, the initial sorting order is the same.
153
Table 17. Comparison of initial patient sequences for fixed treatment time and
robust models
Deterministic Sequence Robust Sequence1 {2, 3, 4, 5, 6, 1} {2, 3, 4, 5, 6, 1}2 {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8, 9}3 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}4 {1, 2, 3, 6, 7, 4, 5} {1, 2, 3, 6, 7, 4, 5}5 {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6}6 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}7 {1, 2, 3, 4, 5, 6, 9, 7, 8} {1, 2, 3, 4, 5, 6, 9, 7, 8}8 {1, 2, 3, 4, 5, 6, 8, 7} {1, 2, 3, 4, 5, 6, 8, 7}9 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}10 {1, 2, 5, 6, 3, 4} {1, 2, 5, 6, 3, 4}11 {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8, 9}12 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}13 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}14 {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6}15 {1, 2, 6, 3, 4, 5} {1, 2, 6, 3, 4, 5}16 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}17 {1, 2, 3, 4, 5, 6, 9, 7, 8} {1, 2, 3, 4, 5, 6, 9, 7, 8}18 {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6}19 {1, 2, 3, 4} {1, 2, 3, 4}20 {1, 5, 2, 3, 4} {1, 5, 2, 3, 4}21 {1, 2, 3, 4, 5, 7, 8, 6} {1, 2, 3, 4, 5, 7, 8, 6}22 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}23 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}24 {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6}25 {1, 2, 3, 4, 5, 8, 6, 7} {1, 2, 3, 4, 5, 8, 6, 7}26 {1, 2, 3, 4, 5, 8, 6, 7} {1, 2, 3, 4, 5, 8, 6, 7}27 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}28 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}29 {1, 2, 3, 4, 5} {1, 2, 3, 4, 5}30 {1, 2, 3, 4, 5, 6, 8, 7} {1, 2, 3, 4, 5, 6, 8, 7}31 {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8, 9}32 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}33 {1, 2, 3, 4} {1, 2, 3, 4}34 {1, 2, 3, 4, 5, 6, 9, 7, 8} {1, 2, 3, 4, 5, 6, 9, 7, 8}35 {1, 2, 3, 4, 5, 6, 12, 7, 8, 9, 10, 11} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}36 {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8, 9}37 {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8, 9}38 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}39 {1, 2, 6, 3, 4, 5} {1, 2, 6, 3, 4, 5}40 {1, 2, 3, 4, 5, 7, 8, 6} {1, 2, 3, 4, 5, 7, 8, 6}41 {1, 2, 3, 4, 5} {1, 2, 3, 4, 5}42 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}43 {1, 2, 3, 4, 5} {1, 2, 3, 4, 5}44 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}45 {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 10} {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 10}46 {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6}47 {1, 2, 3, 4} {1, 2, 3, 4}48 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}49 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}50 {1, 2, 3, 4, 5} {1, 2, 3, 4, 5}
Schedule Number
Initial Sequence
154
Table 18. Comparison of final patient sequences for fixed treatment time and
robust models
Deterministic Sequence Robust Sequence1 {2, 3, 4, 5, 6, 7, 1} {2, 3, 4, 5, 6, 7, 1}2 {1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8, 9}3 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15}4 {1, 2, 3, 6, 7, 8, 4, 9} {1, 2, 3, 6, 7, 8, 4, 9}5 {1, 2, 3, 4, 9, 7, 8, 5} {1, 2, 3, 4, 9, 7, 8, 5}6 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}7 {1, 2, 3, 4, 5, 12, 6, 9, 11, 7, 8, 10} {1, 2, 3, 4, 5, 12, 6, 9, 10, 11, 7, 8}8 {1, 2, 3, 4, 5, 6, 8, 7} {1, 2, 3, 4, 5, 6, 8, 7}9 {1, 2, 3, 9, 4, 5, 6, 7, 10} {1, 2, 3, 9, 4, 5, 6, 7, 10}10 {1, 2, 5, 6, 8, 3, 4, 7} {1, 2, 5, 6, 8, 3, 4, 7}11 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}12 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 11} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 11}13 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}14 {1, 2, 3, 4, 9, 8, 10} {1, 2, 3, 4, 8, 9, 10}15 {1, 2, 6, 3, 8, 7, 9, 4, 5} {1, 2, 6, 3, 8, 7, 9, 4, 5}16 {1, 2, 3, 4, 5, 6, 14, 7, 8, 9} {1, 2, 3, 4, 5, 6, 14, 7, 8, 9}17 {1, 2, 3, 4, 5, 6, 9, 7, 8} {1, 2, 3, 4, 5, 6, 9, 7, 8}18 {1, 2, 3, 8, 4, 7} {1, 2, 3, 4, 8, 5}19 {1, 2, 5, 3} {1, 2, 5, 3}20 {1, 5, 2, 10, 11, 3, 4} {1, 5, 2, 10, 11, 3, 4}21 {1, 2, 3, 4, 5, 7, 8, 9} {1, 2, 3, 4, 5, 7, 8, 9}22 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}23 {1, 2, 8, 3, 4, 5, 6, 7} {1, 2, 8, 3, 4, 5, 6, 7}24 {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6}25 {1, 2, 3, 4, 5, 8, 6, 7} {1, 2, 3, 4, 5, 8, 6, 7}26 {1, 2, 3, 4, 10, 5, 8, 11, 12, 6, 7, 9} {1, 2, 3, 4, 10, 5, 8, 11, 6, 12, 7, 9}27 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}28 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}29 {1, 2, 3, 4, 6, 5} {1, 2, 3, 4, 5, 6}30 {1, 2, 3, 4, 5, 6, 9, 10, 8} {1, 2, 3, 4, 5, 6, 9, 10, 8}31 {1, 2, 3, 4, 5, 6, 7, 8, 10, 9} {1, 2, 3, 4, 5, 6, 7, 8, 10, 9}32 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}33 {1, 2, 7, 8} {1, 2, 7, 8}34 {1, 2, 3, 4, 5, 6, 9, 7, 10} {1, 2, 3, 4, 5, 6, 9, 10, 11, 7}35 {1, 2, 3, 4, 5, 6, 12, 13, 14, 15, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8, 9, 15, 10, 11}36 {1, 2, 3, 4, 5, 6, 7, 8} {1, 2, 3, 4, 5, 6, 7, 8}37 {1, 2, 3, 4, 5, 6, 12, 7, 8, 11, 10} {1, 2, 3, 4, 5, 6, 12, 7, 8, 11, 9}38 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}39 {1, 2, 6, 3, 4, 5, 7, 8} {1, 2, 6, 3, 5, 4, 7, 8}40 {1, 2, 3, 4, 5, 7, 8, 6, 10} {1, 2, 3, 4, 5, 7, 8, 6, 10}41 {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6}42 {1, 2, 3, 4, 5, 8, 6, 7} {1, 2, 3, 4, 5, 8, 6, 7}43 {1, 2, 3, 4, 5} {1, 2, 3, 4, 5}44 {1, 2, 3, 4, 5, 10, 6} {1, 2, 3, 4, 5, 10, 6}45 {1, 2, 3, 4, 5, 6, 7, 8, 13, 9, 12, 11, 14} {1, 2, 3, 4, 5, 6, 7, 8, 13, 9, 12, 11, 14}46 {1, 2, 3, 8, 4, 10, 5, 6, 7} {1, 2, 3, 8, 5, 10, 4, 6, 7}47 {1, 2, 3} {1, 2, 3}48 {1, 2, 3, 4, 5, 6, 7} {1, 2, 3, 4, 5, 6, 7}49 {1, 2, 3, 4, 5, 6, 7, 14, 8, 9, 10} {1, 2, 3, 4, 5, 6, 7, 14, 8, 10, 12}50 {1, 2, 3, 4, 5, 7, 6, 9, 10} {1, 2, 3, 4, 5, 7, 6, 9, 10}
Final Sequence
Schedule Number
155
Table 18 indicates the final sequence of patients for each of the fixed treatment time
and robust schedules. Of the schedules tested, 78% of the final sequences for the
fixed treatment time model were the same as for the corresponding robust model.
Although the actual sequences were similar in most cases, the robust schedules were
more conservative and more likely to accurately predict overtime than the fixed
treatment time model. This may have practical benefits for making decisions on
whether or not to postpone a patient that has the potential to require overtime.
The schedules were also compared against each other and also against the robust
assignment model of section 5.1 for the number of patients completed and how many
of these were emergencies and how many electives were postponed (see Table 19).
From the results, there was very little variation between the fixed and robust
schedule. On occasions, the fixed schedule processed more emergencies than the
corresponding robust schedule and vice versa. Overall, the total number of
emergencies processed for the test cases was 65 and 62 respectively for the fixed and
robust models. The slight differences between individual cases are due to variations
in the sequencing of the operations.
The number of elective cases postponed for all schedules was 27 and 23 respectively
for the fixed and robust cases. So this indicates that while the fixed schedules
processed slightly more emergency cases than the robust models, this was at the
expense of elective postponements. The reason this occurred can be explained by the
difference in assignment of treatment time between the fixed and robust models.
Because the fixed treatment time model does not assign a buffer with each patient,
when an elective is postponed, it is more likely to be replaced with an emergency
patient. On the other hand, because the robust model assigns more time per patient,
the remaining capacity after a cancellation is less than the fixed treatment time
model, and therefore there is less chance of filling that capacity with an emergency
patient. As the day progresses, if surgeries complete earlier than expected, the
previously postponed elective patient can be re-scheduled. However, in the fixed
treatment time case, if an emergency patient has been scheduled, then there will not
be enough time to reschedule the postponed elective.
156
Both models performed better than the robust assignment model. For the same set of
schedules, a total of 398 patients were assigned for the assignment model compared
with 415 for the sequencing models. In addition, the assignment model assigned 80
emergencies at the expense of 59 elective cancellations. For the sequencing models,
only 27 and 24 electives were cancelled for the fixed treatment time and robust
versions respectively. This illustrates the improvement over the robust assignment
model.
Besides the differences previously discussed, the reason why there is very little
variation between the fixed treatment time and robust results for these performance
measures is most likely due to the fact that both schedules are based on the robust
assignment model results. As a result, the amount of time initially assigned to the
patients in the fixed treatment time model is equal to that assigned to the robust
model. If the fixed treatment time model were based on a fixed treatment time
assignment model, then the performance result would most likely not be so similar.
More initial elective patients assigned overall would be expected and as a result there
would be more elective cancellations.
The last issue to address is whether the fixed treatment time rather than the robust
version of the reactive model could be used in conjunction with the flexible robust
assignment model. There is a slight disadvantage already seen and discussed with
this idea – the slight increase in emergency cases at the expense of elective
postponements. The concept was further investigated by comparing the assigned
treatment time for the fixed treatment time and robust models with the actual amount
of time used in the simulations. From the results presented in Table 20 it is clear that
the fixed treatment time case underestimates actual treatment time for 74% of the
patients compared with 30% for the robust model. This again illustrates the benefit
of using the robust approach as the fixed treatment time model consistently
underestimates the surgical duration.
157
Table 19. Comparison of performance measures for fixed and robust schedules
against robust assignment model
# completed # emergencies completed # electives postponed1 7, 7, 6 1, 1, 0 0, 0, 02 9, 9, 9 0, 0, 1 0, 0, 13 11, 11, 9 1, 1, 0 1, 1, 24 8, 8, 6 2, 2, 0 1, 1, 15 8, 8, 5 3, 3, 0 1, 1, 16 10, 10, 7 0, 0, 0 0, 0, 37 12, 12, 9 3, 3, 0 0, 0, 08 8, 8, 9 0, 0, 3 0, 0, 29 9, 9, 6 2, 2, 0 0, 0, 1
10 8, 8, 5 2, 2, 0 0, 0, 111 8, 8, 7 0, 0, 0 1, 1, 212 12, 12, 11 1, 1, 0 0, 0, 013 8, 8, 7 0, 0, 0 0, 0, 114 7, 7, 5 2, 3, 0 1, 2, 115 9, 9, 7 3, 3, 2 0, 0, 116 10, 10, 9 1, 1, 2 1, 1, 317 9, 9, 9 0, 0, 1 0, 0, 118 6, 6, 8 2, 1, 3 2, 1, 119 4, 4, 3 1, 1, 0 1, 1, 120 7, 7, 6 2, 2, 2 0, 0, 121 8, 8, 8 1, 1, 1 1, 1, 122 8, 8, 10 0, 0, 3 0, 0, 123 8, 8, 11 1, 1, 5 0, 0, 124 6, 6, 6 0, 0, 2 0, 0, 225 8, 8, 8 0, 0, 1 0, 0, 126 12, 12, 11 4, 4, 3 0, 0, 027 8, 8, 10 1, 1, 3 0, 0, 028 8, 8, 10 1, 1, 4 0, 0, 129 6, 6, 8 2, 1, 4 1, 0, 130 9, 9, 5 2, 2, 0 1, 1, 331 10, 10, 10 1, 1, 2 0, 0, 132 7, 7, 8 0, 0, 2 1, 1, 233 4, 4, 5 2, 2, 3 2, 2, 234 9, 10, 9 1, 2, 2 1, 1, 235 13, 12, 11 3, 1, 0 2, 1, 136 8, 8, 11 0, 0, 4 1, 1, 237 11, 11, 10 3, 2, 2 1, 0, 138 7, 7, 6 0, 0, 0 0, 0, 139 8, 8, 7 2, 2, 1 0, 0, 040 9, 9, 9 1, 1, 3 0, 0, 241 6, 6, 10 1, 1, 5 0, 0, 042 8, 8, 9 1, 1, 2 0, 0, 043 5, 5, 6 0, 0, 3 0, 0, 244 7, 7, 6 1, 1, 0 1, 1, 145 13, 13, 12 3, 3, 1 1, 1, 046 9, 9, 10 3, 3, 4 0, 0, 047 3, 3, 3 0, 0, 0 1, 1, 148 7, 7, 7 0, 0, 1 1, 1, 249 11, 11, 9 1, 1, 0 3, 3, 450 9, 9, 10 4, 4, 5 0, 0, 0
Deterministic, Robust, AssignmentSchedule Number
158
Table 20. Percentage of patients requiring more time than assigned
Schedule Number Deterministic Robust1 0.83 0.332 0.89 0.113 0.91 0.274 0.63 0.255 0.88 0.256 0.80 0.207 0.83 0.178 0.63 0.389 0.63 0.3810 0.63 0.0011 0.56 0.5612 0.75 0.3313 0.75 0.2514 0.86 0.4315 0.44 0.2216 0.90 0.5017 0.89 0.4418 0.67 0.3319 0.80 0.4020 0.86 0.1421 0.75 0.2522 0.75 0.3823 0.50 0.2524 0.67 0.5025 1.00 0.2526 0.67 0.2527 0.75 0.0028 0.50 0.1329 0.50 0.3330 1.00 0.7831 0.60 0.4032 0.86 0.5733 1.00 0.5034 0.80 0.4035 0.92 0.3336 0.78 0.4437 0.73 0.1838 0.86 0.4339 0.88 0.2540 0.67 0.2241 0.33 0.1742 1.00 0.1343 1.00 0.4044 0.86 0.4345 0.77 0.0846 0.56 0.2247 1.00 0.3348 1.00 0.2949 1.00 0.4550 0.11 0.00
Total 74% 30%
159
5.3 Conclusions
An innovative online assignment model for a single Operating Theatre is developed
and solved. The model is run in real-time following the completion of each
operation and minimises cancellations whilst also allowing for additional scheduling
of emergency cases (time permitting), which may arise during the schedule’s
implementation. The problem is NP hard in the ordinary sense and hence an exact
solution approach was used. The model was developed and implemented using
Visual Basic.
In Section 4.3 it was illustrated how the choice of x affects the proportion of patients
that are expected to be completed on time. When x = 1, the model expects
approximately 85% of surgeries to be completed on time based on the amount of
slack assigned for each patient. This means that in 85% of cases, the actual time will
be less than or equal to the assigned time. The robustness of the model not only
helps to minimise the number of elective patients that are cancelled but also allows
for the addition of emergency cases. The likelihood of fitting in emergency cases
increases with the more surgeries that complete early. However if the proportion
expected to complete on time is too high, then the chance of under filling capacity
increases, especially if there are no emergency cases on a particular day. On the
other hand, if the proportion is too low, then capacity may be exceeded at a higher
rate and no emergencies may be scheduled and elective cancellations may result.
Determination of the optimal proportion depends on the management style of the
hospital, but from a theoretical view, could possibly be investigated using simulation
as a further issue of research.
The RRAM only considered the assignment of patients to the theatre, however did
not consider the sequence of the patients. The reactive scheduling model applied
single machine scheduling techniques to the assignment and sequencing of patients
in the online environment. Two criteria were used for the model; the first was to
minimise the weighted tardy jobs and the secondary constraint was the minimisation
of the tardiness.
160
A branch and bound approach was used to solve the problem first assuming fixed
treatment time surgical durations and secondly, applying the more complicated
robust scheduling theory. Both models were able to reschedule the patients
following each completed surgery. The robust reactive approach was better for
predicting overtime whereas the fixed treatment time approach consistently
underestimated treatment times.
A number of areas of possible future work have been identified for the reactive
scheduling problem. Firstly, a cost analysis comparing the cost of running theatres in
overtime, the costs of cancelling patients and the profit earned for procedures could
be performed. This would have practical benefits for assisting decisions on whether
or not to postpone a patient that has the potential to require overtime. At present, this
is a subjective decision made by OT staff based on many factors including the
amount of capacity remaining in the theatre and the expected duration of the
procedure. Secondly, the reactive models developed in this chapter consider only a
single operating theatre. Future work will involve expanding on this work for the
multiple theatre case, which is NP hard in the strong sense.
161
Chapter 6. Conclusions and future work
This thesis finishes with a summary of the work conducted, conclusions and possible
future work arising from the simulation and mathematical models.
6.1 Conclusions
Chapter 2 presents a literature review on the most relevant research related to the
problem. Included are discussions on general OT studies focusing on administrative
issues, simulation applied to healthcare, scheduling in the OT and an introduction to
robust and reactive scheduling techniques. This chapter illustrated specific gaps in
the literature (discussed in Section 1.4.1), which are addressed by this thesis (see
Section 1.5 Contribution of the thesis).
A simulation model is presented in Chapter 3 that explores the effects of changing
patient arrivals and elective theatre scheduling disciplines on the operating theatre
department’s performance measures. Simulation was chosen because of its ability to
immediately observe the effects that changes to parameters and inputs have on a
system and also its use as a visual tool for explaining model outputs to decision
makers. Model observations form decision support by predicting the effects changes
in the model’s parameters may have on a system.
Modelling of the OT department was achieved through the use of blocks. Service
distributions and emergency patient inter-arrivals were generated based on historical
patient data. Efficiency measures calculated for the real system were compared with
simulation outputs to validate the model. The model was used to explore the effects
that increasing patient arrivals and alternative elective patient admission disciplines
would have on the performance measures.
The relationships between the performance objectives and changes made on the
system observed during sensitivity analysis were explained by the underlying
assumptions of the system. Emergency patient waiting times and the number of
elective cancellations appeared to increase exponentially as the number of arrivals
was increased. The relationship between elective patient waiting time, elective
162
theatre utilisation rate and emergency theatre utilisation rate with changing arrivals
appeared linear and less pronounced. There was no significant impact on elective
theatre utilisation rate for any change in arrival, which suggested that the elective
theatres were running at near maximal activity. This claim may be supported by the
exponential effect seen on the number of cancellations when arrivals increased by
30%, with no accompanied effect on elective theatre utilisation rate.
Constructive heuristics were used to generate schedules and the results of the
alternative methods were compared. Least flexible job (LFJ) first improved patient
waiting times and reduced the number of cancellations. Shortest processing time
(SPT) first improved patient waiting times, had a lesser impact on elective patient
waiting times than LFJ, and did not affect the number of cancellations. Longest
processing time (LPT) first improved emergency patient waiting times but was found
to increase both elective patient waiting times and the number of cancellations. The
improvement in emergency patient waiting times for all disciplines suggested this
was a result of reducing elective scheduling variability. The scheduling disciplines
did not have a significant effect on theatre utilisation rates.
An important result of this study was its potential implementation as decision support
for surgical planners wishing to adopt an alternative scheduling discipline or for
predicting the effects than an increase in patients will have on performance criteria.
Traditionally, theatre utilisation rate has been considered the only important
performance measure for the OT. This study clearly demonstrated, however, the
need to consider the effects on patient waiting times and elective cancellations as an
adjunct measure of performance.
While simulation provides a way to examine scenarios without actually impacting
the real life system, it does not optimise the system. For this reason, theoretical
models based on operation research techniques were also used with respect to
elective scheduling procedures and to develop a new tool for the dynamic online
scheduling problem incorporating emergency patients.
In Chapter 4, the data analysis for the robust and reactive models precedes the robust
assignment models. The first scheduling models that were investigated were the
163
offline schedules for elective patients. Surgical durations are known to be variable
and depend on many factors including the type and severity of illness and the
experience of the surgeon performing the operation. Even with detailed statistical
analysis it is very difficult to predict how long a procedure will take. When the
assigned time for a surgery is less than the actual time, this can lead to either delayed
starts for remaining procedures, cancellations or overrun theatres, which is an added
cost to the running of the department. Robust patient assignment was used to address
this issue faced by schedulers.
The robust patient assignment models developed, used buffers to absorb treatment
time variation where the amount of slack planned for each block is based on the
variations in surgical durations of the patients scheduled in the block. The lognormal
distribution was verified as a better distribution choice for modelling surgery
durations than the normal distribution. The summation of lognormal variables
however, is not modelled by a normal distribution, as with the summation of some
other types of random variables. Using the sum of lognormal variables was a point
of innovation for robust patient assignment in the operating theatre.
An alternative performance measure to tardiness, namely deviation, was considered.
The deviation of a surgery block was defined as the difference between used and
available surgery block capacity. Costs are incurred from both over and under use of
the available theatre capacity. For this reason, deviation was introduced because it
considers both earliness and tardiness.
The innovative model that based surgical durations on the lognormal distribution was
compared with the case of normally distributed surgical durations. The resulting
schedules required fewer surgery blocks to assign the required number of patients
when a lognormal distribution was used. This suggested that choosing an
appropriate statistical distribution to model surgical durations would have positive
practical implications for elective surgery scheduling.
The findings of the fixed robust assignment models also suggested that using a
flexible approach to surgery assignment would improve the efficiency of the planned
elective surgery schedules. This was supported by the results of the flexible
164
assignment model, which saw improvements in all performance measures when the
fixed and flexible models were compared. In real life, surgical consultants are
generally responsible for selecting and sequencing their own patients. It was shown
that adapting the robust patient assignment model to allow patients to be selected
directly from a waiting list, could improve the resultant schedules. This
demonstrated the potential improvements in the number of patients that can be
scheduled as well as the reductions in deviation between planned and available time
that could be made if such an assignment model was used for the real-life setting.
Innovative constructive heuristics based on surgical duration variance and meta-
heuristics were proposed for solving the model and then compared with traditional
approaches. The traditional scheduling heuristic SPT, followed by lowest variance
first (LVF), performed better than all other constructive heuristics when the number
of patients assigned per block and then the total and maximum deviation values were
compared. It was also noted that SPT could possibly be used for the flexible model
regardless of which constructive heuristic was originally applied for the initial
assignment of patients. The reasoning behind this was to assign the shorter surgeries
to fill the remaining theatre capacity, to increase the number of patients assigned per
surgery block. Using this idea, an innovative hybrid constructive heuristic, SPT-
HVF was developed, which performed as well as the SPT heuristic and used fewer
surgery time blocks overall to achieve the result. These results supported the idea of
using SPT to assign additional patients to increase the efficiency of the constructive
heuristics.
Analytic hierarchy process (AHP) was used to select the best schedules from the
results based on the number of patients assigned per block, maximum deviation and
total deviation performance measures. Variations in preference for the three
objectives resulted in the same selection of schedules. These chosen schedules could
be used to simplify patient assignment according to the scheduler’s requirements.
Rather than running the robust scheduling model every time a schedule is created, a
combination of the selected schedules could be used.
An important aspect of the robust models developed is that they are applicable
irrespective of whether patient assignment is surgeon specific or not. This means
165
that the method can be applied when theatre capacity is assigned to specific surgical
consultants or surgical teams, or in an open scheduling system where capacity is not
assigned in this manner. As a result, a generalised model may be easily adapted to
other hospital systems and can easily incorporate hospital specific requirements.
Robust scheduling was used to assign patients to the surgery blocks, generating
offline schedules that take into consideration the variability of patient treatment time.
Offline models, however, do not indicate how to deal with disruptions that occur in
the online environment.
Two types of disruptions are defined for operating theatre scheduling; a theatre
(machine) disruption and patient (job) disruption. Theatre disruptions occur when a
theatre becomes unavailable for some period of time. Patient disruptions on the
other hand occur when treatment times are less than, or greater than, the assigned
surgery time.
If a surgery’s duration is shorter than expected, this generally means the schedule can
be moved forwards without much alteration. Also, there may be time left at the end
of the schedule for adding on emergency cases, or the additional time may be spent
on a patient that exceeds their expected duration. If patients exceed their expected
duration however, this can cause delays in surgery start time for remaining patients,
or may even necessitate cancellation of remaining surgeries to prevent overusage of
the theatre.
Two types of models were developed in Chapter 5 that used the results of the offline
robust surgery assignment models as baseline schedules. The first was a reactive
assignment model that determined the number of patients that could be assigned to
the available theatre capacity. The objective was to minimise the number of elective
cancellations, maximise emergency additions, whilst also minimising the deviation
from the original schedule. This model was developed and implemented using
Visual Basic.
Results for the initial assignment model showed it was capable of adapting
appropriately to disruptions in the online environment by delaying, rescheduling or
166
adding additional surgeries according to the available operating time capacity. The
ability to re-schedule patients, when an already completed surgery used less time
than it was allocated, illustrated the benefit of the robustness built into the model. In
addition, by allowing a calculated amount of extra time for each surgery based on a
percentage determined by the decision maker, the number of cancellations was kept
low and additional emergency patients could be treated. This ability to schedule
additional patients ensured theatre capacity is used efficiently rather than being left
unused. Allowing for the cancellation of emergencies also helped to maintain the
efficiency of the theatre utilisation by preventing overruns.
The second reactive approach expanded on the first by addressing patient
sequencing. Two approaches to estimating surgical durations were used. The first
assumed surgical durations were fixed and based on the expected duration. The
second used the robust theory approach and incorporated a portion of slack in the
surgical duration calculations. Both models were developed using single machine
scheduling techniques. Two criteria were used for the models; the first was to
minimise the weighted tardy jobs and the secondary constraint was the minimisation
of the tardiness.
A branch and bound approach was used to solve both models. These models also
responded appropriately to the online disturbances that might occur in the operating
theatre with the added benefit of explicitly stating the sequence of patients. In
addition, the robust reactive approach was better for predicting overusage whereas
the fixed treatment time approach consistently underestimated treatment times.
167
6.2 Future work
A number of potential avenues for future work were identified throughout this
research.
In section 4.3, the sum of independent lognormal variables was approximated with a
lognormal distribution. This was used to determine the amount of time (including a
slack component) that is assigned to the surgeries assigned to a theatre. It was
illustrated how the proportion of patients that are expected to be completed on time if
affected by this calculation. Increasing the slack component of this assigned time
lowers the expected overtime. The current model expects that in 85% of schedules,
the actual time will be less than, or equal to, the assigned time. The robustness of the
model not only helps to minimise the number of elective patients that are cancelled
but also allows for the addition of emergency cases. The likelihood of fitting in
emergency cases increases with the number of surgeries that complete early.
However if the proportion expected to complete on time is too high, then the chance
of under filling capacity increases, especially if there are no emergency cases on a
particular day. On the other hand, if the proportion is too low, then capacity may be
exceeded at a higher rate and no emergencies may be scheduled and elective
cancellations may result. Determination of the optimal proportion depends on the
management style of the hospital, but from a theoretical view, could possibly be
investigated using simulation as a further issue of research.
One of the limitations of the robust and reactive scheduling models is the assumption
that a lognormal distribution may be used to approximate the sum of independent but
not necessarily identical lognormal random variables. This assumption is made to
simplify the calculation of treatment time for the surgeries assigned to a surgical
block. Future work could include investigating the use of a more accurate
distribution for approximating this sum.
The objective of the reactive scheduling model (in particular the assignment model)
was to minimise the costs of the new schedule by minimising the number of elective
cancellations and maximise the number of electives that may be added to the
schedule. An exact solution approach was coded in Visual Basic to achieve this,
168
however, because the model is re-run after each patient’s completion it does not keep
track of the preceding objective function values. The resulting schedule may be
different if the objective function values were carried through for each schedule. For
example, the number of elective cancellations may possibly be reduced with an
accompanied decrease in emergencies added to the schedule. Other changes to the
schedule results could be induced by changes in the scheduler’s objectives. For
example, if an elective is cancelled towards the beginning of a schedule, then the
user may opt not to fill in the remaining capacity with available emergencies at that
point in time and wait until later in the schedule. Changes such as these would
depend on the specific end user and would form an interesting future study.
In addition to the above changes to the reactive model, more pertinent work would be
an analysis comparing the cost of running theatres overtime, the costs of cancelling
patients and the profit earned for procedures. This may have practical benefits for
assisting decisions on whether or not to postpone a patient that has the potential to
require overtime. At present, this is a subjective decision made by OT staff based on
many factors including the amount of capacity remaining in the theatre and the
expected duration of the procedure. Secondly, the reactive models developed in this
chapter consider only a single operating theatre. Future work will involve expanding
on this work for the multiple theatre case, which is NP hard in the strong sense.
169
References
Abouleish, A. E., Hensley, S. L., Zornow, M. H., & Prough, D. S. (2003). Inclusion of turnover time does not influence identification of surgical services that over- and underutilize allocated block time. Anesthesia & Analgesia, 96(3), 813-818.
Adan, I. J. B. F., & Vissers, J. M. H. (2002). Patient mix optimisation in hospital
admission planning: a case study. International Journal of Operations & Production Management, 22(4), 445-461.
Applegeet, C. (1995). Scheduling surgical procedures: delays in surgery; OR reports;
visitors in the OR; purchasing departments. AORN Journal, 61(1), 252-257. Augusto, V., Xie, X., & Perdomo, V. (2010). Operating theatre scheduling with
patient recovery in both operating rooms and recovery beds. Computers & Industrial Engineering, 58(2), 231-238.
Australian Government Department of Health and Ageing. (2009). The state of our
public hospitals, June 2009 report. Commonwealth of Australia. Retrieved November 20, 2009, from http://www.health.gov.au/internet/main/publishing.nsf/Content/health-ahca-sooph-index09.htm.
Australian Government Department of Health and Ageing. (2008). The state of our
public hospitals, June 2008 report. Commonwealth of Australia. Retrieved November 5, 2008, from http://www.health.gov.au/internet/main/publishing.nsf/Content/health-ahca-sooph-index08.htm.
Australian Government: Department of Foreign Affairs and Trade. (2008) Health
Care in Australia. Retrieved December 29, 2009, from http://www.dfat.gov.au/facts/healthcare.html.
Bachman, A., & Janiak, A. (2004). Scheduling jobs with position-dependent
processing times. Journal of the Operational Research Society, 55(3), 257-264.
Badri, M. A., & Hollingsworth, J. (1993). A simulation model for scheduling in the
emergency room. International Journal of Operations & Production Management, 13(3), 13-24.
Ballard, S. M., & Kuhl, M. E. (2006) The use of simulation to determine maximum
capacity in the surgical suite operating room. In 2006 Winter Simulation Conference.
Bard, J. F., & Purnomo, H. W. (2005). Hospital-wide reactive scheduling of nurses
with preference considerations. IIE Transactions, 37(7), 589-608.
170
Belien, J., & Demeulemeester, E. (2007a). A branch and price approach for integrating nurse and surgery scheduling. European Journal of Operations Research, 189(3), 652-668.
Belien, J., & Demeulemeester, E. (2007b). Building cyclic master surgery schedules
with leveled resulting bed occupancy. European Journal of Operations Research, 176(2), 1185-1204.
Belien, J., & Demeulemeester, E. (2006). Scheduling trainees at a hospital
department using a branch and price approach. European journal of operational research, 175(1), 258-278.
Blazewicz, J., Ecker, K. H., Pesch, E., Schmidt, G., & Weglarz, J. (1996). Scheduling
computer and manufacturing processes. Berlin: Springer-Verlag. Brailsford, S. (1995). Health care management - a case for simulation. OR insight,
8(2), 4-5. Breslawski, S., & Hamilton, D. (1991). Operating room scheduling: choosing the
best system. AORN Journal, 53(5), 1229-1237. Brucker, P. (2004). Scheduling algorithms. Berlin: Springer-Verlag. Calichman, M. V. (2005). Creating an optimal operating room schedule. AORN
Journal, 81(3), 580-588. Cardoen, B., Demeulemeester, E., & Belien, J. (2010). Operating room planning and
scheduling: A literature review. European Journal of Operational Research, 201(3), 921-932.
Cardoen, B., Demeulemeester, E., & Belien, J. (2009a). Optimizing a multiple
objective surgical case scheduling problem. International Journal of Production Economics, 119(2), 354-366.
Cardoen, B., Demeulemeester, E., & Belien, J. (2009b). Sequencing surgical cases in
a day-care environment: An exact branch-and-price approach. Computers & Operations Research, 36(9), 2660-2669.
Carter, M. W., & Lapierre, S. D. (2001). Scheduling emergency room physicians.
Health Care Management Science, 4(4), 347-360. Chang, C.-L., Cheng, B.-W., & Su, J.-L. (2004). Using case-based reasoning to
establish a continuing care information system of discharge planning. Expert Systems with Applications, 26(4), 601-613.
Chen, W.-Y., & Sheen, G.-J. (2007). Single-machine scheduling with multiple
performance measures: Minimizing job-dependent earliness and tardiness subject to the number of tardy jobs. International Journal of Production Economics, 109(1-2), 214-229.
171
Cheng, L. H. H., & Newman, L. (2005). Overnight-stay patients in a day surgery unit to overcome shortage of inpatient beds. British Journal of Oral and Maxillofacial Surgery, 43(2), 169-72.
Chern, C.-C., Chien, P.-S., & Chen, S.-Y. (2008). A heuristic algorithm for the
hospital health examination scheduling problem. European Journal of Operational Research, 186(3), 1137-1157.
Cromwell, D. A. (2004). Waiting time information services: An evaluation of how
well clearance time statistics can forecast a patient's wait. Social Science & Medicine, 59(9), 1937-1948.
Daniels, R. L., & Kouvelis, P. (1995). Robust scheduling to hedge against processing
time uncertainty in single-stage production. Management Science, 41(2), 363-376.
de Mello, P. S. C., Almeida, R. M. V. R., & Pereira, W. C. A. (2001). A
computerised information system for the analysis of hospital admission flow and characteristics. International Journal of Medical Informatics, 61(1), 11-20.
Demeester, P., Souffriau, W., De Causmaecker, P., & Vanden Berghe, G. (2010). A
hybrid tabu search algorithm for automatically assigning patients to beds. Artificial intelligence in Medicine, 48(1), 61-70.
Denton, B., Viapiano, J., & Vogl, A. (2007). Optimization of surgery sequencing and
scheduling decisions under uncertainty. Health care management Science, 10(1), 13-24.
Dew, K., Cumming, J., McLeod, D., Morgan, S., McKinlay, E., Dowell, A. et al.
(2005). Explicit rationing of elective services: implementing the New Zealand reforms. Health Policy, 74(1), 1-12.
Dexter, F., Macario, A., & O'Neill, L. (2000). Scheduling surgical cases into
overflow block time - computer simulation of the effects of scheduling strategies on operating room labour costs. Anesthesia & Analgesia, 90(4), 980-988.
Dexter, F., Macario, A., Traub, R. D., Hopwood, M., & Lubarsky, D. A. (1999). An
operating room scheduling strategy to maximise the use of operating room block time: computer simulation of patient scheduling and survey of patient's preferences for surgical waiting time. Anesthesia & Analgesia, 89(1), 7-20.
Dexter, F., & Traub, R. D. (2000). Sequencing cases in the operating room:
predicting whether one surgical case will last longer than another. Anesthesia & Analgesia, 90(4), 975-979.
Fei, H., Meskens, N., & Chu, C. (2010). A planning and scheduling problem for an
operating theatre using an open scheduling strategy. Computers & Industrial Engineering, 58(2), 221-230.
172
Ferrin, D. M., Miller, M. J., Wininger, S., & Neuendorf, M. S. (2004) Analyzing
incentives and scheduling in a major metropolitan hospital operating room through simulation. In Proceedings of the 36th conference on Winter simulation Washington D.C.
Galvin, W. (1997). Hospital theatre scheduling and cutting-stock problem. ASOR
Bulletin, 16(3), 3-12. Gerchak, Y., Gupta, D., & Henig, M. (1996). Reservation planning for elective
surgery under uncertain demand for emergency surgery. Management Science, 42(3), 321-334.
Ghotb, F. (1993). Hospital waiting lists and allocation of additional resources. ASOR
Bulletin, 12(3), 2-14. Gladish, B. P., Parra, M. A., Terol, A. B., & Uria, V. R. (2005). Management of
surgical waiting lists through a possibilistic linear multiobjective programming approach. Applied Mathematics and Computation, 167(1), 477-495.
Gordon, V. S., & Strusevich, V. A. (2009). Single machine scheduling and due date
assignment with positionally dependent processing times. European Journal of Operational Research, 198(1), 57-62.
Guinet, A., & Chaabane, S. (2003). Operating theatre planning. International Journal
of Production Economics, 85(1), 69-81. Hamilton, D., & Breslawski, S. (1994). Operating room scheduling: factors to
consider. AORN Jounal, 59(3), 665-680. Hans, E., Wullink, G., Van Houdenhoven, M., & Kazemier, G. (2008). Robust
surgery loading. European Journal of Operational Research, 185(3), 1038-1050.
Harper, P. R. (2002). A framework for operational modelling of hospital resources.
Health Care Management Science, 5(3), 165-173. Hilkhuysen, G., Oudhoff, J., Rietberg, M., Van der Wal, G., & Timmermans, D.
(2005). Waiting for elective surgery: a qualitative analysis and conceptual framework of the consequences of delay. Public Health, 119(4), 290-293.
Huber, D. L., & McClelland, E. (2003). Patient preferences and discharge planning
transitions. Journal of Professional Nursing, 19(3), 204-210. Hughes, M., Carson, E., Morgan, C., & Silvester, P. (2005). Evaluating control in a
surgical progressive-care system. Control Engineering Practice, 13(9), 1123-1128.
173
Huo, Y., Leung, J. Y.-T., & Zhao, H. (2007). Bi-criteria scheduling problems: Number of tardy jobs and maximum weighted tardiness. European Journal of Operational Research, 177(1), 116-134.
Hurink, J. L., & Paulus, J. J. (2008). Online scheduling of parallel jobs on two
machines is 2-competitive. Operations Research Letters, 36(1), 51-56. Imagine That, I. (2002). Extend v6 - User's guide. San Jose, USA: Imagine That, Inc. Jang, W., & Klein, C. M. (2002). Minimizing the expected number of tardy jobs
when processing times are normally distributed. Operations Research Letters, 30(2), 100-106.
Jebali, A., Hadj-Alouane, A. B., & Ladet, P. (2006). Operating rooms scheduling.
International Journal of Production Economics, 99(1-2), 52-62. Jebali, A., Hadj-Alouane, A. B., & Ladet, P. (2003) Performance comparison of two
strategies for operating room scheduling. In International symposium on computational intelligence and intelligent informatics. Nabeul, Tunisia.
Jolai, F., Rabbani, M., S, A., Dabaghi, A., Dehghan, M., & Yazadn Parast, M.
(2007). Genetic algorithm for bi-criteria single machine scheduling problem of minimizing maximum earliness and number of tardy jobs. Applied Mathematics and Computation, 194(2), 552-560.
Kim, S.-C., Horowitz, I., Young, K. K., & Buckley, T. A. (2000). Flexible bed
allocation and performance in the intensive care unit. Journal of Operations Management, 18(4), 427-443.
Kozan, E., & Gillingham, S. (1997) A simulation model to increase the efficiency of
a hospital maternity system. In The International Congress on Modelling and Simulation. Tasmania, Australia.
Kuroda, M., Shin, H., & Zinnohara, A. (2002). Robust scheduling in an advanced
planning and scheduling environment. Journal of production research, 40(15), 3655-3668.
Kusters, R. J., & Groot, P. M. A. (1996). Modelling resource availability in general
hospitals. Design and implementation of a decision support system. European Journal of Operations Research, 88(3), 428-445.
Lamiri, M., Grimaud, F., & Xie, X. (2009). Optimization methods for a stochastic
surgery planning problem. International Journal of Production Economics, 120(2), 400-410.
Li, Z., & Ierapetritou, M. G. (2008). Process scheduling under uncertainty: Review
and challenges. Computers and Chemical Engineering, 32(4-5), 715-727.
174
M'Hallah, R., & Bulfin, R. L. (2007). Minimizing the weighted number of tardy jobs on a single machine with release dates. European Journal of Operational Research, 176(2), 727-744.
Martello, S., & Toth, P. (1990). Knapsack problems: algorithms and computer
implementations. Chichester: John Wiley & Sons Ltd. McHardy, S., Kozan, E., & Cook, D. (2004) Modelling of intensive care units and
operating theatre in public hospitals. In The Fifth Asia Pacific Industrial Engineering and Management Systems Conference. ANA Hotel, Gold Coast, Australia.
McManus, M. L., Long, M. C., Cooper, A., & Litvak, E. (2004). Queuing theory
accurately models the need for critical care resources. Anesthesiology, 100(5), 1271-1276.
McManus, M. L., Long, M. C., Cooper, A., Mandell, J., Berwick, D., Pagano, M. et
al. (2003). Variability in surgical caseload and access to intensive care services. Anesthesiology, 98(6), 1491-1496.
Miller, G. A., Fellbaum, C., Tengi, R., & Wakefield, R. (2006) WordNet. Retrieved
August 6, 2009, from http://wordnetweb.princeton.edu/perl/webwn?s=healthcare.
Min, D., & Yih, Y. (2010). An elective surgery scheduling problem considering
patient priority. Computers and Operations Research, 37(1091-1099. Mullen, P. M. (2003). Prioritising waiting lists: how and why? European Journal of
Operational Research, 150(1), 32-45. Nie, H., & Chen, S.-Y. (2007). Lognormal sum approximation with Type IV Pearson
distribution. Communications Letters, IEEE, 11(10), 790-792. Nouaouri, I., Nicolas, J.-C., & Jolly, D. (2010) Reactive Operating Schedule in Case
of a Disaster: Arrival of Unexpected Victims. In Proceedings of the World Congress on Engineering 2010 Vol III. London, UK.
Paulussen, T. O., Jennings, N. R., Decker, K. S., & Heinzl, A. (2003) Distributed
patient scheduling in hospitals. In The 18th International Joint Conference on Artificial Intelligence. Acapulco, Mexico.
Paulussen, T. O., Zoller, A., Heinzl, A., Pokahr, A., Braubach, L., & Lamersdorf, W.
(2004). Dynamic patient scheduling in hospitals. GITO Berlin. Persson, M., & Persson, J. A. (2005). Optimization modeling of hospital operating
room planning using a logistic perspective. Blekinge Institute of Technology, Sweden, Conference Presentation
175
Pham, D.-N., & Klinkert, A. (2008). Surgical case scheduling as a generalized job shop scheduling problem. European Journal of Operations Research, 185(3), 1011-1025.
Pinedo, M. (1995). Scheduling theory, algorithms and systems. Prentice-Hall Inc. Qi, X., Bard, J. F., & Yu, G. (2006). Disruption management for machine
scheduling: The case of SPT schedules. International Journal of Production Economics, 103(1), 166-184.
Queensland Health. (2004). Policy Framework for Elective Surgery Services.
Retrieved June 28, 2010, from www.health.qld.gov.au. Roland, B., Di Martinelly, C., Riane, F., & Pochet, Y. (2009). Scheduling an
operating theatre under human resource constraints. Computers & Industrial Engineering, 58(2), 212-220.
Sabuncuoglu, I., & Bayiz, M. (2000). Analysis of reactive scheduling problems in a
job shop environment. European Journal of Operational Research, 126(3), 567-586.
Santibanez, 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 management science, 10(3), 269-282.
Seo, D. K., Klein, C. M., & Jang, W. (2005). Single machine stochastic scheduling to
minimize the expected number of tardy jobs using mathematical programming models. Computers and Industrial Engineering, 48(2), 153-161.
Sier, D. (2004) A hospital unit performance calculator. In The Fifth Asia Pacific
Industrial Engineering and Management Systems Conference. ANA Hotel, Gold Coast, Australia.
Sier, D., Tobin, P., & McGurk, C. (1997). Scheduling surgical procedures. Journal of
the Operational Research Society, 48(9), 884-891. Soroush, H. M. (2007). Minimizing the weighted number of early and tardy jobs in a
stochastic single machine scheduling problem. European Journal of Operational Research, 181(1), 266-287.
Stankovic, J. A., Spuri, M., Di Natale, M., & Buttazzo, G. (1995). Implications of
classical scheduling results for real-time systems. Computer, 28(6), 16-25. Strum, D. P., May, J. H., & Vargas, L. G. (2000). Modeling the uncertainty of
surgical procedure times: comparison of lognormal and normal models. Anesthesiology, 92(4), 1160-1167.
176
Tan, Z., & Yu, S. (2008). Online scheduling with reassignment. Operations Research Letters, 36(2), 250-254.
Troy, P. M., & Rosenberg, L. (2009). Using simulation to determine the need for
ICU beds for surgery patients. Surgery, 146(4), 608-620. Van de Vonder, S., Demeulemeester, E., Herroelen, W., & Leus, R. (2005). The use
of buffers in project management: the trade-off between stability and makespan. International Journal of production economics, 97(2), 227-240.
Van Hentenryck, P., & Michel, L. (2005). Constraint based local search.
Cambridge: MIT Press. VanBerkel, P. T., & Blake, J. T. (2007). A comprehensive simulation for wait itme
reduction and capacity planning applied in general surgery. Health Care Management Science, 10(373-385.
Vermeulen, I., Bohte, S., Somefun, K., & La Poutre, H. (2006) Improving patient
activity schedules by multi-agent pareto appointment exchanging. In The 8th IEEE International Conference on E-commerce Technology and the 3rd IEEE International Conference on Enterprise computing.
Vermeulen, I. B., Bohte, S. M., Elkhuizen, S. G., Lameris, H., Bakker, P. J., & La
Poutre, H. (2009). Adaptive resource allocation for efficient patient scheduling. Artificial intelligence in Medicine, 46(1), 67-80.
Vissers, J. (1998). Patient flow-based allocation of inpatient resources: a case study.
European Journal of Operations Research, 105(2), 356-370. Vissers, J., Adan, I., & Dellaert, N. (2007). Developing a platform for comparison of
hospital admission systems: An illustration. European Journal of Operational Research, 180(3), 1290-1301.
Wan, G., & Yen, B. P.-C. (2009). Single machine scheduling to minimize total
weighted earliness subject to minimal number of tardy jobs. European Journal of Operational Research, 195(1), 89-97.
Weisstein, E. W. (1999-2010) Log Normal Distribution. Retrieved 25th August
2010, from http://mathworld.wolfram.com/LogNormalDistribution.html Winston, W. L. (2004). Operations research: Applications and algorithms.
Belmont, California: International Thomson Publishing. Wullink, G., Van Houdenhoven, M. V., Hans, E. W., van Oostrum, J. M., van der
Lans, M., & Kazemier, G. (2007). Closing emergency operating rooms improves efficiency. Journal of Medical Systems, 31(543-546.
Yang, B., & Geunes, J. (2008). Predictive-reactive scheduling on a single resource
with uncertain future jobs. European Journal of Operational Research, 189(3), 1267-1283.
177
Yu, G., & Qi, X. (2004). Disruption managment: framework, models and
applications. Singapore: World Scientific Publishing Co Pte Ltd.
178
APPENDIX A
Floor Plan PAH OT Department
179
APPENDIX B
Figure 28. BE&T LOS distribution
fitting results
Figure 29. CARD LOS distribution
fitting results
Figure 30. COLO LOS distribution
fitting results
Figure 31. FMAX LOS distribution
fitting results
Figure 32. ENT LOS distribution
fitting results
Figure 33. HPB LOS distribution
fitting results
180
Figure 34. NSUR LOS distribution
fitting results
Figure 35. PLAS LOS distribution
fitting results
Figure 36. OPHT LOS distribution
fitting results
Figure 37. RTPT LOS distribution
fitting results
Figure 38. ORTH LOS distribution
fitting results
Figure 39. UGI LOS distribution fitting results
181
Figure 40. UROL LOS distribution
fitting results
182
APPENDIX C
Algorithms
Robust scheduling models
Initial assignment algorithm Inputs
jC,J,I
j,i ,0ijX ∀=
j ,0jD,jE,jT ∀=
iR
I to 1i For = {
1j
1k
==
∑=
<J
1jiRijX While
{ kijX =
)0,jCjUmax(jT −=
)0,jUjCmax(jE −=
jTjEjD +=
If 0jT ==
1kk += Else {
1ijx'ijx −=
)0,jC'jUmax('
jT −=
)0,'jUCmax('
jE −=
'jT'
jE'jD +=
If 'jDjD <
{
ijx'ijx =
jT'jT =
jE'jE =
jD'jD =
183
1kk += } Else {
'ijxijx =
'jTjT =
'jEjE =
'jDjD =
1jj +=
1k = } }
} 1ii +=
}
Neighbourhood search algorithm
I to 1i For
1i
IM
==
=
{ 0maxijX If =
1ii += Else {
1maxijX'maxijX −=
1minijX'minijX +=
)0,C'maxusedmax('
maxjT −=
)0,C'minusedmax('
minjT −=
)0,'maxusedCmax('
maxjE −=
)0,'minusedCmax('
minjE −=
'maxjT'
maxjE'maxjD +=
'minjT'
minjE'minjD +=
If UB'minjD,maxjDmax <
{
'maxijXmaxijX =
'minijXminijX =
184
'maxjTmaxjT =
'minjTminjT =
'maxjEmaxjE =
'minjEminjE =
'maxjDmaxjD =
'minjDminjD =
Call max-min algorithm Return } Else { For M to 1m = { If im ≠ { 0minmjX If =
1mm += Else {
1maxmjX'maxmjX +=
1minmjX'minmjX −=
)0,C'maxusedmax('
maxjT −=
)0,C'minusedmax('
minjT −=
)0,'maxusedCmax('
maxjE −=
)0,'minusedCmax('
minjE −=
'maxjT'
maxjE'maxjD +=
'minjT'
minjE'minjD +=
If UB'minjD,'
maxjDmax <
{ For mn1 ≤≤ {
'minnjXminnjX =
'maxnjXmaxnjX =
}
'minijXminijX =
'maxijXmaxijX =
'maxjTmaxjT =
'minjTminjT =
185
'maxjEmaxjE =
'minjEminjE =
'maxjDmaxjD =
'minjDminjD =
Call max-min algorithm Return } Else {
'maxjD'
minjE or 'minjD'
maxjT If >>
{ For M to 1mm += { If im ≠ {
0'maxmjX If =
1mm += Else {
1maxmjX'maxmjX −=
1minmjX'minmjX +=
)0,C'maxusedmax('
maxjT −=
)0,C'minusedmax('
minjT −=
)0,'maxusedCmax('
maxjE −=
)0,'minusedCmax('
minjE −=
'maxjT'
maxjE'maxjD +=
'minjT'
minjE'minjD +=
If UB'minjD,'
maxjDmax <
{ For mn1 ≤≤ {
'minnjXminnjX =
'maxnjXmaxnjX =
}
'minijXminijX =
'maxijXmaxijX =
'maxjTmaxjT =
'minjTminjT =
186
'maxjEmaxjE =
'minjEminjE =
'maxjDmaxjD =
'minjDminjD =
Call max-min algorithm Return } Else { 1mm += break } } } } }
Else 'maxjD'
minjT or 'minjD'
maxjE If >>
{ For M to 1mm += { If im ≠ {
0'minmjX If =
1mm += Else {
1maxmjX'maxmjX +=
1minmjX'minmjX −=
)0,C'maxusedmax('
maxjT −=
)0,C'minusedmax('
minjT −=
)0,'maxusedCmax('
maxjE −=
)0,'minusedCmax('
minjE −=
'maxjT'
maxjE'maxjD +=
'minjT'
minjE'minjD +=
If UB'minjD,'
maxjDmax <
{ For mn1 ≤≤ {
'minnjXminnjX =
'maxnjXmaxnjX =
}
187
'minijXminijX =
'maxijXmaxijX =
'maxjTmaxjT =
'minjTminjT =
'maxjEmaxjE =
'minjEminjE =
'maxjDmaxjD =
'minjDminjD =
Call max-min algorithm Return } Else { 1mm += break } } } } } } } } } For In1 ≤≤ {
minnjX'minnjX =
maxnjX'maxnjX =
} } 1i i= + } }
188
APPENDIX D
Visual Basic Code
Robust Reactive Assignment model
Input Emergency Patient Macro
Sub InputEmergency()
Data1 = InputBox("Enter emergency patient specialty")
Data2 = InputBox("Enter emergency patient priority")
ActiveSheet.Next.Select
Range("D23").Select
ActiveCell.Offset((Data1 - 1) * 3 + Data2 - 1, 0).Select
ActiveCell.Value = ActiveCell.Value + 1
ActiveSheet.Previous.Select
End Sub
Re-set Data Macro
Sub Macro5()
Range("D10:D27").Select
Selection.Copy
ActiveSheet.Next.Select
Range("B5").Select
ActiveSheet.Paste
Range("C5").Select
ActiveSheet.Paste
Range("D5").Select
ActiveSheet.Paste
ActiveSheet.Previous.Select
Range("D29").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Next.Select
Range("B23").Select
ActiveSheet.Paste
Range("C23").Select
ActiveSheet.Paste
Range("D23").Select
ActiveSheet.Paste
ActiveSheet.Previous.Select
Range("E8:IV46").ClearContents
189
End Sub
Run Model Macro
Sub RunModel()
Capacity = Range("B5").Value
mygrab = InputBox("Enter length of last surgery (minutes)", "Grab Time")
Range("C8").Select
Selection.End(xlToRight).Select
CurrentTime = ActiveCell.Value + mygrab
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = CurrentTime
CapacityRemaining = (Capacity - CurrentTime) / 15
Sheets("CHANGE CALCS").Select
Range("H12").Select
ActiveCell.Value = CapacityRemaining
Sheets("INPUT DATA").Select
TypeofPatient = InputBox("What type patient just completed? Enter 1 for Elective,
2 forEmergency.")
specialty = InputBox("What specialty just completed? Enter 1,2,3,4,5 or 6.")
Priority = InputBox("What priority just completed? Enter 1,2 or 3")
If TypeofPatient <> "" Then
If specialty <> "" Then
If Priority <> "" Then
If TypeofPatient = 1 Then
ActiveCell.Offset(2, -1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _False, Transpose:=False
ActiveCell.Offset((specialty - 1) * 3 + Priority - 1, 0).Select
ActiveCell.Value = ActiveCell.Offset(0, -1).Value - 1
Selection.End(xlDown).Select
ActiveCell.Offset(2, -1).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _False, Transpose:=False
ActiveSheet.Next.Select
Range("D5").Select
ActiveCell.Offset((specialty - 1) * 3 + Priority - 1, 0).Select
ActiveCell.Value = ActiveCell.Value - 1
ActiveSheet.Previous.Select
Else
ActiveCell.Offset(21, -1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
190
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
ActiveCell.Offset((specialty - 1) * 3 + Priority - 1, 0).Select
ActiveCell.Value = ActiveCell.Offset(0, -1).Value - 1
Range("C27").Select
Selection.End(xlToRight).Select
Range(Selection, Selection.End(xlUp)).Select
Application.CutCopyMode = False
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
ActiveSheet.Next.Select
Range("D23").Select
ActiveCell.Offset((specialty - 1) * 3 + Priority - 1, 0).Select
ActiveCell.Value = ActiveCell.Offset(0, -1).Value - 1
ActiveSheet.Previous.Select
End If
If CurrentTime <= Capacity Then
Call ReactiveModel
Else
InputBox ("Time used exceeds capacity. No more patients can be
assigned.")
End If
Else
Range("D8").Select
Selection.End(xlToRight).Select
ActiveCell.Clear
End If
Else
Range("D8").Select
Selection.End(xlToRight).Select
ActiveCell.Clear
End If
Else
Range("D8").Select
Selection.End(xlToRight).Select
ActiveCell.Clear
End If
End Sub
Sub ReactiveModel()
Range("D10").Select
Selection.End(xlToRight).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveSheet.Next.Select
Range("B5").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
191
False, Transpose:=False
ActiveSheet.Previous.Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Next.Select
Range("B23").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("C5").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
If Range("F42").Value = 0 Then
InputBox ("Time used exceeds remaining. Some patients need to be cancelled.
Press enter to continue.")
n = 5
m = 40
Do While n <= m
If Range("C" & n).Value = 0 Then
n = n + 1
Else
Range("C" & n).Select
ActiveCell.Value = ActiveCell.Value - 1
If Range("F42").Value = 1 Then
OBJ = Range("F41").Value
If MaxOBJ = "" Then
MaxOBJ = OBJ
p = n
ActiveCell.Value = ActiveCell.Value + 1
n = n + 1
Else
If OBJ < MaxOBJ Then
MaxOBJ = OBJ
p = n
ActiveCell.Value = ActiveCell.Value + 1
n = n + 1
Else
ActiveCell.Value = ActiveCell.Value + 1
n = n + 1
End If
End If
Else
ActiveCell.Value = ActiveCell.Value + 1
n = n + 1
End If
End If
192
Loop
Range("C" & p).Select
ActiveCell.Value = ActiveCell.Value - 1
n = 5
Do While n <= m
If Range("D" & n).Value = 0 Then
n = n + 1
Else
If Range("D" & n).Value > Range("C" & n).Value Then
Range("C" & n).Select
ActiveCell.Value = ActiveCell.Value + 1
If Range("F42").Value = 1 Then
OBJ = Range("F41").Value
If OBJ < MaxOBJ Then
MaxOBJ = OBJ
q = n
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
Else
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
End If
Else
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
End If
Else
n = n + 1
End If
End If
Loop
If q > 0 Then
Range("C" & q).Select
ActiveCell.Value = ActiveCell.Value + 1
End If
Else
InputBox ("Time used less than remaining. Look for additional patients. Press
Enter to Continue.")
MaxOBJ = 0
n = 5
m = 40
Do While n <= m
If Range("D" & n).Value = 0 Then
n = n + 1
Else
If Range("D" & n).Value > Range("C" & n).Value Then
Range("C" & n).Select
ActiveCell.Value = ActiveCell.Value + 1
If Range("F42").Value = 1 Then
OBJ = Range("F41").Value
If OBJ < MaxOBJ Then
193
MaxOBJ = OBJ
p = n
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
Else
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
End If
Else
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
End If
Else
n = n + 1
End If
End If
Loop
If p > 0 Then
Range("C" & p).Select
ActiveCell.Value = ActiveCell.Value + 1
n = 5
m = 40
Do While n <= m
If Range("D" & n).Value = 0 Then
n = n + 1
Else
If Range("D" & n).Value > Range("C" & n).Value Then
Range("C" & n).Select
ActiveCell.Value = ActiveCell.Value + 1
If Range("F42").Value = 1 Then
OBJ = Range("F41").Value
If OBJ < MaxOBJ Then
MaxOBJ = OBJ
q = n
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
Else
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
End If
Else
ActiveCell.Value = ActiveCell.Value - 1
n = n + 1
End If
Else
n = n + 1
End If
End If
Loop
If q > 0 Then
Range("C" & q).Select
194
ActiveCell.Value = ActiveCell.Value + 1
End If
End If
End If
Range("C5:C22").Select
Selection.Copy
ActiveSheet.Previous.Select
Range("C10").Select
Selection.End(xlToRight).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C29").Select
Selection.End(xlToRight).Select
ActiveSheet.Next.Select
Range("C23:C40").Select
Application.CutCopyMode = False
Selection.Copy
ActiveSheet.Previous.Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub
Robust Reactive Scheduling model Branch and Bound Code
Input Patient Macro
Sub InputNewPatient()
Data1 = InputBox("Enter patient job number (ID)")
Data2 = InputBox("Enter patient specialty")
Data3 = InputBox("Enter patient priority")
Data4 = InputBox("Enter patient type, 1 = Elective, 2 = Emergency")
ActiveSheet.Next.Select
Range("B4").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Data1
ActiveCell.Offset(0, 1).Value = Data2
ActiveCell.Offset(0, 2).Value = Data3
ActiveCell.Offset(0, 3).Value = Data4
ActiveCell.Offset(0, 4).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-3],R6C14:R11C18,4,FALSE)"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-4],R6C14:R11C18,5,FALSE)"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],R6C14:R11C18,2,FALSE)"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-6],R6C14:R11C18,3,FALSE)"
Range(Selection, Selection.End(xlToLeft)).Select
Selection.Copy
Sheets("Initial sequence").Select
Range("B4").Select
195
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("I5").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=(RC[-7]/RC[-1])"
Sheets("Results").Select
End Sub
Run Initial Schedule Macro
Sub RunInitialSequence()
Sheets("Initial sequence").Select
Range("f1").Value = 32
Range("B5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("k5"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("D5").Select
i = 1
n = Range("B1").Value
Range("F5").Select
Mean = 0
Variance = 0
Mu = 0
Sigma = 0
Do While i <= n
Mean = Mean + ActiveCell.Offset(i, 0).Value
Variance = Variance + ActiveCell.Offset(i, 1).Value
i = i + 1
Loop
Mu = Math.Log((Mean ^ 2) / (Mean ^ 2 + Variance) ^ (1 / 2))
Sigma = Math.Log((Variance + Mean ^ 2) / (Mean ^ 2))
SumDuration = Math.Exp(Mu + Sigma ^ (1 / 2))
SumDuration1 = SumDuration
capacity = Range("F1").Value
If capacity < SumDuration Then
If capacity > 0 Then
j = 1
n = Range("B1").Value
z = Range("D1").Value
capacity = Range("f1").Value
capacity_current = capacity
z_current = z
Call FindU
If z_current < z Then
196
z = z_current
Range("l5").Select
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
j = n
Range("l5").Select
ActiveCell.Offset(j, 0).Select
If ActiveCell.Value = 1 Then
capacity_current = capacity_current + ActiveCell.Offset(0, -2).Value
z_current = z_current + ActiveCell.Offset(0, -4).Value
ActiveCell.Value = 0
End If
Call BackTrack
End If
End If
If Range("f1").Value < SumDuration1 Then
Range("B5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("m5"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B6").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Results").Select
Range("D9").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Else
Range("B6").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Results").Select
Range("D9").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
End Sub
FindU Macro
Sub FindU()
Cells.Select
Selection.Copy
ActiveSheet.Next.Select
Cells.Select
197
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B5").Select
i = j
r = i
u = 0
Range("F5").Select
ActiveCell.Offset(1, 0).Select
If Range("l6").Value = Empty Then
duration = Exp(ActiveCell.Offset(i - 1, 2).Value + Math.Sqr(ActiveCell.Offset(i
- 1, 3).Value))
SumDuration2 = duration
Mu2 = ActiveCell.Offset(i - 1, 2).Value
Sigma2 = ActiveCell.Offset(i - 1, 3).Value
Mean2 = ActiveCell.Offset(i - 1, 0).Value
Variance2 = ActiveCell.Offset(i - 1, 1).Value
Else
Mean2 = Mean + ActiveCell.Offset(i - 1, 0).Value
Variance2 = Variance + ActiveCell.Offset(i - 1, 1).Value
Mu2 = Math.Log((Mean2 ^ 2) / Math.Sqr(Mean2 ^ 2 + Variance2))
Sigma2 = Math.Log((Mean2 ^ 2 + Variance2) / (Mean2 ^ 2))
SumDuration2 = Math.Exp(Mu2 + Math.Sqr(Sigma2))
End If
Do While SumDuration2 <= capacity_current
u = u + ActiveCell.Offset(i - 1, -2).Value
r = i
ActiveCell.Offset(0, 9).Select
If r = 1 Then
ActiveCell.Value = ActiveCell.Offset(0, -9).Value
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, -8).Value
ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, -7).Value
ActiveCell.Offset(0, 3).Value = ActiveCell.Offset(0, -6).Value
ActiveCell.Offset(0, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
Else
m = i - 1
ActiveCell.Offset(m, 0).Select
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + ActiveCell.Offset(0, -
9).Value
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(-1, 1).Value +
ActiveCell.Offset(0, -8).Value
ActiveCell.Offset(0, 2).FormulaR1C1 = "=LN((RC[-2]^2)/SQRT(RC[-2]^2+RC[-
1]))"
ActiveCell.Offset(0, 3).FormulaR1C1 = "=LN((RC[-3]^2+RC[-2])/RC[-3]^2)"
ActiveCell.Offset(0, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
m = m - 1
End If
i = i + 1
m = i
p = 1
Do While p <= n - m + 1
198
ActiveCell.Offset(p, 0).Value = ActiveCell.Value + ActiveCell.Offset(p, -
9).Value
ActiveCell.Offset(p, 1).Value = ActiveCell.Offset(0, 1).Value +
ActiveCell.Offset(p, -8).Value
ActiveCell.Offset(p, 2).FormulaR1C1 = "=LN((RC[-2]^2)/SQRT(RC[-2]^2+RC[-
1]))"
ActiveCell.Offset(p, 3).FormulaR1C1 = "=LN((RC[-3]^2+RC[-2])/RC[-3]^2)"
ActiveCell.Offset(p, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
ActiveCell.Offset(p, -5).Value = ActiveCell.Offset(p, 4).Value -
ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(p, -4).Value = ActiveCell.Offset(p, -11).Value /
ActiveCell.Offset(p, -5).Value
p = p + 1
Loop
ActiveCell.Offset(0, -13).Select
ActiveCell.Offset(1, 0).Select
If ActiveCell.Offset(1, 0).Value <> Empty Then
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("k5"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
Range("F6").Select
If i <= n Then
Mean2 = Mean2 + ActiveCell.Offset(i - 1, 0).Value
Variance2 = Variance2 + ActiveCell.Offset(i - 1, 1).Value
Mu2 = Math.Log((Mean2 ^ 2) / Math.Sqr(Mean2 ^ 2 + Variance2))
Sigma2 = Math.Log((Mean2 ^ 2 + Variance2) / (Mean2 ^ 2))
SumDuration2 = Math.Exp(Mu2 + Math.Sqr(Sigma2))
Else
SumDuration2 = SumDuration2 + 1000
End If
Loop
If i <= n Then
Mean2 = Mean2 - ActiveCell.Offset(i - 1, 0).Value
Variance2 = Variance2 - ActiveCell.Offset(i - 1, 1).Value
If Mean2 > 0 And Variance2 > 0 Then
Mu2 = Math.Log((Mean2 ^ 2) / Math.Sqr(Mean2 ^ 2 + Variance2))
Sigma2 = Math.Log((Mean2 ^ 2 + Variance2) / (Mean2 ^ 2))
SumDuration3 = Math.Exp(Mu2 + Math.Sqr(Sigma2))
u = u + ((capacity_current - SumDuration3) / (SumDuration2 - SumDuration3) *
ActiveCell.Offset(i - 1, -2).Value)
Else
Mu2 = 0
Sigma2 = 0
u = 0
End If
End If
Range("g1").Select
ActiveCell.Value = u
ActiveCell.Offset(1, 0).Select
199
ActiveCell.FormulaR1C1 = "=FLOOR(R[-1]C,1)"
u = ActiveCell.Value
Range("F6").Select
If z <= (z_current - u) Then
Call BackTrack
Exit Sub
Else
Call ForwardStep
End If
End Sub
ForwardStep Macro
Sub ForwardStep()
Sheets("Initial sequence").Select
Range("F6").Select
If Range("L6").Value <> Empty Then
Mean = 0
Variance = 0
Range("f6").Select
Do While ActiveCell.Value <> Empty
Mean = Mean + ActiveCell.Value * ActiveCell.Offset(0, 6).Value
Variance = Variance + ActiveCell.Offset(0, 1).Value * ActiveCell.Offset(0,
6).Value
ActiveCell.Offset(1, 0).Select
Loop
Range("F6").Select
Mean = Mean + ActiveCell.Offset(j - 1, 0).Value
Variance = Variance + ActiveCell.Offset(j - 1, 1).Value
Mu = Math.Log((Mean ^ 2) / Math.Sqr(Mean ^ 2 + Variance))
Sigma = Math.Log((Mean ^ 2 + Variance) / (Mean ^ 2))
SumDuration = Math.Exp(Mu + Math.Sqr(Sigma))
Else
duration = Exp(ActiveCell.Offset(j - 1, 2).Value + Math.Sqr(ActiveCell.Offset(j
- 1, 3).Value))
SumDuration = duration
Mu = ActiveCell.Offset(j - 1, 2).Value
Sigma = ActiveCell.Offset(j - 1, 3).Value
Mean = ActiveCell.Offset(j - 1, 0).Value
Variance = ActiveCell.Offset(j - 1, 1).Value
End If
Do While SumDuration < capacity_current
If ActiveCell.Offset(j - 1, 0).Value <> Empty Then
duration = SumDuration
z_current = z_current - ActiveCell.Offset(j - 1, -2).Value
r = j
ActiveCell.Offset(j - 1, 6).Value = 1
ActiveCell.Offset(0, 9).Select
If r = 1 Then
ActiveCell.Value = ActiveCell.Offset(0, -9).Value
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, -8).Value
200
ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, -7).Value
ActiveCell.Offset(0, 3).Value = ActiveCell.Offset(0, -6).Value
ActiveCell.Offset(0, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
Else
m = j - 1
ActiveCell.Offset(m, 0).Select
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value + ActiveCell.Offset(0,
-9).Value
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(-1, 1).Value +
ActiveCell.Offset(0, -8).Value
ActiveCell.Offset(0, 2).FormulaR1C1 = "=LN((RC[-2]^2)/SQRT(RC[-2]^2+RC[-
1]))"
ActiveCell.Offset(0, 3).FormulaR1C1 = "=LN((RC[-3]^2+RC[-2])/RC[-3]^2)"
ActiveCell.Offset(0, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
End If
j = j + 1
m = j
p = 1
Do While p <= n - m + 1
ActiveCell.Offset(p, 0).Value = ActiveCell.Value + ActiveCell.Offset(p, -
9).Value
ActiveCell.Offset(p, 1).Value = ActiveCell.Offset(0, 1).Value +
ActiveCell.Offset(p, -8).Value
ActiveCell.Offset(p, 2).FormulaR1C1 = "=LN((RC[-2]^2)/SQRT(RC[-2]^2+RC[-
1]))"
ActiveCell.Offset(p, 3).FormulaR1C1 = "=LN((RC[-3]^2+RC[-2])/RC[-3]^2)"
ActiveCell.Offset(p, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
ActiveCell.Offset(p, -5).Value = ActiveCell.Offset(p, 4).Value -
ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(p, -4).Value = ActiveCell.Offset(p, -11).Value /
ActiveCell.Offset(p, -5).Value
p = p + 1
Loop
ActiveCell.Offset(0, -13).Select
ActiveCell.Offset(1, 0).Select
If ActiveCell.Offset(1, 0).Value <> Empty Then
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("k5"), Order1:=xlDescending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
Range("F6").Select
Mean = Mean + ActiveCell.Offset(j - 1, 0).Value
Variance = Variance + ActiveCell.Offset(j - 1, 1).Value
Mu = Math.Log((Mean ^ 2) / Math.Sqr(Mean ^ 2 + Variance))
Sigma = Math.Log((Mean ^ 2 + Variance) / (Mean ^ 2))
SumDuration = Math.Exp(Mu + Math.Sqr(Sigma))
Else
Exit Do
End If
201
Loop
If SumDuration <> duration Then
Mean = Mean - ActiveCell.Offset(j - 1, 0).Value
Variance = Variance - ActiveCell.Offset(j - 1, 1).Value
Mu = Math.Log((Mean ^ 2) / Math.Sqr(Mean ^ 2 + Variance))
Sigma = Math.Log((Mean ^ 2 + Variance) / (Mean ^ 2))
SumDuration = Math.Exp(Mu + Math.Sqr(Sigma))
End If
If j <= n Then
ActiveCell.Offset(j - 1, 6).Value = 0
j = j + 1
End If
If j < n Then
Call FindU2
Exit Sub
End If
If j = n Then
Call ForwardStep
Exit Sub
End If
If z_current < z Then
z = z_current
Range("l5").Select
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
End Sub
BackTrack Macro
Sub BackTrack()
Sheets("Initial sequence").Select
i = j - 1
Range("f6").Select
Do While i > 0
If ActiveCell.Offset(i - 1, 6).Value = 1 Then
Mean = Mean - ActiveCell.Offset(i - 1, 0).Value
Variance = Variance - ActiveCell.Offset(i - 1, 1).Value
If Mean > 0 And Variance > 0 Then
Mu = Math.Log((Mean ^ 2) / Math.Sqr(Mean ^ 2 + Variance))
Sigma = Math.Log((Mean ^ 2 + Variance) / (Mean ^ 2))
SumDuration = Math.Exp(Mu + Math.Sqr(Sigma))
Else
Mean = 0
Variance = 0
Mu = 0
Sigma = 0
202
SumDuration = 0
End If
z_current = z_current + ActiveCell.Offset(i - 1, -2)
ActiveCell.Offset(i - 1, 6).Value = 0
j = i + 1
Call FindU2
Exit Sub
Else
i = i - 1
End If
Loop
Exit Sub
End Sub
FindU2 Macro
Sub FindU2()
Cells.Select
Selection.Copy
ActiveSheet.Next.Select
Cells.Select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B5").Select
i = j
r = i
u = 0
Range("F5").Select
ActiveCell.Offset(1, 0).Select
If Range("l6").Value = Empty Then
duration = Exp(ActiveCell.Offset(i - 1, 2).Value + Math.Sqr(ActiveCell.Offset(i
- 1, 3).Value))
SumDuration2 = duration
Mu2 = ActiveCell.Offset(i - 1, 2).Value
Sigma2 = ActiveCell.Offset(i - 1, 3).Value
Mean2 = ActiveCell.Offset(i - 1, 0).Value
Variance2 = ActiveCell.Offset(i - 1, 1).Value
Else
Mean2 = Mean + ActiveCell.Offset(i - 1, 0).Value
Variance2 = Variance + ActiveCell.Offset(i - 1, 1).Value
Mu2 = Math.Log((Mean2 ^ 2) / Math.Sqr(Mean2 ^ 2 + Variance2))
Sigma2 = Math.Log((Mean2 ^ 2 + Variance2) / (Mean2 ^ 2))
SumDuration2 = Math.Exp(Mu2 + Math.Sqr(Sigma2))
End If
Do While SumDuration2 <= capacity_current
u = u + ActiveCell.Offset(i - 1, -2).Value
r = i
ActiveCell.Offset(0, 9).Select
If r = 1 Then
ActiveCell.Value = ActiveCell.Offset(0, -9).Value
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, -8).Value
203
ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, -7).Value
ActiveCell.Offset(0, 3).Value = ActiveCell.Offset(0, -6).Value
ActiveCell.Offset(0, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
Else
m = i - 1
ActiveCell.Offset(m, 0).Select
p = 1
Do While ActiveCell.Offset(-p, -3).Value = 0
p = p + 1
Loop
ActiveCell.Offset(0, -3).Value = 1
ActiveCell.Value = ActiveCell.Offset(-p, 0).Value + ActiveCell.Offset(0, -
9).Value
ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(-p, 1).Value +
ActiveCell.Offset(0, -8).Value
ActiveCell.Offset(0, 2).FormulaR1C1 = "=LN((RC[-2]^2)/SQRT(RC[-2]^2+RC[-
1]))"
ActiveCell.Offset(0, 3).FormulaR1C1 = "=LN((RC[-3]^2+RC[-2])/RC[-3]^2)"
ActiveCell.Offset(0, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
End If
i = i + 1
m = i
p = 1
Do While p <= n - m + 1
ActiveCell.Offset(p, 0).Value = ActiveCell.Value + ActiveCell.Offset(p, -
9).Value
ActiveCell.Offset(p, 1).Value = ActiveCell.Offset(0, 1).Value +
ActiveCell.Offset(p, -8).Value
ActiveCell.Offset(p, 2).FormulaR1C1 = "=LN((RC[-2]^2)/SQRT(RC[-2]^2+RC[-
1]))"
ActiveCell.Offset(p, 3).FormulaR1C1 = "=LN((RC[-3]^2+RC[-2])/RC[-3]^2)"
ActiveCell.Offset(p, 4).FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
ActiveCell.Offset(p, -5).Value = ActiveCell.Offset(p, 4).Value -
ActiveCell.Offset(0, 4).Value
ActiveCell.Offset(p, -4).Value = ActiveCell.Offset(p, -11).Value /
ActiveCell.Offset(p, -5).Value
p = p + 1
Loop
ActiveCell.Offset(0, -13).Select
ActiveCell.Offset(1, 0).Select
If ActiveCell.Offset(1, 0).Value <> Empty Then
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("k5"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
Range("F6").Select
If i <= n Then
Mean2 = Mean2 + ActiveCell.Offset(i - 1, 0).Value
Variance2 = Variance2 + ActiveCell.Offset(i - 1, 1).Value
Mu2 = Math.Log((Mean2 ^ 2) / Math.Sqr(Mean2 ^ 2 + Variance2))
204
Sigma2 = Math.Log((Mean2 ^ 2 + Variance2) / (Mean2 ^ 2))
SumDuration2 = Math.Exp(Mu2 + Math.Sqr(Sigma2))
Else
SumDuration2 = SumDuration2 + 1000
End If
Loop
If i <= n Then
Mean2 = Mean2 - ActiveCell.Offset(i - 1, 0).Value
Variance2 = Variance2 - ActiveCell.Offset(i - 1, 1).Value
If Mean2 > 0 And Variance2 > 0 Then
Mu2 = Math.Log((Mean2 ^ 2) / Math.Sqr(Mean2 ^ 2 + Variance2))
Sigma2 = Math.Log((Mean2 ^ 2 + Variance2) / (Mean2 ^ 2))
SumDuration3 = Math.Exp(Mu2 + Math.Sqr(Sigma2))
u = u + ((capacity_current - SumDuration3) / (SumDuration2 - SumDuration3) *
ActiveCell.Offset(i - 1, -2).Value)
Else
Mu2 = 0
Sigma2 = 0
u = 0
End If
End If
Range("g1").Select
ActiveCell.Value = u
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=FLOOR(R[-1]C,1)"
u = ActiveCell.Value
Range("F6").Select
If z <= (z_current - u) Then
Call BackTrack
Exit Sub
Else
Call ForwardStep
End If
End Sub
Run Model(2) Macro
Sub RunModel2()
Sheets("Results").Select
capacity = Range("B5").Value
mygrab = InputBox("Enter length of last surgery (minutes)", "Grab Time")
Range("c8").Select
Selection.End(xlToRight).Select
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = mygrab
Dim Data5 As Integer
Data5 = InputBox("For completed patient, enter patient number")
Sheets("Initial sequence").Select
Range("F1").Value = (capacity - mygrab) / 15
Range("l6").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
205
Selection.ClearContents
Range("B6").Select
Do While ActiveCell.Value <> Data5
ActiveCell.Offset(1, 0).Select
Loop
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Range("J6").Select
Do While ActiveCell.Value <> Empty
ActiveCell.FormulaR1C1 = "=EXP(RC[-2]+SQRT(RC[-1]))"
ActiveCell.Offset(0, 1).FormulaR1C1 = "=(RC[-7]/(RC[-1]))"
ActiveCell.Offset(1, 0).Select
Loop
Range("B5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("k5"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("D5").Select
i = 1
n = Range("B1").Value
Range("F5").Select
Mean = 0
Variance = 0
Mu = 0
Sigma = 0
Do While i <= n
Mean = Mean + ActiveCell.Offset(i, 0).Value
Variance = Variance + ActiveCell.Offset(i, 1).Value
i = i + 1
Loop
Mu = Math.Log((Mean ^ 2) / (Mean ^ 2 + Variance) ^ (1 / 2))
Sigma = Math.Log((Variance + Mean ^ 2) / (Mean ^ 2))
SumDuration = Math.Exp(Mu + Sigma ^ (1 / 2))
SumDuration1 = SumDuration
capacity = Range("F1").Value
If capacity < SumDuration Then
If capacity > 0 Then
j = 1
n = Range("B1").Value
z = Range("D1").Value
capacity = Range("f1").Value
capacity_current = capacity
z_current = z
Call FindU
If z_current < z Then
z = z_current
Range("H5").Select
ActiveCell.Offset(1, 0).Select
206
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
j = n
Range("K5").Select
ActiveCell.Offset(j, 0).Select
If ActiveCell.Value = 1 Then
capacity_current = capacity_current + ActiveCell.Offset(0, -2).Value
z_current = z_current + ActiveCell.Offset(0, -4).Value
ActiveCell.Value = 0
End If
Call BackTrack
End If
End If
If Range("f1").Value < SumDuration1 Then
Range("B5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("m5"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B6").Select
If ActiveCell.Offset(1, 0).Value <> Empty Then
Range(Selection, Selection.End(xlDown)).Select
End If
Selection.Copy
Sheets("Results").Select
Range("D9").Select
Do While ActiveCell.Value <> Empty
ActiveCell.Offset(0, 1).Select
Loop
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Else
Range("B6").Select
If ActiveCell.Offset(1, 0).Value <> Empty Then
Range(Selection, Selection.End(xlDown)).Select
End If
Selection.Copy
Sheets("Results").Select
Range("D9").Select
Do While ActiveCell.Value <> Empty
ActiveCell.Offset(0, 1).Select
Loop
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
End Sub