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

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

Saved successfully!

Ooh no, something went wrong!