Diagnostiquer une génération qui échoue

La génération « échoue » quand le solveur ne parvient pas à tout caser : il rend le meilleur EDT partiel trouvé, et les séances qu'il a dû sacrifier restent dans la barre des post-its à placer (une bannière rouge résume le blocage). Le problème est presque toujours une sur-contrainte : trop de cours pour les créneaux ouverts, ou des contraintes trop serrées pour s'emboîter. Le remède consiste à relâcher ce qui peut l'être — c'est l'objet de cette page. Pour comprendre comment le solveur priorise et ce qu'il sacrifie, voir Génération automatique ; pour le catalogue des conflits sur un EDT déjà posé, voir Conflits et diagnostic.

Le diagnostic est une piste, pas un verdict

Quand une séance ne peut pas être positionnée, Omniscol met en avant l'entité qui a posé le plus de problèmes au fil des tentatives — « ce professeur n'a pas assez de créneaux », « cette classe ne tient pas dans sa grille ». C'est une heuristique : l'entité signalée est celle qui revient le plus souvent dans les blocages, pas nécessairement la cause unique. Les contraintes sont croisées — desserrer ailleurs peut tout débloquer. Prenez donc le message comme une direction de recherche : le vrai remède est souvent de détendre la sur-contrainte générale (un peu plus de créneaux, des disponibilités moins strictes) plutôt que de s'acharner sur l'entité pointée.

Causes les plus fréquentes

1. Disponibilités trop restrictives

Un professeur a marqué tellement de plages comme impossibles qu'il ne reste pas assez de créneaux pour positionner ses séances.

Diagnostic : examinez l'écran des disponibilités du professeur concerné. Comptez les créneaux libres et comparez à son volume horaire.

Résolutions :

  • Assouplir certaines plages (passer du noir au rouge — indésirable mais pas impossible),
  • Redistribuer les cours (attribuer une partie à un autre professeur),
  • Discuter avec le professeur si la disponibilité est négociable.

2. Pas de salle compatible

Une matière requiert une spécialisation pour laquelle aucune salle n'est créée, ou toutes les salles correspondantes sont occupées sur les seuls créneaux possibles.

Résolutions :

  • Créer la spécialisation manquante sur une salle adéquate,
  • Réduire la contrainte de spécialisation,
  • Ajouter une salle.

3. Capacité insuffisante

L'effectif d'un groupe / d'une classe dépasse la capacité de toutes les salles candidates.

Résolutions :

  • Affecter une salle plus grande,
  • Affecter plusieurs salles à un même cours (la capacité totale est la somme),
  • Diviser la classe / le groupe.

4. Alignement structurellement impossible

Les volumes horaires des groupes alignés diffèrent, ou les classes parentes ont des grilles horaires incompatibles, ou un professeur aligné ne peut être qu'à un seul endroit.

Résolutions :

  • Harmoniser les volumes horaires entre les groupes alignés,
  • Désaligner et créer un cours par classe,
  • Vérifier que les sites des classes alignées partagent une grille horaire commune sur le créneau cible.

5. Trop de séances de cours pour la grille

Quand une classe ou un professeur a manifestement plus d'heures que de créneaux ouverts, un avertissement le signale en amont (onglet Génération, compteurs heures vs créneaux). Le cas pervers est plus sournois : pris isolément, aucun débordement évident, mais l'accumulation des contraintes entre professeurs et classes — et leurs croisements — finit par ne plus rentrer.

Résolutions :

  • Réduire les volumes horaires saisis,
  • Étendre la grille horaire (ouvrir le mercredi après-midi, par exemple),
  • Assouplir quelques indisponibilités, en visant les plages que beaucoup d'entités évitent en même temps : le cumul sature la grille.

6. Incompatibilités trop nombreuses

Empiler les contraintes « pas X après Y » peut créer un système sans solution.

Résolution : remplacer certaines incompatibilités par des poids pédagogiques plus souples.

7. Pas assez de salles (goulot d'étranglement)

Très fréquent : même si chaque salle convient, leur nombre ne suffit pas à absorber la demande au même moment. Les séances de cours s'empilent sur les mêmes créneaux et le manque de salles devient le goulot qui empêche l'ensemble de rentrer.

Résolutions :

  • Ajouter des salles (ou en mutualiser entre classes),
  • Étaler la demande en élargissant la grille horaire,
  • Réduire les contraintes qui concentrent les cours sur peu de créneaux.

8. Plusieurs sites : les trajets rognent les heures

Avec plusieurs sites, les temps de trajet entre implantations réduisent les créneaux réellement utilisables par un professeur (ou une classe) : changer de site coûte du temps, qui n'est plus disponible pour placer une séance. Les disponibilités effectives se resserrent et le casse-tête se complique.

Résolutions :

  • Regrouper les cours d'un professeur sur un même site dans la journée,
  • Vérifier les temps de trajet déclarés entre sites,
  • Limiter les allers-retours inter-sites dans une même journée.

Checklist avant de relancer une génération

  • Toutes les classes ont un site assigné ?
  • Toutes les classes ont leurs matières et leurs professeurs ?
  • Tous les groupes utilisés dans des cours ont un effectif théorique ou une capacité gérable ?
  • Les disponibilités de tous les professeurs sont validées ?
  • Pas d'alerte critique (rouge) dans l'onglet Génération ?

Outils de diagnostic intégrés

  • Onglet Générationen amont : statistiques (cours / heures par professeur, par classe, par site) et avertissements (heures vs créneaux, alertes critiques à corriger avant de lancer).
  • Séances non placées (post-its, à droite) — après un échec : la sortie d'une génération incomplète. Le bouton de positionnement (punaise) sur chacune montre, par les créneaux colorés, pourquoi aucune place ne convient.
  • Détection de groupes oubliés : groupes définis mais sans aucun cours affecté.

Procédure

Diagnostiquer une génération qui échoue

  1. Quand la génération échoue, Omniscol affiche une bannière rouge, garde l'EDT partiel visible, et place les séances qu'il n'a pas pu caser dans la barre des post-its, à droite.

  2. Lisez la bannière : elle donne une direction (heuristique, cf. plus haut), pas un verdict.

  3. Partez des séances non placées, pas de « conflits ». La génération ne crée jamais de conflit : elle laisse simplement de côté ce qui ne rentre pas. Prenez une séance dans les post-its et cliquez son bouton de positionnement (punaise, Positionner sur l'emploi du temps).

  4. Lisez les créneaux colorés. Omniscol affiche tous les créneaux candidats ; pour une séance impossible à placer, ils sont tous bloqués. Cherchez pourquoi, dans l'ordre des trois bloquants usuels : le professeur occupé ou indisponible, la classe (ou le groupe) occupée, ou aucune salle libre et compatible. La raison s'affiche au survol du créneau.

  5. Relâchez la contrainte qui bloque — selon le cas : assouplir des disponibilités, ajouter ou libérer une salle, harmoniser un alignement, élargir la grille (cf. les causes ci-dessus) — puis relancez.

  6. Avant de relancer, parcourez la checklist plus haut (sites assignés, matières et professeurs en place, effectifs renseignés, disponibilités validées, pas d'alerte critique dans l'onglet Génération).

Voir aussi