Solveur / Algorithme de génération automatique

Le solveur d'Omniscol calcule automatiquement le placement des séances d'un EDT hebdomadaire, cyclique ou calendrier. Il place les séances créées qui ne sont pas encore positionnées, peut déplacer les séances déjà positionnées si cela améliore l'EDT, et conserve les séances verrouillées à leur place.

Comment ça fonctionne

Quand vous lancez une génération, Omniscol 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 les premiers calculs visibles. Le résultat dépend de la qualité des données saisies : sites, salles, professeurs, groupes, volumes horaires, disponibilités et incompatibilités. Plus les contraintes sont nombreuses ou contradictoires, plus la génération peut être longue ou produire un résultat partiel.

Le moteur est une IA d'optimisation métaheuristique Monte-Carlo neuro-symbolique : il combine recherche stochastique, règles métier symboliques et scoring des contraintes. Le point important est opérationnel : le solveur est conçu pour des cas très contraints, tout en signalant les situations impossibles plutôt que de masquer les conflits.

Contraintes strictes

Le solveur respecte strictement les contraintes qui rendraient l'EDT invalide :

  • un professeur ne peut pas être à deux endroits en même temps ;
  • une classe ne peut pas suivre deux séances en même temps, sauf cas prévu par des groupes en partition ;
  • les disponibilités et contraintes de niveau indisponible bloquent le placement ;
  • une salle standard ne peut pas accueillir deux séances au même moment ;
  • une grande salle peut accueillir plusieurs séances seulement dans les limites de capacité et de nombre de classes configurées ;
  • les salles spécialisées, capacités, ressources matérielles et trajets inter-sites doivent rester compatibles ;
  • une séance verrouillée conserve sa position.

Contraintes d'optimisation

Les contraintes souples servent à noter et améliorer les solutions trouvées. Elles ne sont pas ignorées : elles deviennent des malus que le solveur cherche à réduire.

Exemples fréquents :

  • disponibilités ou contraintes indésirables pour un professeur, une salle, une matière, un groupe ou une classe ;
  • incompatibilités pédagogiques entre matières, par exemple éviter un TP avant le cours correspondant, éviter le sport juste après un cours très dense, ou imposer l'ordre d'une progression ;
  • éviter d'avoir deux fois la même matière dans la même journée pour une classe ;
  • minimum ou maximum d'heures de cours par jour ou par semaine ;
  • équilibre des journées ;
  • réduction des trous dans les EDT des classes et des professeurs ;
  • nombre de jours de présence des professeurs, selon les usages de l'établissement ou du pays.

La recherche d'une solution valide est la première étape. L'optimisation des malus peut ensuite devenir la partie la plus longue du calcul.

Disponibilité

  • EDT hebdomadaires — disponible.
  • EDT cycliques — disponible.
  • EDT calendriers — disponible avec des séances datées et une plage de dates.

Que faire si la génération échoue

Si aucune solution complète n'est trouvée, Omniscol conserve le meilleur EDT calculé et laisse les séances impossibles à placer dans la liste des post-its non positionnés. Vous pouvez alors inspecter l'EDT partiel, lire le diagnostic et corriger les contraintes.

Causes fréquentes :

  • disponibilités trop restrictives (un professeur n'a aucun créneau libre compatible),
  • pas assez de salles, ou pas de salle spécialisée disponible,
  • alignement incohérent (volumes horaires différents entre les groupes alignés),
  • incompatibilités trop nombreuses ou trop strictes,
  • effectif théorique de la classe > capacité de toutes les salles candidates.

Voir Diagnostiquer une génération qui échoue.

Forcer le placement d'une séance

Vous pouvez verrouiller la position d'une séance avant de relancer la génération : le solveur ne la déplace alors plus, mais ajuste les autres autour. Pratique pour ancrer les séances « immuables » (interventions extérieures fixées par contrat, examens datés, etc.).

Voir aussi