Retour à l'index

Module consecutive.so

Auteur

Tomaz Solc, tomaz.solc@tablix.org

Credits

Idée originale pour ce module de Nick Robinson (npr@bottlehall.co.uk). Le module a été réécrit pour servir d'exemple pour une nouvelle fonction de mise à jour dans la version 0.3.1, par Tomaz Solc.

Groupes du module

Ce module appartient aux groupes suivants:

Description

Permet de prendre en compte les évènements qui doivent être planifiés juste avant ou juste après un autre. Ce module utilise les fonctions de mise à jour (updater functions), si bien que les valeurs de poids et d'obligation sont ignorées.

Types de ressource requis

Le fichier de configuration doit définir les types de ressources suivants pour pouvoir utiliser ce module :

Restrictions de ressource définies

Restrictions de tuples définies

consecutive

Cette restriction spécifie que la répétition de l'évènement courant doit être planifiée de façon consécutive.

Remarquez que ce module distingue les évènements par l'association de ressources constantes et de noms d'évènements. La façon dont les évènements sont définies dans le fichier XML n'a pas d'importance. Les deux exemples suivants auront pour même effet de construire un bloc de 4 évènements consécutifs de "Lecture".

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

Exemple 2:

<event name ="Lecture" repeats="4">
	<resource type="teacher"  name="A"/>
	<resource type="class"  name="B"/>
	<restriction type="consecutive"/>
</event>

Si vous souhaitiez avoir deux blocs de deux évènements "Lecture" consécutifs, vous devriez soit changer les noms des deux évènements, comme dans l'exemple suivant, ou utiliser la restriction "periods-per-block".

<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

Cette restriction spécifie que la répétition de l'évènement courant doit se faire par bloc de N évènements consécutifs. Si le nombre de répétitions n'est pas divisible par N, alors un bloc aura moins de N évènements.

Les évènements de l'exemple suivant seront planifiés en deux blocs de trois évènements consécutifs, deux blocs de deux évènements consécutifs, et un évènement seul.

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

Options de module

Retour à l'index