Aller au contenu
Planopti logoPlanopti
À proposSolutionNotre approcheFAQ
FR|EN
Nous contacter
À proposSolutionNotre approcheFAQNous contacter
Planopti/Google OR-Tools

Google OR-Tools

La suite d'optimisation combinatoire open-source de Google. En clair : le moteur de calcul de Planopti est un composant public, éprouvé et vérifiable, pas une boîte noire.

  • Présentation
  • Licence Apache 2.0
  • Domaines couverts
  • OR-Tools dans Planopti
  • Langages et plateformes
  • Maturité et communauté
  • Pourquoi ce moteur
  • Ses limites
  • Pérennité
  • Documentation

Présentation

Google OR-Tools est une suite logicielle d'optimisation combinatoire développée et maintenue par Google. Elle fournit des solveurs pour résoudre des problèmes de planification, de routing, d'affectation et de scheduling à grande échelle.

OR-Tools n'est pas un produit commercial de Google Cloud. C'est un projet open-source, publié sous licence Apache 2.0, développé par l'équipe Google Research. Le code source est intégralement disponible sur GitHub.

La suite inclut plusieurs solveurs spécialisés. Planopti utilise spécifiquement CP-SAT, le solveur de programmation par contraintes avec satisfaisabilité booléenne.

Licence Apache 2.0

OR-Tools est distribué sous licence Apache 2.0, une licence open-source permissive qui autorise :

  • L'utilisation commerciale sans frais de licence ni redevance
  • La modification et l'intégration dans des produits propriétaires
  • La redistribution sous forme binaire ou source
  • L'utilisation privée sans obligation de publication

La licence Apache 2.0 n'impose pas de divulgation du code propriétaire qui utilise la bibliothèque. Le code de Planopti (logiciel, modélisation des contraintes opérationnelles, interfaces) reste la propriété exclusive de Planopti. Seul le composant OR-Tools est open-source.

Pour le client, cela signifie que le moteur d'optimisation intégré à Planopti est publiquement auditable. N'importe quel développeur ou auditeur peut inspecter le code source de CP-SAT sur le dépôt officiel de Google.

Domaines d'application

OR-Tools couvre plusieurs familles de problèmes d'optimisation :

  • Programmation par contraintes (CP-SAT) : scheduling, affectation, planification sous contraintes. C'est le solveur utilisé par Planopti
  • Programmation linéaire et entière (GLOP, PDLP) : optimisation de fonctions linéaires avec variables continues ou entières
  • Routing (véhicules) : tournées de véhicules, problème du voyageur de commerce, livraisons
  • Bin packing : rangement optimal d'objets dans des conteneurs
  • Flots de réseau : optimisation sur des graphes (transport, allocation)

Google utilise OR-Tools en interne pour ses propres problèmes d'optimisation : scheduling de datacenter, planification logistique, allocation de ressources.

OR-Tools dans Planopti

Planopti utilise exclusivement le solveur CP-SAT d'OR-Tools pour générer les plannings mensuels. Voici comment les composants s'articulent :

  • CP-SAT reçoit le modèle mathématique (variables, contraintes, objectif) et calcule la solution optimale
  • Planopti traduit vos données opérationnelles (staff, qualifications, shifts, besoins, absences) en un modèle CP-SAT, puis interprète le résultat en planning lisible

Concrètement, Planopti est responsable de :

  • La modélisation des contraintes opérationnelles (qualifications, repos réglementaires, couverture des postes, équité intra-groupe)
  • L'interface de gestion (saisie du staff, des shifts, des besoins, des contraintes)
  • La traduction des données en variables et contraintes mathématiques
  • L'interprétation du résultat CP-SAT en grille de planning
  • L'export en Excel et PDF

CP-SAT ne sait rien de votre métier. C'est un solveur générique. Toute l'expertise métier est dans le code Planopti, qui le déploie en parallèle de votre système.

Langages et plateformes

