Mon moteur d'optimisation ? Tout un POEM…
Mon langage est expressif, il est simple à lire et à écrire. Il est opérationnel, c'est-à-dire qu'il agit. Moi, Enginest, je propose cela : Programming in Operationnal and Expressive Models, un POEM. Ce nom, c'est celui d'une plate-forme qui fournit des solutions mathématiques à mes clients pour optimiser leurs ressources. Je parle ici d'entreprises à la recherche d'un logiciel capable de mettre en place le planning de leur personnel, le plan de route de leurs livraisons, de minimiser les délais de production ou de mieux planifier les tâches. Jianyang Zhou, mon fondateur le dit ainsi : « POEM, c'est le noyau d'Enginest, c'est un véritable moteur d'optimisation qui permet, à partir du langage NCL, de planifier, de gérer et d'ordonner. » La logistique est un défi mathématique bien connu, popularisé notamment sous le nom de "problème du voyageur de commerce", un problème d'optimisation qui demande de déterminer le trajet le plus court entre les villes d’une liste qui doivent toutes être visitées une seule fois par un voyageur imaginaire. On parle ici de "problème NP-complet", un terme mathématique qui désigne ces défis posés à des algorithmes dont le temps de résolution s'accroît de façon exponentielle avec l'augmentation de la quantité de données d'entrée (le nombre de villes à visiter par exemple). De tels niveaux de complexité sont fréquents et sont quotidiennement résolus par des approximations, c'est-à-dire par de bonnes solutions, alors qu'une solution optimale reste souvent impossible à calculer rapidement. Dans mes bureaux à Pékin et à Nancy, une dizaine de personnes travaillent à améliorer la plate-forme POEM et à la déployer pour affronter les nombreux problèmes NP-complets rencontrés par les industriels et pour s'approcher, au plus près, d'un optimum d'efficacité.
Verbatim
Enginest apporte un service de qualité, fait preuve d'une grande réactivité et répond aux attentes. Nos besoins et contraintes (coût de transport, diversité du portefeuille de clients, impératif de fonctionnement) nécessitent des algorithmes de programmation qui reposent sur une logique mathématique pointue. Grâce au système d'Enginest, nous avons optimisé nos coûts d'environ 20%, notamment par la centralisation et l’automatisation de la construction des tournées. POEM, par ses algorithmes, nous a permis de réduire de 30% les kilomètres parcourus et d’améliorer nos délais de livraison tout en réduisant nos coûts.
Responsable des applications logistiques d'Antargaz Energies, société cliente depuis plus de vingt ans
Retour sur la naissance d'un langage de programmation
Je suis donc née en 2000 à Nancy dans les locaux d'Inria. Depuis 1997, Jiangyang Zhou, qui vient de soutenir une thèse d'informatique à l'université Aix-Marseille, a été recruté pour un postdoctorat. Il y poursuit les réflexions menées dans son travail de thèse, travaille à des applications industrielles et publie des articles sur des problématiques comme la logistique du transport de gaz ou la planification des trajets pour les véhicules convoyant les personnes en situation de handicap. En 2000, c'est dans la prestigieuse revue Journal of Logic Programming que naît publiquement NCL. Un article, intitulé « Introduction to the constraint langage NCL », y présente les bases d'une œuvre que mon fondateur améliorera jusqu'à aujourd'hui. « J'ai eu l'honneur de travailler sur une thèse dirigée par Alain Colmerauer, professeur connu pour Prolog. C'est avec lui que j'ai découvert la programmation logique, cette forme de langage nouvelle et élégante », rappelle Jianyang Zhou. La première version de Prolog est mise au point en 1972 et c'est un moment crucial dans l'histoire de la programmation logique, une forme de programmation basée sur la "logique de prédicat". Comme Prolog, mon langage, NCL, est bien différent des célèbres langages procéduraux, Java ou C++ par exemple.
Contrairement à ces modes de programmation qui fournissent par le code une série d'instructions à une machine pour résoudre un problème, à la manière d'une recette de cuisine, NCL, langage mathématique de programmation, permet de décrire le problème plutôt que le chemin vers la solution et laisse l'ordinateur trouver de telles solutions. « Avec notre langage, les utilisateurs peuvent exprimer leurs problématiques avec des expressions mathématiques naturelles et c'est le logiciel qui se charge de les résoudre. NCL est un langage "Turing complet" qui modélise les problèmes dans un code clair et simple. C'est aussi une technologie très difficile à mettre au point. » Voilà deux décennies que Jianyang s'y attelle : « En 2000, j'ai eu cette idée folle d'inventer un langage mathématique basé sur la logique du premier ordre. Mais la technologie seule ne suffit pas et c'est avec Inria que j'ai vraiment appris à appliquer mes recherches dans le monde industriel. » Jianyang Zhou est sûr de sa création, il embarque ses deux frères dans l'aventure et me nomme Enginest.
Jianyang Zhou raconte la genèse d'Enginest lors de Grand Est Numérique
Son intervention à 7:00 minutes
Parcours de Jianyang Zhou
- Mars 1997 : Jianyang Zhou obtient son doctorat
- De 1997 à 2000 : il travaille sur un postdoctorat dans l’équipe-projet Prothéo d’Inria
- Juillet 2000 : il crée Enginest avec ses deux frères Jianyi et Jiande
- 2012 : son livre "The NCL Natural Constraint Language" est publié par Springer
Industrialiser le langage mathématique
Forte d'un prix à la création d'entreprises innovantes attribué par le ministère de l’Enseignement supérieur et de la Recherche, je suis dirigée vers le monde industriel pour trouver des ressources nécessaires à mon développement : « Notre aventure est très dure : nous avons trouvé les premiers clients dans les domaines logistiques en France et puis nous avons diversifié les applications au fur et à mesure aux marchés français et chinois. » C’est sur ces marchés que les trois frères continuent de travailler à industrialiser mes technologies. Mes activités sont d'abord orientées vers la logistique et je propose un système sur mesure, adapté au client, qui permet d’avoir des gains remarquables de 20% sur les coûts de transport, « mais difficile à généraliser », note Jianyang Zhou. « Depuis quelques années, l'arrivée de la plate-forme POEM donne enfin une solution standard générique qui minimise les coûts de développement. Nous redémarrons avec une nouvelle stratégie. » Et je reviens sur le marché avec des solutions mathématiques standard qui visent aussi les petites entreprises. Aujourd'hui, je m'ouvre davantage aux capital-risqueurs pour trouver des ressources. « Voilà vingt ans que nous développons une technologie sophistiquée et innovante, c'est peu pour de telles recherches mais c'est long pour un investisseur qui cherche une idée rentable immédiatement », reconnaît Jianyang Zhou. Mes créateurs ne lâchent pas NCL, « cette idée folle », et œuvrent à la rendre plus robuste, à la déployer en calcul parallèle (sur plusieurs cœurs et sur le Cloud) pour rendre mon langage plus performant. Ils croient en moi et cherchent plus que jamais à convaincre le monde industriel de la beauté et de l’efficacité d'Enginest.
Lire aussi
- Le site Web d'Enginest
- "Le problème du voyageur de commerce", paru sur interstices.info, octobre 2018 (par Yifang Li, Yannick Kergosien et Jean-Charles Billaut)