Back to index

consecutive.so module reference

Description

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.

Required resource types

Configuration file must define the following resource types in order to use this module:

Defined resource restrictions

Defined tuple restrictions

consecutive

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>

periods-per-block

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>

Supported module options

Module groups

This module belongs to the following groups:

Author

Tomaz Solc, tomaz.solc@tablix.org

Credits

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.

Back to index