240 likes | 345 Views
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.
E N D
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.
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.
Model: Reachability of hospitals • Student can only be allocated to reachable hospitals
Model: Non-repetition • Don’t repeat same speciality – i.e. set of student’s allocated specialiaties has unique element for each time slot.
Model: Alternation • Phase for student matches alloctation for student in all timeslots:
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 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/continuous Collapse time Ignore 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.
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.
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.