Planification automatique
La génération des rencontres décide qui joue contre qui. La planification décide quand et où. FairGame s'occupe de cette deuxième partie avec un solveur de contraintes : vous décrivez le tournoi, il place chaque match.
Si vous ajoutez une équipe à une poule toutes rondes après la création des rencontres, la prochaine planification automatique pour la journée de cette poule crée les matchs manquants avant de leur attribuer un créneau. Lors de cet ajout, les matchs déjà programmés et joués conservent leurs créneaux, et le résultat indique le nombre de rencontres créées. La génération des rencontres ajoute uniquement les paires manquantes ; elle ne modifie jamais les matchs existants. Dans la boîte de dialogue de la page des matchs, choisissez Ajouter les rencontres manquantes si la catégorie a déjà des rencontres. Les poules suisses et les planifications limitées aux phases à élimination directe ne génèrent pas de matchs toutes rondes. Elle place les nouveaux matchs autour des matchs existants, y compris dans une catégorie ou un jour déjà bien rempli. Le résultat indique aussi combien de matchs existants ont été laissés à leur place, et le nombre de matchs placés ne compte que les nouveaux.
Le bouton d’information à côté du planificateur automatique explique le moteur sélectionné et ses règles. Le repos minimum et les erreurs d’enregistrement restent visibles dans la confirmation.
Ce que cela garantit
Quoi qu'il fasse par ailleurs, un planning produit ne contient jamais :
- deux matchs sur le même terrain au même moment ;
- une équipe qui joue deux matchs en même temps ;
- un match en dehors des disponibilités de son terrain ;
- une violation d'une règle de planification que vous avez marquée comme obligatoire.
Ce sont des contraintes strictes. Si elles ne peuvent pas toutes être respectées, le solveur vous le signale au lieu de générer un planning qui en enfreint discrètement une. Le planificateur standard ignore les règles marquées Requires the advanced scheduler — voir les deux moteurs ci-dessous.
Ce que cela optimise
Parmi les plannings valides, il privilégie ceux qui sont plus agréables à jouer et plus simples à gérer :
- Repos équilibré. Les équipes bénéficient d'intervalles comparables entre leurs matchs, au lieu qu'une équipe en joue trois d'affilée pendant qu'une autre attend quatre heures. Lorsqu'un repos minimum est défini, le planificateur standard évite aussi les attentes inutiles : s'il y a plus de groupes que les terrains ne peuvent en accueillir en même temps, il fait jouer quelques groupes à la suite — chaque équipe attend alors environ un match entre les siens —, tant que cela tient dans la même journée. Avec Concentrer, il le fait même si la journée finit alors plus tard.
- Journées courtes. Les terrains restent occupés et, avec Répartir (le choix par défaut) dans Utilisation des terrains, la journée se termine aussi tôt que les contraintes le permettent. Le temps d'inoccupation des terrains est ce qui transforme un tournoi de sept heures en tournoi de dix heures.
- Tours dans l'ordre. Le planificateur standard organise chaque poule tour par tour. Un tour est un ensemble de matchs de la poule dans lequel chaque équipe joue au plus une fois, et le tour 2 n'est placé qu'après le tour 1 : les matchs d'une équipe sont donc toujours séparés par un tour complet. Dans une poule où toutes les équipes se rencontrent, il faut un tour de moins que le nombre d'équipes lorsque ce nombre est pair (trois tours pour quatre équipes), et autant de tours que d'équipes lorsqu'il est impair — une équipe se repose à chaque tour. Une poule suisse conserve, avec l'un ou l'autre planificateur, les tours dans lesquels elle a été tirée au sort, et aucun de ses tours ne commence avant le dernier coup d'envoi du tour précédent. Le tour dans lequel un match a été placé apparaît dans la liste Matches et dans le panneau Unscheduled du tableau Schedule sous la forme Group A · Round 3 ; les rencontres non planifiées y sont classées par date, puis par tour.
- Structure prévisible. Lorsqu'une règle le demande, le dernier tour d'une poule commence simultanément afin que rien ne soit décidé en connaissant l'autre résultat.
Lancer la planification
Planification automatique sur le tableau Schedule planifie la journée que vous consultez. Sa confirmation indique ce que l'opération va faire avant tout déplacement :
- Planificateur automatique — le moteur utilisé. Le Planificateur standard est rapide et remplit les créneaux ouverts, un match à la fois ; il conserve le repos minimal défini dans Settings → Schedule & format, compté en tours pour une poule suisse, et ignore toute règle marquée Requires the advanced scheduler. Le Planificateur avancé (bêta) résout toute la journée en une seule fois, respecte toutes les règles que vous avez activées et vous explique pourquoi lorsqu'aucun planning valide n'existe. Le choix effectué ici change le moteur utilisé pour chaque exécution du tournoi, comme dans Settings.
- Planifier toute la phase de poules — dans un tournoi comportant plusieurs journées de matchs, résout toutes les journées en une seule exécution, phase à élimination directe comprise. Lorsque les matchs de poule s'étendent sur plusieurs journées, cela évite qu'une journée ne puisse pas être résolue seule.
- Planifier uniquement les catégories sélectionnées — dans un tournoi comportant plusieurs catégories, planifie uniquement les catégories que vous cochez sous Catégories à planifier. Toutes les autres catégories restent telles quelles : leurs matchs placés conservent leur terrain et leur horaire, rien n'est placé par-dessus, et leurs matchs non placés restent dans le panneau Unscheduled. Utilisez cette option pour construire le planning catégorie par catégorie, ou pour refaire une catégorie sans toucher aux autres. En l'activant, vous cochez les catégories qui ont encore des matchs à placer, et chaque catégorie de la liste indique combien de ses matchs sont planifiés et combien restent à placer — ou Déjà planifiée quand il n'en reste aucun.
- Utilisation des terrains — avec le Planificateur standard, ce que l'exécution privilégie. Répartir, le choix par défaut, utilise autant de terrains que nécessaire pour finir le plus tôt possible, et les équipes peuvent attendre plus longtemps que le repos minimum entre leurs matchs. Concentrer donne à chaque équipe le repos minimum, pas plus, dans la mesure du possible, et la journée peut s'allonger : les poules suisses jouent leurs catégories l'une après l'autre, chaque tour côte à côte, et les poules en mini-championnat quelques-unes à la fois. Une poule suisse qui n'aurait qu'une partie des terrains nécessaires à un tour commence plus tard plutôt que de répartir le tour sur deux coups d'envoi. Il imbrique aussi les poules pour que les terrains jouent sans interruption : un terrain libre l'est en début ou en fin de journée plutôt qu'entre ses matchs, sans que la journée finisse plus tard. Une équipe exemptée dans une poule suisse saute quand même ce tour. Dans une poule suisse, le repos se compte en tours avec l'un ou l'autre choix : les matchs d'une équipe sont séparés par au moins le nombre défini de tours de sa poule (voir règles de programmation). La confirmation garde votre dernier choix tant que vous restez sur le planning. Le planificateur avancé place les matchs à sa façon et ne propose pas ce choix.
- Conserver les matchs publiés à leur place — une fois le planning publié ; voir résoudre à nouveau pendant le tournoi.
Dans un tournoi avec poules et phase à élimination directe dont les tableaux n'ont pas encore été tirés, l'exécution d'une journée de poule les tire également et place leurs rencontres provisoires sur la journée de la phase à élimination directe (ou sur la dernière journée de matchs lorsqu'aucune journée n'est définie). La confirmation l'indique et nomme cette journée — également sur le tableau mobile — et le résultat précise où les rencontres provisoires ont été placées. Une fois les tableaux créés, une exécution ne touche que la journée pour laquelle elle a été lancée. Une exécution pour des catégories sélectionnées ne tire et ne place que leurs tableaux.
Lancer la planification auto démarre l'opération. Les grands tournois prennent de quelques secondes à quelques minutes ; l'opération affiche sa progression et peut être annulée. Une fois terminée, les matchs apparaissent sur le tableau — dans votre brouillon. Rien n'est publié sur le site public tant que vous n'avez pas publié. Si certains matchs n'ont pas pu être placés, ils restent dans le panneau Unscheduled et Résultats de la planification automatique explique pourquoi et indique ce que vous pouvez essayer. La comparaison entre les minutes de terrain dont vos matchs ont besoin et celles que vos plages de disponibilité offrent n'apparaît que si la planification a réellement manqué de place.
Relancer l'opération sur la même journée réoptimise tous les matchs placés que vous n'avez pas verrouillés ; les matchs verrouillés et joués restent à leur place. Lorsque Planifier uniquement les catégories sélectionnées est activé, cela s'applique aux catégories que vous avez cochées : les autres sont maintenues comme si tous leurs matchs étaient verrouillés, pour cette exécution seulement, et l'exécution respecte toujours le repos de chaque équipe par rapport à eux. Chaque exécution qui place des matchs est enregistrée dans Historique, de sorte qu'il suffit d'une restauration pour retrouver la disposition précédente. Effacer le planning d'une journée pour recommencer est une seule action, et les matchs verrouillés sont conservés — voir modifier le planning manuellement.
Un tournoi qui recrée ses poules chaque jour — une échelle où les poules du deuxième jour sont formées à partir des classements du premier — est résolu un jour à la fois, même lorsque vous sélectionnez tous les jours en une seule fois : les poules de chaque journée sont placées en tenant compte de ce que les journées précédentes ont déjà fixé.
Une poule suisse adaptative fait exception. Ses coups d'envoi sont définis lorsque vous appliquez le format, et non par la planification automatique : chaque tour est placé en entier et dans l'ordre, en vagues dimensionnées pour couvrir vos terrains, et ces coups d'envoi ne bougent plus ensuite. La planification automatique les considère comme occupés et place les autres matchs autour. Une exécution qui ne trouve rien à déplacer affiche Rien à replanifier ; lors d'une journée comportant des coups d'envoi adaptatifs, elle ajoute qu'ils sont conservés jusqu'au tirage de leurs équipes. Si le temps disponible sur les terrains s'écoule avant que chaque tour ait un coup d'envoi, la catégorie est indiquée avec le nombre de tours qui tiennent — voir tours adaptatifs pour savoir quoi modifier.
Une fois un calcul du Planificateur avancé (bêta) lancé, quitter le tableau, changer de jour, actualiser la page ou revenir en arrière ne l’annule pas. Revenez dans le même navigateur dans les 30 minutes suivant le lancement pour retrouver la progression, y compris dans un autre onglet. Seul Annuler demande l’annulation ; la progression reste visible jusqu’à sa confirmation. Si l’annulation échoue, le calcul reste visible et vous pouvez réessayer avec Annuler. Les calculs standard s’arrêtent toujours lorsque vous changez de jour.
Lorsqu'aucun planning n'est possible
Une journée impossible à résoudre est presque toujours trop contrainte, plutôt que défectueuse. Par ordre de probabilité :
Le nombre d'heures de terrain est insuffisant. Terrains × heures disponibles ÷ (durée de jeu + pause entre les matchs) définit votre capacité maximale. Si les matchs ne tiennent pas, aucun agencement ne le permettra — Résultats de la planification automatique compare les minutes de terrain nécessaires à vos matchs avec celles fournies par vos créneaux de disponibilité. Ajoutez un terrain, prolongez la journée, raccourcissez les matchs ou réduisez le nombre d'équipes. La comparaison apparaît dès que certains matchs n'ont pas pu être placés. Lorsqu'une journée est déjà pleine alors que les autres ont de la place, elle nomme cette journée, car une phase peut déborder de sa journée même si le total semble suffisant. Prolongez les horaires de cette journée, ajoutez une journée à la phase ou raccourcissez les matchs.
L'exigence de repos est trop généreuse. Un repos de 120 minutes pour des équipes qui jouent quatre matchs nécessite une longue journée. Le repos est la cause la plus fréquente d'un planning impossible ; réduisez-le et vérifiez si la journée peut être résolue.
Les disponibilités sont plus limitées que prévu. Vérifiez les créneaux de chaque terrain — une disponibilité définie pour le samedi et jamais ajustée pour le dimanche est facile à manquer.
Les règles sont incompatibles. Deux équipes qui doivent toutes deux terminer avant 14 h et jouer quatre matchs avec 90 minutes de repos peuvent être dans une situation impossible. FairGame indique quelles contraintes n'ont pas pu être respectées ensemble.
Plannings partiels et matchs verrouillés
Vous n'êtes pas obligé de confier toute la journée au solveur. Verrouillez les matchs que vous avez déjà placés manuellement et le reste est résolu autour d'eux — pratique pour une finale dont le coup d'envoi est fixé, un créneau réservé à une cérémonie d'ouverture ou une rencontre pour laquelle un club s'est déjà déplacé. Verrouiller le match sur une carte en verrouille un ; Verrouiller tous les matchs de ce jour fige la journée telle qu'elle se présente. Voir modifier le planning manuellement.
Résoudre à nouveau pendant le tournoi
La fermeture d'un terrain à midi est un événement courant. Réduisez ses disponibilités pour la journée et relancez la planification automatique : les matchs joués et en cours restent à leur place, rien de nouveau n'est placé avant le dernier match déjà joué et le reste est replacé autour de ce qui s'est déjà passé.
Une fois le planning publié, l'option Conserver les matchs publiés à leur place de la confirmation est activée par défaut : chaque match qui se trouve encore sur le terrain et au créneau publiés y reste, et l'opération ne place que ce qui ne l'est pas encore. C'est ce qu'il faut lorsque vous ajoutez une rencontre tardive. Lorsque des matchs publiés doivent être déplacés — du terrain que vous venez de perdre, par exemple — désactivez cette option et verrouillez ceux qui doivent rester en place.
Vérifiez le résultat, puis publiez la modification et annoncez-la — le planning que les gens consultent est sur leur téléphone et ne s'actualise pas tout seul dans leur tête.