FAQ — Comportement de l'algorithme de génération
Questions fréquentes sur le comportement du moteur de génération automatique. Pour la description du solveur lui-même, voir Solveur ; pour le détail opérationnel, voir Génération automatique.
Sur quels types d'EDT le solveur fonctionne-t-il ?
Sur les EDT hebdomadaires, cycliques et calendrier. En mode calendrier, les séances sont placées sur des dates réelles et les options de génération incluent des bornes de dates.
Comment fonctionne l'algorithme ?
Omniscol lance un traitement de résolution en arrière-plan. Le solveur évalue les séances à placer, les contraintes déclarées et les préférences de génération. Le résultat dépend surtout de la qualité des données : volumes horaires, professeurs, salles, groupes, disponibilités, incompatibilités et contraintes inter-sites.
Chaque génération démarre un environnement de calcul dédié et parallélisé. Il n'y a pas de file d'attente à gérer côté école ; l'initialisation prend souvent autour d'une dizaine de secondes avant que le calcul effectif commence. Dans le module Gestion des EDT, le bouton Générer EDT lance le calcul, suit son état et permet d'inspecter le résultat.
Le moteur est une IA d'optimisation métaheuristique Monte-Carlo neuro-symbolique : recherche stochastique, contraintes symboliques et optimisation progressive des scores. Ce n'est pas une promesse de réussite sur un jeu de contraintes impossible ; dans ce cas, Omniscol renvoie un diagnostic.
Combien de temps prend une génération ?
La durée dépend de la taille de l'EDT, du nombre de séances, du nombre de contraintes et des options choisies. À titre d'ordre de grandeur, un collège d'environ 550 élèves, 45 professeurs et 16 classes, avec beaucoup de disponibilités, peut obtenir en moins d'une minute un EDT complet, avec très peu ou pas de trous, quand les données sont cohérentes. Un cas plus dense, très contraint ou avec des optimisations coûteuses peut prendre nettement plus longtemps.
Le solveur respecte-t-il toutes les contraintes ?
Les contraintes dures sont respectées strictement :
- un professeur à un seul endroit au même moment ;
- une classe sans double placement, sauf groupes en partition ;
- disponibilités et créneaux marqués indisponibles ;
- salle standard occupée par une seule séance à la fois ;
- grande salle utilisée seulement dans ses limites de capacité et de nombre de classes ;
- salles spécialisées, capacités, ressources matérielles et trajets inter-sites compatibles ;
- séances verrouillées conservées à leur place.
Les contraintes souples (disponibilités indésirables, préférences, pondération pédagogique, équilibre des journées, nombre de jours de présence, trous dans les EDT) sont optimisées au mieux. Elles créent des malus : le solveur cherche la solution qui en accumule le moins, mais peut en conserver si c'est le meilleur compromis compatible avec les contraintes dures.
Que faire si la génération échoue ?
Quand aucune solution complète n'est trouvée, Omniscol renvoie le meilleur EDT calculé et laisse les séances non positionnées dans la barre des post-its. L'EDT partiel reste consultable pour comprendre ce qui a été placé, puis corriger les contraintes ou repositionner certaines séances manuellement. Les causes les plus fréquentes sont décrites dans la page Diagnostiquer une génération qui échoue.
Peut-on forcer manuellement la position d'une séance ?
Oui, via le verrouillage d'une séance après positionnement manuel. Le solveur ne déplace pas une séance verrouillée lors d'une nouvelle génération, mais ajuste les autres autour. Utile pour ancrer les séances immuables (interventions extérieures à date fixe, examens datés).
Pourquoi le solveur ne propose-t-il pas plusieurs solutions ?
Le solveur optimise selon les contraintes et préférences déclarées et retourne la meilleure solution trouvée. Pour obtenir plusieurs solutions à comparer, dupliquez l'EDT avant chaque génération et ajustez légèrement les contraintes ou pondérations entre deux passes.
Le solveur tient-il compte des absences déclarées ?
Le solveur s'applique sur l'EDT structurel, indépendamment des absences. Les absences sont gérées a posteriori dans le module Gestion des absences (voir Vue d'ensemble du module Absences), avec impact sur l'affichage de l'EDT publié et sur les statistiques du Tableau de bord (pas sur la structure sous-jacente).
Conflit volontaire et conflit bloquant
Tous les conflits ne sont pas équivalents :
- Conflits non bloquants — peuvent être laissés en l'état si c'est un choix délibéré (par exemple, une salle dont l'effectif affiché excède la capacité parce qu'on sait que tous les inscrits ne viendront pas). L'alerte reste visible mais ne bloque pas.
- Conflits bloquants — empêchent la génération automatique de réussir (pas de salle compatible, alignement incohérent, etc.). Le bouton Générer EDT reste désactivé tant que ces conflits subsistent.
Voir Conflit.