INTERVIEWS  
Gregory Glockner, Ilog
Notre moteur est issu de recherches effectuées sur une douzaine d'années
ILOG JSolver est le premier composant d'optimisation écrit en Java, conçu pour le développement rapide d'applications de planification des ressources matérielles et humaines en environnement Web. Gregory Glockner est "Product Manager" du département marketing "Optimisation" chez Ilog. Il répond aux questions de JDNet Développeurs. (, 26 octobre 2001)

JDNet Développeurs: Tout d'abord pourriez-vous définir la programmation par contrainte ?

Gregory Glockner : C'est une technologie qui permet de résoudre des problèmes pour lesquels il existe plusieurs contraintes. Elle est constituée d'algorithmes issus de la programmation logique et linéaire, elle utilise des techniques de propagation de contraintes et exploite les relations logiques existantes entre plusieurs variables afin d'isoler des solutions non compatibles avec le résultat recherché (arbre des candidats). Elle permet également de dissocier la résolution d'un problème de sa modélisation.

Quels sont les temps de réponse moyens constatés lors de l'utilisation de Ilog JSolver ? Est-ce plus rapide que des modules de recherche personnalisés ?

Le temps de reponse varie évidemment selon le problème : de quelques secondes, à quelques heures pour des problématiques plus complexes. Par rapport aux algorithmes de recherche personnalisés, le moteur JSolver est plus rapide, notamment grâce à ses algorithmes de réduction des domaines, et de propagation de contraintes. Notre moteur est issu de recherches effectuées sur une douzaine d'années, portant sur la technologie des contraintes. Son but est de résoudre le plus rapidement possible des problèmes de planification. Un client de Seattle me confiait hier qu'après le passage de notre consultant, il a obtenu des temps de réponse divisé par deux par rapport à une solution basée sur des algorithmes de recherche personnalisés. Leur solution n'était pas mauvaise en soi, mais notre moteur fait mieux !

A propos de ces modules de recherche personnalisés, Ilog JSolver promet que lorsque le fonctionnement d'une des activités d'une société est modifiée, il est inutile de réécrire les algorithmes, comment est-ce possible ?

Dans les modules de recherche personnalisés il n'existe pas de division entre les contraintes et les algorithmes, il est donc très difficile de changer la logique du programme lorsque les règles du business changent, et cela arrive fréquemment. Ilog JSolver intercale justement une couche de modélisation entre les algorithmes et les contraintes. Selon le type de changement à répercuter sur le processus d'optimisation, ces modifications sont effectuées dans l'heure ou en quelques jours pour des refontes plus importantes.

Comment les contraintes sont-elles definies ?

Java s'avère très utile pour l'intégration d'une application d'optimisation

Avant de définir les contraintes il faut passer par une étape de modélisation afin de décrire le type d'activité impliqué et les contraintes qui lui sont liées (nombre d'usines, nombre d'employés...). Vous rentrez ensuite ces informations au sein d'une interface Java composée d'objets génériques comme le type de décisions, le temps imparti...

Quel est le délai de mise en place moyen de Ilog JSolver ?

Il faut compter entre un et deux mois pour une modélisation optimisée des contraintes, quelques mois ensuite pour l'intégration et les tests. Selon le type de clients, c'est plus ou moins 6 mois.

Une nouvelle version d'ILOG Concert Technology est inclue dans JSolver. Elle "unifie les deux principales techniques d'optimisation, la programmation par contraintes et la programmation mathématique". Quelle différence faites-vous entre ces deux types de programmation ?

La programmation mathématique est très connue. Son histoire débute aux états-unis dans les années 40. Son domaine de prédilection se situe autour de problèmes de planification à long terme, d'objectifs économiques à atteindre par exemple, tout ce qui relève du domaine stratégique en fait. La programmation par contrainte est davantage utilisée pour des problèmes "présents", du court terme. Il s'agit de réagir rapidement sur un problème opérationnel. Pour un constructeur automobile par exemple, il peut s'agir de calculer quels modèles de véhicules doivent être conçus en premier sur la chaîne de production, avec des contraintes de couleurs pourquoi pas, afin qu'un éventuel changement de machine sur cette chaîne fasse perdre le moins de temps possible.

Quel est le profil de vos clients ?

Des compagnies aériennes (remplissage des vols, service frêt...), des constructeurs automobiles, de manière générale partout où la gestion d'une chaîne logistique est cruciale. Air France, United Airlines, Michelin, PSA Peugeot Citroën, Daimler Chrysler... nous font confiance.

Que pensez-vous de Java ?

Java est susceptible de couvrir toute une entreprise. Il s'avère très utile pour l'intégration d'une application d'optimisation. La plate-forme J2EE permet à Ilog JSolver de s'intégrer sur des serveurs d'application tels que BEA WebLogic ou IBM WebSphere. Au delà de ses facultés à s'insérer dans un environnement web, Java est aussi très efficace pour développer des applications plus rapidement qu'en C/C++ grâce entre autres à sa gestion de la mémoire facilitée. On remarque cependant que les entreprises observent désormais et attendent ce qui va se passer du côté de la plateforme .Net de Microsoft. Jusqu'alors Java était seul, les prochains mois vont être intéressants.

Dr. Gregory Glockner a obtenu un doctorat en recherche opérationnelle au "Georgia Institute of Technology", sa thèse reçu un prix en 1997. Avant de rejoindre Ilog Gregory Glockner a travaillé comme analyste en recherche opérationnelle dans l'aviation, et comme concepteur d'outils statistiques dans le domaine de l'énergie.

 
Arnaud Gadal JDNet
 
Accueil | Haut de page