Horaires scolaires

Comment fonctionne la génération d’emploi du temps scolaire

Ce que la génération place, l’ordre qui garde la grille soluble, et comment les exécutions manuelles, automatiques et mixtes restent sous le contrôle du planificateur.

Juho Isola, fondateur de Smootables

La génération d’emploi du temps place les classes convenues dans les périodes. C’est là tout son travail. Elle s’exécute sur la structure dotée en personnel et vérifiée pour la faisabilité que la planification annuelle a produite ; elle n’invente pas le curriculum et ne peut pas réparer un plan faible.

La génération peut être manuelle, automatique ou mixte. Dans les trois cas, le rôle du solveur est celui d’un assistant : faire remonter les problèmes avant l’application des changements, tandis que le planificateur décide quoi verrouiller, déplacer ou relancer.

Ce guide couvre ce que la génération consomme, l’ordre qui garde une grille soluble, et où le jugement du planificateur reste présent. Le workflow plus large qui l’entoure est cartographié dans créer un emploi du temps scolaire ; la passation qui doit la précéder est traitée dans la passation vers l’emploi du temps.

Points essentiels

  • La génération consomme une structure dotée et vérifiée pour la faisabilité, et la transforme en cours placés.
  • Les éléments les plus contraints passent en premier : les singletons, puis les matières de base, puis les options.
  • Les planifications manuelle, automatique et mixte sont toutes légitimes ; le choix revient au planificateur.
  • Le retour du solveur est examiné avant qu’un changement s’applique, jamais après.

Ce que la génération consomme

Les entrées sont les classes convenues, les affectations de personnel, les salles et les contraintes issues de la planification. La génération les place ; elle ne les remet pas en question. Une structure qui n’a pas passé les contrôles de faisabilité peut échouer au placement pour des raisons qu’aucun solveur ne peut réparer, parce que l’échec a été conçu en amont.

Cette frontière est utile. Quand une exécution échoue, la première question est de savoir de quel côté se trouve le problème : les données et la structure, ou le placement.

Exécuter la génération dans l’ordre des contraintes

Placez les éléments les plus difficiles pendant que la grille a encore de la place pour eux.

  1. Confirmer que la structure est dotée en personnel et vérifiée pour la faisabilité avant tout placement.
  2. Verrouiller les points fixes auxquels l’école s’est déjà engagée.
  3. Placer les singletons et les autres cours avec très peu de périodes valides.
  4. Placer les matières de base que de nombreux élèves doivent suivre.
  5. Placer les options et les matières facultatives dans l’espace restant.
  6. Examiner le retour du solveur, puis envoyer les conflits non résolus vers la validation ou la résolution de conflits plutôt que de forcer la grille.

Comment faire dans Smootables : générer un emploi du temps

La génération s’exécute sur le plan de période, après la validation et dans le périmètre que vous choisissez.

Dans Smootables, la génération s’exécute à partir du plan de période et valide avant de résoudre.

  1. Dans Planification, ouvrez la période et cliquez sur Générer l’emploi du temps (ou Générer un nouvel emploi du temps s’il en existe déjà un).
  2. Choisissez le périmètre dans la boîte de dialogue Périmètre de génération : Groupes modifiés uniquement, ou Tous les groupes d’élèves.
  3. Le solveur s’exécute en deux phases : d’abord les contraintes dures pour trouver une grille faisable, puis les préférences souples pour l’améliorer.
  4. Réglez le côté souple sous Paramètres du solveur : six poids de 0 à 200 (Trous des élèves, Trous des enseignants, Équilibre quotidien des élèves, Équilibre quotidien des enseignants, Répartition des matières, Préférence matinale). Un poids de 0 désactive une contrainte, et seule la Préférence matinale est activée par défaut.
  5. Restreignez un placement unique avec les Préférences d’horaire : jours de semaine spécifiques, matin ou après-midi, ou tous les cours le même jour.

Manuel, automatique ou mixte

Certaines écoles placent tout à la main, d’autres génèrent tout, et beaucoup mélangent : le solveur place les cours, le planificateur examine les exceptions et verrouille ce qui ne doit pas bouger. Les trois approches sont légitimes. La question décisive est de savoir où le jugement apporte de la valeur, et la réponse diffère selon l’école.

Ce qui ne diffère pas : le retour est examiné avant l’application des changements. Un solveur qui montre un clash avant le déplacement est un assistant. Appliquée en silence, la même suggestion est un risque.

Certains planificateurs se demandent si un chatbot généraliste pourrait faire ce travail à la place d'un solveur. Voir ChatGPT peut-il créer un emploi du temps scolaire ? pour connaître les éléments disponibles à ce sujet.

Liste de contrôle avant génération

Un manque dans cette liste est ce qui réapparaît plus tard déguisé en erreur du solveur.

  • Des classes dotées en personnel issues de la structure de planification annuelle
  • Blocs, bandes, sets et motifs d’options vérifiés là où l’école les utilise
  • Points fixes identifiés et verrouillés
  • Disponibilités des enseignants et besoins de salles saisis pour la validation
  • Un choix délibéré de planification manuelle, automatique ou mixte
  • Une étape d’examen entre le retour du solveur et les changements appliqués

Après l’exécution

Une exécution terminée est un brouillon, pas une décision. Vérifiez la grille par rapport aux engagements qui ont été verrouillés, puis traitez les restes : les constats de validation retournent aux données, les cours bloqués vont en résolution de conflits.

Pour la façon dont les contrôles eux-mêmes se divisent en étapes statique et dynamique, voir validation des contraintes.

Questions des planificateurs sur la génération

La génération peut-elle corriger un plan de curriculum inachevé ?

Non. Si la dotation en personnel, les blocs ou les structures de classes ne sont pas faisables, le solveur redécouvre cette infaisabilité sous forme de placements échoués. Corrigez la structure en planification, là où la correction est peu coûteuse.

Qu’est-ce qu’un singleton et pourquoi passe-t-il en premier ?

Un cours avec très peu de créneaux valides, souvent une classe unique avec un seul enseignant qualifié. Les cours faciles peuvent remplir presque n’importe quel créneau, ils peuvent donc attendre. Laissez un singleton pour la fin et ses rares créneaux valides seront déjà pris.

Une exécution échouée signifie-t-elle que les données sont fausses ?

Souvent. Les lacunes de données remontent comme des échecs de placement, et le solveur ne peut signaler que l’endroit où il s’est bloqué. Lancez la validation avant d’accuser les contraintes.

Autres guides sur ce thème

Découvrez comment Smootables s’adapte à votre établissement

Réservez une démonstration : nous alignerons Smootables sur votre planification, votre charge enseignante et votre processus d’horaires.