TP3 : Tournoi sportif
Trois écoles organisent un tournoi sportif. Chaque école fait
participer quatre équipes. Le tournoi est organisé en six
manches. Chaque manche fait intervenir deux équipes pour chacune
des six disciplines. Une équipe ne doit pas rencontrer une
équipe de la même école. Une équipe ne doit pas jouer deux fois dans
la même discipline pendant le tournoi. Une équipe ne doit pas
rencontrer deux fois la même équipe adverse.
Fabriquer le programme du tournoi.
La solution aura la forme suivante (la première école présente les
équipes 1, 2, 3 et 4, la seconde les équipes 5, 6, 7, 8, ...) :
-
première manche :
[1,5] [2,6] [3,9] [4,10] [7,11] [8,12]
;
- deuxième manche :
[7,12] [8,11] [1,6] [2,5] [3,10] [4,9]
;
- ...
Pour obtenir des résultats en un temps de calcul raisonnable, il est
indispensable de supprimer des solutions équivalentes en rompant les
symétries (ajout de contraintes supplémentaires) :
-
la rencontre
[1,5]
est équivalente à la rencontre [5,1]
;
- la première manche peut être fixée arbitrairement (en respectant les contraintes) ;
- l'ordre des manches n'importe pas, i.e. on peut le choisir (par exemple en choisissant un ordre sur la première première équipe de la première discipline).
Pour la mise au point du programme, vous pourrez utiliser une solution
fournie en utilisant ainsi les contraintes en vérification ;
pour cela il suffit d'instancier les variables avec la solution. Une
solution est lisible dans
/usr/local/serveur/ILOG/tournoi.txt
.
This document was translated from LATEX by
HEVEA.