The Doctor Rostering Problem - Asser Fahrenholz
The Doctor Rostering Problem - Asser Fahrenholz
The Doctor Rostering Problem - Asser Fahrenholz
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 8. Future considerations 54<br />
Combined, these three elements relate two sets of shifts to each other through a<br />
comparator. <strong>The</strong> end user specifies the end point through r1 and r2, that are the<br />
offset of days and the offset of shifts. I.e. equation H0 would be modelled by the<br />
comparator = and the offset 0 and 1 respectively. As we move on to implement<br />
other rules, a more specific representation of the subset i and j is needed. Several<br />
subset could be premade and ready for the end user to choose from, e.g. holidays,<br />
weekdays, Mondays, . . . Fridays, and likewise for the shifts.<br />
Type 2 describes demands on certain shifts. A default demand could be specified by<br />
the user, such that only shifts that deferred from this default demand would need<br />
to be specified. <strong>The</strong>se would consist of the following elements:<br />
1. the point p(i, j) on which to specify the demand<br />
2. the demand of doctors<br />
Type 3 is for dividing the assignments of shifts equally. This would simply be hard-<br />
coded and be available for the user to enable or disable.<br />
For all types, the user should be able to specify whether the rule is a hard or soft<br />
constraint.<br />
8.2 Neighborhood delta function and feasibility<br />
<strong>The</strong> most time consuming task of the heuristics is the calculation of a new objective func-<br />
tion value when exploring a given neighborhood (and feasibility of said neighborhood).<br />
To reduce the time spent on finding the new objective function value, a delta function<br />
can be implemented, allowing the calculation of only the changes a neighborhood brings,<br />
as opposed to the total objective function value.<br />
We note again, that selection of the shifts for a new neighbor is, as described in section<br />
4.3.2, random. Random selection of shifts to rotate or invert also means infeasible<br />
solutions explored in the Local Search. As mentioned earlier, due to how constrained the<br />
problem is, we allow infeasibility. Hence, the heuristics not only seek global optimum of<br />
solution value, but also minimisation of the number of violated shifts. This means, that<br />
it is not enough to check the objective function value when exploring a neighborhood,<br />
but also check the hard constraints (for feasibility).<br />
A delta function is generally a function calculating the value of a change. This means<br />
that we need the value of the old (shift,doctor)-assignments (of the shifts that are affected<br />
by the neighborhood). To do this, it is required, that for each (shift,doctor)-assignment