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 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)

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

Saved successfully!

Ooh no, something went wrong!