Si tu n'as encore pas trouvé de solution, je me permets de te donner quelques renseignements qui pourraient t'intéresser.
tu dois tout d'abord définir les contraintes obligatoires, c-à-d celles qu'il faut respecter pour que ton emploi de temps soit valide, ensuite tu dois exprimer ces contraintes sous choco en définissant les variables et leurs domaines respectifs et en formulant les contraintes selon les règles de choco. ensuite tu dois faire une observation des résultats obtenus par le solveur. Je pense qu'à ce niveau, les mécanismes de recherche de choco font bien l'affaire et inutile de voir d'autres mécanismes (comme simplexe ou branch-and bound).
Si tu arrives à un résultat concret, tu as alors le choix:
- Tu peux te contenter d'une solution réalisable, c-à-d qui respecte toutes les contraintes obligatoires, et dans ce cas tu peux optimiser le temps de recherche par les techniques de branchement et de propagation disponibles pour pouvoir traiter des problèmes de plus en plus riches. ce qui nécessiterait un travail important.
- Si tu cherches l'optimisation, tu dois alors définir les critères à optimiser ou les contraintes préférentielles et les modéliser avec choco. Tu pourrais ensuite chercher à résoudre ce problème par les mécanismes de choco mais il ne faut surtout pas confondre la programmation par contraintes et la programmation linéaire qui semblerait plus adaptée à ce genre de problèmes (et qui n'est pas gérée pas choco).