Les contraintes sur les emplois du temps sont données dans des fichiers texte, à raison d'une contrainte par ligne.
Les contraintes sont précédées au début du fichier de 4 lignes qui indiquent la taille du problème (nombre d'enseignants, de salles, de créneaux et de cours).
Définit le nombre d'enseignants (on peut faire référence par la suite via Ens_i à l'enseignant n°i).
Définit le nombre de salles (on peut faire référence par la suite via Sl_i à la salle n°i).
Définit le nombre de créneaux gérés (on peut faire référence par la suite via Cx_i au créneau n°i). On suppose 7 créneaux de 1h par jour (8h-9h, 9h-10h, 10h-11h, 11h-12h, 14h-15h, 15h-16h et 16h-17h). Si on traite 14 créneaux, cela signifie que l'on établi un emploi du temps sur le lundi et le mardi. 35 créneaux correspondent à une semaine complète.
Définit le nombre de cours à placer.
Ci-dessous la syntaxe des contraintes:
Indique que l'enseignant n°i peut enseigner les cours j1, j2, etc. Un enseignant i ne peut pas enseigné un cours j si cette contrainte ne l'indique pas.
Indique que le cours i doit avoir lieu dans une des salles j1, j2, etc. Si une salle n'est pas spécifiée pour un enseignement, ce dernier ne peut pas avoir lieu dans cette salle.
Indique que l'enseignant i ne peut pas faire cours au créneaux j1, j2, etc.