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 55<br />
in the solution, a value of the contribution to the objective function is stored (both<br />
violations of hard constraints, but also the objective function value contribution).<br />
Algorithm 8.1 outlines a possible implementation of a delta function for equation H0.<br />
Algorithm 8.1 Delta function H0 - require: schedule S<br />
∆H0 = 0<br />
Set ← Select random shifts from S<br />
for all Shifti in Set do<br />
Shift2 ← S.getNextShift(Shifti)<br />
if Shifti.get<strong>Doctor</strong>()= Shift2.get<strong>Doctor</strong>() then<br />
∆H0 = ∆H0 + 1<br />
end if<br />
end for<br />
Return ∆H0<br />
∆H0 is then the amount of shifts in the new neighborhood that are violating constraint<br />
H0. Similar rules could be devised for the rest of the constraints, keeping hard constraints<br />
violations separated from soft constraints objective function value contribution.<br />
<strong>The</strong> total ∆ (over all constraints) could then be compared to that of the contribution<br />
made by the shifts affected by the neighborhood.<br />
8.3 GRASP learning<br />
A simple way to improve the GRASP algorithm used in this project would be to incor-<br />
porate one or more of the learning mechanisms described in section 4.3.3. One way to do<br />
this would be to track the (shift,doctor)-assignment that violates one or more rules and<br />
bias that specific assignment such that GRASP would be more inclined not to perform<br />
the same assignment in the next iteration.<br />
Expanding on this, could be more biasing towards (shift,doctor)-assignments that violate<br />
more or less rules than other (shift,doctor)-assignments. <strong>The</strong> bias-function could then<br />
be introduced through a ranking, where a higher rank means less violations and higher<br />
priority, or a probability distribution, with a probability for each assignment based on<br />
the average number of rules it violated in the previous iterations of GRASP (and perhaps<br />
how many violations it produces in the current).<br />
8.3.1 GRASP stop criterion<br />
An improvement, other than those presented in section 4.3.3, to the GRASP imple-<br />
mentation is that of another stop criterion. As concluded in chapter 7, the GRASP