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 4. Solving the DRP 26<br />
decreases over time. Given, a temperature T , an incumbent value z(S) and a neighbor<br />
value z( S), the probability of accepting a neighborhood, in a minimisation problem, is<br />
commonly chosen to be the Metropolis criterion:<br />
pmin(z(S), z( S), T ) =<br />
<br />
1 if z( S) ≤ z(S)<br />
exp( z( S)−z(S)<br />
T ) otherwise<br />
When the algorithm starts and the temperature is still high, the criterion accepts arbi-<br />
trarily large deteriorations in solution value, but as the temperature drops only smaller<br />
deteriorations are accepted and finally, when the temperature reaches zero, no deteri-<br />
orations are accepted. At this point, the SA is essentially a basic, hill climbing (or<br />
descending), LS. <strong>The</strong> temperature is controlled by some scheme, also implemented in<br />
this project, that can be as simple as T = α · T , where α ∈ [0, 1[. This scheme is a static<br />
scheme, but one can also choose a dynamic scheme, such as one based on the ratio of<br />
accepted solutions.<br />
Algorithm 4.4 outlines the basic SA steps.<br />
Algorithm 4.4 Simulated Annealing - require: Schedule S, start temperature T<br />
S ← S<br />
while ¬Stop do<br />
S ← choose S from N(S)<br />
if z(S) > z( S) then<br />
S ← S<br />
else if exp( z( S)−z(S)<br />
T<br />
S ← S<br />
end if<br />
T ← Update(T )<br />
end while<br />
) > random[0,1) then<br />
<strong>The</strong> initial value and update of the temperature in each iteration is one of the parameters<br />
that need to be tuned to each problem. In this project I set T = 1000 and α = 0.999.<br />
<strong>The</strong>se values was accepted after due tuning and allows the temperature to drop towards<br />
a defined end-temperature in a steady manner. An example is given in figure C.2 in<br />
appendix C.2.5.<br />
4.3.5 Heuristic bounds<br />
It can be useful to describe the bounds of the search algorithm which is chosen. I do<br />
however feel, that proving the bound of the approximations described above is out of<br />
the scope of this project and I thus leave it for future considerations. Chapter 7 includes<br />
(M)