Adds support for events that must be scheduled adjacent to one another. This module uses updater functions, so the weight and mandatory values are ignored.
Configuration file must define the following resource types in order to use this module:
This restriction specifies that the repeats of the current event need to be scheduled consecutively.
Please note that this module distinguishes events by the assignments of constant resources and event names. The way events are defined in the XML file has no effect. The following two examples will therefore both result in one block of four consecutive "Lecture" events.
Example 1:
<event name ="Lecture" repeats="2"> <resource type="teacher" name="A"/> <resource type="class" name="B"/> <restriction type="consecutive"/> </event> <event name ="Lecture" repeats="2"> <resource type="teacher" name="A"/> <resource type="class" name="B"/> <restriction type="consecutive"/> </event>
Example 2:
<event name ="Lecture" repeats="4"> <resource type="teacher" name="A"/> <resource type="class" name="B"/> <restriction type="consecutive"/> </event>
If you would like to have two blocks of two consecutive "Lecture" events, you must either change the names of two events like in the following example or use the periods-per-block restriction.
<event name ="Lecture 1" repeats="2"> <resource type="teacher" name="A"/> <resource type="class" name="B"/> <restriction type="consecutive"/> </event> <event name ="Lecture 2" repeats="2"> <resource type="teacher" name="A"/> <resource type="class" name="B"/> <restriction type="consecutive"/> </event>
This restriction specifies that the repeats of the current event need to be scheduled blocks of N consecutive events. If the number of repeats is not divisible by N, then one block will have less than N events.
Events in the following example will be scheduled in two blocks of three consecutive events, two blocks of two consecutive events and one single event.
<event name ="Lecture" repeats="6"> <resource type="teacher" name="A"/> <resource type="class" name="B"/> <restriction type="periods-per-block">3</restriction> </event> <event name ="Lecture" repeats="5"> <resource type="teacher" name="A"/> <resource type="class" name="B"/> <restriction type="periods-per-block">2</restriction> </event>
This module belongs to the following groups:
Tomaz Solc, tomaz.solc@tablix.org
Original idea for this module by Nick Robinson (npr@bottlehall.co.uk). Module was later rewritten to serve as an example for the new updater function feature in 0.3.1 by Tomaz Solc.