View
217
Download
0
Category
Preview:
Citation preview
Hospital placements allocation
Stephen Cresswell
and
Lee McCluskey
Introduction
• Problem belongs to Human & Health Department, who run on course on Operating Department Practi{c|s}e (ODP).
• 2-year course, in which students are sent on 7 hospital placements per year.
• Up to now, each student has been allocated to a single hospital for the year – so hospitals have taken the responsibility for organising a suitable programme.
Introduction (2)
• ODP would like to organise placements centrally.– Work around bottlenecks to increase the capacity of the
course– Give students experience of more than one hospital
• A side-effect of this change will be that allocating students to placements has become a combinatorial problem seemingly too difficult to do by hand.
• In the rest of the talk, we describe the problem and our approaches to solving it.
Constraints
• Reachability of hospitals: Placements must be within reasonable commuting distance from home location of student. Participating hospitals: – Leeds(3), Bradford, Huddersfield, Halifax, Dewsbury,
Wakefield, Pontefract, Keighley, Harrogate.
• Non-repetition: Each of 6 placements is in either anaesthetics or surgery in one of 4 specialities:– General Surgery, Gynaecology, Urology,
Orthopaedics.
More constraints
• Capacity: Each hospital has a limited capacity (usually 0-2) for the number of placement students that can be accepted in each speciality.
• Alternation: A student should not have – 2 consecutive placements of anaesthetic, or – 2 consecutive placements of surgery.
Goals
• Can we produce an allocation of students to placements which meets all the constraints?
• How many more students can be accommodated under the central placements system?– The availability of placements is the main
factor limiting the expansion of the course.
Simplifying assumptions
• Pair timeslots so that students take – Surgery then Anaesthetic, or – Anaesthetic then Surgery
in the same speciality.
Student has same phase for all placements.
• We then have 3 timeslots, and we must allocate 3 from 4 specialities.
Example scheduleStudent t1 t2 t3 t4 t5 t6
1 BUPA BUPA Dewsbury Dewsbury LGI LGI
Ortho Ortho General General Gynae Gynae
Surgery Anaesth Surgery Anaesth Surgery Anaesth
2 Bradford Bradford Calderdale Calderdale Bradford Bradford
Ortho Ortho Urology Urology General General
Anaesth Surgery Anaesth Surgery Anaesth Surgery
3 …
Model
• Symbols:h - hospital, st - student,sp - speciality, t - timeslot, ph - phase
• cap(h,sp)– Integer capacity of hospital h in speciality sp
• reachable(st)– Set of hospitals reachable by student st
• alloc(st,t)– Allocation of student st at time t, – Allocation is tuple <h,sp,ph>
Model: Capacity
• Number of students allocated to a particular hospital, speciality and phase is within available capacity.
),(,,),(:.... sphcapphsphtstallocsttphsph
Model: Reachability of hospitals
• Student can only be allocated to reachable hospitals
),(
,,),(..
...
hstreachable
phsphtstallocphsp
htst
Model: Non-repetition
• Don’t repeat same speciality – i.e. set of student’s allocated specialiaties has unique element for each time slot.
3,,),(...:. phsphtstallocphhtspst
Model: Alternation
• Phase for student matches alloctation for student in all timeslots:
phsphtstallocsphtphst ,,),(.....
Prolog solution
• For each alloc(st,t) we have a Prolog term t(H,Sp), where H and Sp are initially uninstantiated variables.
• Use Prolog built-in depth-first-search with heuristic ordering determining solution order for students.
• Constraints checked as allocations made:– Capacity: total for of each <h,sp,ph,t> tracked.– Reachability– Non-repetition– Alternation: checked via phase variable for each student.
Constraint Programming
• A finite domain variable for each alloc(st,t).• Each tuple <h,sp,ph> represented by an integer
value.• Constraint types:
– Capacity - ‘atmost’ constraint
– Reachability - a priori pruning of domain
– Non-repetition - ‘alldifferent’ constraint
– Alternation - element constraint linking a phase variable for student with indexes of compatible tuples.
Constraint Programming
• Post constraints first, then impose search strategy.• Finds schedule with (almost) no backtracking.• Default search strategy was “fail first” heuristic.
– Select variable with smallest domain– Not so different from Lee’s heuristic
• There are some symmetries - e.g. between timeslots and between some sets of students. We didn’t try breaking those symmetries.
• (Implemented in Oz).
ILP model
ILP summary
• Some of the constraints are not naturally encoded as linear inequations, and this defeats the solver.
• Solving a relaxed version of the problem is good for detecting infeasibility. Relaxations:
Integer/continuousCollapse timeIgnore phase (A-S or S-A)
• Appropriate for optimising an objective function rather than finding any feasible solution.
Results
Table shows #students in largest solved prob.
Pure
Prolog
CLP ILP for
Relaxed prob.
Prob1 66 69 73
Prob2 71 72 75
Optimal Optimal
Results(2)
• Pure Prolog solution is faster.• CLP approach found solutions for more students.• Prolog and CLP programs, used very similar
heuristics– Prolog a priori ordering of students according to
number reachable hospitals
– CLP program used ‘fail first’ heuristic – dynamically ordering variables to select var with smallest domain – i.e. the smallest choice of <hosp,sp,ph> tuples.
Goals
• Can we produce an allocation of students to placements which meets all the constraints?– Yes!
• How many more students can be accommodated under the central placements system?– Current capacity of the course is 56 students.
– We can produce schedules for up to 69 students, assuming additional students can travel anywhere.
– There could be solutions up to 73 students.
Further work
Conclusions
• Problem is easy to solve for the number of students currently involved.
• Maximising number of students is more challenging.
• Software can be used for Huddersfield ODP problem, and hopefully also elsewhere.
Scrapyard
phsphtstalloctphsp
streachableh
hst
,,),(...
)(
..
Recommended