Planification du personnel
Planification du personnel par solver CP-SAT on-premise
Le problème de l'employee scheduling
L'employee scheduling consiste à affecter des ressources à des créneaux sur une période donnée, en respectant un ensemble de contraintes et en optimisant plusieurs objectifs simultanément.
C'est un problème classique d'optimisation combinatoire. Dès que le nombre de ressources, de créneaux et de contraintes augmente, le nombre de combinaisons possibles dépasse les capacités de calcul manuel. Les outils classiques ne peuvent pas explorer cet espace de solutions. Le solveur CP-SAT le fait en minutes.
Google documente ce cas d'usage avec un exemple officiel d'employee scheduling dans la documentation OR-Tools.
Modélisation
Planopti traduit les données opérationnelles du client en un modèle mathématique compréhensible par CP-SAT. Le modèle repose sur trois composants :
- Variables de décision
assign[r, d, s]: une variable booléenne pour chaque triplet ressource/jour/créneau. Si la variable vaut 1, la ressource est affectée à ce créneau ce jour-là - Variables de repos
is_off[r, d]: une variable booléenne indiquant si la ressource est en repos - Variables de comptage :
total_minutes[r],total_off_days[r],shifts_per_type[r, t]pour le suivi des volumes et l'équilibrage - Fonction objectif : une somme pondérée de pénalités que le solveur cherche à minimiser
Pour un problème de taille réelle, cela peut représenter plus de 100 000 variables booléennes et plusieurs milliers de contraintes. Le solveur gère aussi les variables d'écart (min/max par groupe) et les variables de pénalité pour les objectifs souples.
Contraintes
Le solveur gère deux types de contraintes :
Contraintes dures (inviolables) : les règles qui ne peuvent jamais être enfreintes. Si aucune solution ne les respecte toutes, le solveur retourne un statut INFEASIBLE.
Contraintes souples (pénalisées) : les objectifs que le solveur cherche à satisfaire au mieux. Chaque violation génère une pénalité dans la fonction objectif. Plus la pénalité est élevée, plus l'objectif est prioritaire.
Les contraintes sont configurables. Le client définit ses propres règles métier, ses seuils et ses priorités. Le solveur les intègre automatiquement dans le modèle.
Équité
L'équité est un objectif central de l'employee scheduling. Le solveur minimise les écarts de charge entre les ressources d'un même groupe :
- Répartition équitable du volume de travail au sein de chaque groupe
- Répartition équitable des types de créneaux entre les ressources qualifiées
- Regroupement des périodes de repos pour éviter la fragmentation
L'équité est mesurée et optimisée par le solveur, pas approximée. Le résultat est un écart minimal, mathématiquement prouvé.
Interface
Planopti fournit une interface web qui permet au responsable de planification de gérer l'ensemble du processus : saisie des données, lancement de l'optimisation, visualisation des résultats et ajustements manuels.
Le résultat généré par le solveur n'est pas figé. Le responsable peut modifier des affectations, relancer le solveur avec de nouvelles contraintes, et exporter le résultat final. Toutes les opérations sont tracées.
Déploiement
Planopti est deploye on-premise sur l'infrastructure du client. Aucune donnee ne quitte le reseau. Voir notre page technologie pour les details du deploiement.
Optimisez votre planification
Parlez-nous de votre exploitation. Nous vous montrerons comment la programmation par contraintes peut resoudre vos defis specifiques.