27.07.2013 Views

The Doctor Rostering Problem - Asser Fahrenholz

The Doctor Rostering Problem - Asser Fahrenholz

The Doctor Rostering Problem - Asser Fahrenholz

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!