OR-Tools est disponible en 4 langages :

  • Python : le langage le plus utilisé avec OR-Tools. Installation en une commande : pip install ortools. Planopti utilise Python
  • C++ : langage natif du solveur, performances maximales
  • Java : via Maven
  • C# (.NET) : via NuGet

Plateformes supportées :

  • Linux (Ubuntu, Debian, Fedora, Alpine, 64-bit)
  • macOS (Intel et Apple Silicon)
  • Windows (64-bit)

Planopti est un logiciel de planification du personnel, en local ou hébergé, au choix. Le solveur CP-SAT (Google OR-Tools) est embarqué dans l'application : en mode local, il fonctionne sans connexion internet.

Maturité et communauté

Quelques chiffres sur le projet OR-Tools :

  • 13 200+ stars sur GitHub
  • 150+ contributeurs
  • 15 800+ commits
  • 52 releases (version actuelle : v9.15, janvier 2026)
  • CP-SAT compte parmi les solveurs les plus titrés du MiniZinc Challenge, la compétition internationale de référence en programmation par contraintes, avec des médailles d'or dans plusieurs catégories la plupart des années depuis 2013

OR-Tools est un projet activement maintenu par Google avec des releases régulières. La communauté inclut des chercheurs, des développeurs industriels et des universitaires.

Pourquoi ce moteur plutôt qu'un développement maison

Écrire un solveur de contraintes performant demande des années de recherche. Les techniques qui font la différence, propagation, apprentissage de clauses, recherche parallèle, redémarrages, représentent des dizaines d'années-hommes de travail et sont le sujet de publications scientifiques permanentes.

Construire un moteur maison reviendrait à réinventer, moins bien, ce qu'une équipe de chercheurs entretient à plein temps. Notre valeur n'est pas là. Elle est dans la traduction de votre métier en un modèle mathématique correct : comprendre qu'une règle de convention collective est un interdit et une autre un objectif, savoir quel poids donner à l'équité par rapport à la couverture, et vérifier que le résultat correspond à ce que votre exploitation attend.

C'est ce travail de modélisation qui fait la différence entre un planning théoriquement optimal et un planning que votre équipe accepte.

Ce qu'OR-Tools ne fait pas

OR-Tools est un moteur, pas une application. Il ne connaît ni vos agents, ni vos qualifications, ni votre convention collective. Il ne sait pas ce qu'est un repos de onze heures, un week-end garanti ou un contrat étudiant.

Il ne propose pas non plus d'interface, d'import de fichiers, de gestion des absences ni d'export vers la paie. Fourni seul, il ne sert à rien à un planificateur.

Tout ce qui rend l'outil utilisable au quotidien, la traduction de vos règles, la saisie des besoins, la relecture du planning, les retouches manuelles revérifiées, les exports, est le travail que nous réalisons et que nous vous livrons. OR-Tools en est le moteur, pas le produit.

Pérennité de la solution

La question se pose légitimement : que se passe-t-il si Google cesse de maintenir OR-Tools ?

La licence Apache 2.0 répond en partie. Le code source est public, librement utilisable et modifiable, sans redevance ni condition de renouvellement. Une version publiée reste utilisable indéfiniment, même si le projet s'arrêtait. Aucune licence à renouveler, aucun serveur d'éditeur à interroger pour lancer un calcul.

À cela s'ajoute le fait que votre application vous appartient et fonctionne chez vous. Elle ne dépend d'aucun service en ligne pour calculer un planning. Si notre relation s'arrête, votre outil continue de fonctionner exactement comme le dernier jour.

Documentation officielle

Ressources pour approfondir :

  • Documentation officielle Google OR-Tools
  • Guide CP-SAT Solver
  • Exemple : Employee Scheduling
  • Code source sur GitHub
Planopti

Logiciel de planification du personnel pour les industries réglementées. Dans votre navigateur, en local ou hébergé.

me@planopti.io

Navigation

À propos Solution Notre approche FAQ Nous contacter

Pages

Technologie Planification Google OR-Tools CP-SAT Solver Blog

Légal

Confidentialité RGPD
© 2026 Planopti. Tous droits réservés.