Le rôle de l’intelligence artificielle dans l’optimisation mathématique
L’optimisation mathématique et l’intelligence décisionnelle suscitent un intérêt croissant de nos jours, mais un obstacle majeur entrave le développement de ce domaine : l’important déficit de compétences, un sujet que j’ai exploré en profondeur dans un précédent article.
Construire un modèle d’optimisation est une compétence spécialisée qui nécessite une compréhension approfondie d’un problème commercial complexe, l’identification d’une opportunité d’amélioration, la création d’un modèle capturant cette opportunité, puis l’évaluation et le perfectionnement de ce modèle en fonction des résultats observés.
Les ressources éducatives, telles que des exemples approfondis, des webinaires réguliers, des études de cas et des événements de formation, peuvent contribuer à combler ce déficit de compétences et à apprendre aux nouveaux apprenants à démarrer l’optimisation par eux-mêmes. Cependant, ces ressources ne peuvent faire grand-chose pour les sujets plus avancés.
Une technologie relativement nouvelle qui a le pouvoir de combler ce fossé est l’intelligence artificielle générative (GenAI). Des outils tels que ChatGPT ont le potentiel de répondre à des questions très techniques, d’aider les personnes à construire des applications, voire de construire l’essentiel d’une application elles-mêmes. Chez Gurobi, nous avons récemment commencé à examiner de plus près où cette technologie peut être appliquée dans notre domaine, et voici ce que nous avons trouvé :
Utiliser GenAI pour répondre à des questions techniques
La première question à considérer est assez simple : GenAI peut-il répondre à des questions techniques détaillées de notre domaine ? Nous avons constaté qu’il pouvait répondre à des problèmes de manuels, mais ces derniers sont souvent formulés de manière à être correctement répondus par une machine. Pour rendre les choses plus intéressantes, nous avons choisi un échantillon de questions d’utilisateurs de notre forum communautaire, où les questions ne sont généralement pas aussi bien formulées que dans un manuel.
La sortie de ChatGPT 3.5, en novembre 2022, a été décevante. Nous avons constaté qu’il produisait rarement des réponses précises, et il annonçait les fausses réponses avec autant d’assurance que les bonnes.
ChatGPT 4 a été publié peu de temps après la version 3.5, mais à notre grande surprise, il a donné des réponses correctes à presque toutes les questions des utilisateurs que nous lui avons posées. Les résultats étaient assez impressionnants et indiquent que cela pourrait être une ressource précieuse pour ceux qui apprennent l’optimisation.
Si l’IA peut faire le travail à notre place, pourquoi apprendre l’optimisation ?
Si ChatGPT peut répondre à des questions complexes d’optimisation mathématique, la question évidente qui se pose est la suivante : dans quelle mesure cette nouvelle technologie réduira-t-elle, voire éliminera-t-elle le besoin d’apprendre l’optimisation ?
Il est toujours un peu dangereux de faire des prédictions sur quelque chose qui évolue aussi rapidement que GenAI, surtout étant donné les deux expériences très différentes que nous avons eues avec des versions diffusées quelques mois à peine d’écart. Avec cette mise en garde à l’esprit, je partagerai mes propres expériences récentes et aborderai également les limites plus fondamentales.
Une opportunité apparemment significative de réduire le besoin d’expertise en modélisation d’optimisation réside dans les assistants de programmation qui font des suggestions pendant que vous écrivez du code, l’un des plus remarquables que j’ai trouvés étant GitHub Copilot. Ces assistants peuvent rendre les aspects plus mécaniques du développement logiciel moins fastidieux, de la correction automatique des erreurs de syntaxe à la réduction du besoin de répétition. (Je serais tout à fait heureux si je n’avais plus jamais à mettre en œuvre le tri par tas.)
Cependant, je trouve que ces outils ne sont pas d’une grande aide lorsqu’il s’agit de tâches plus complexes. Copilot peut réduire la quantité de frappe que j’ai à faire, mais pas la quantité de réflexion.
Améliorer (sans remplacer) les compétences en optimisation
Les capacités de GenAI s’élargissent chaque jour, mais un domaine où il semble peu probable qu’il ait un impact significatif est l’interface entre les logiciels et le monde réel.
Une grande partie de la modélisation d’optimisation consiste à comprendre un processus commercial, à identifier une opportunité d’amélioration et à s’assurer que le modèle d’optimisation exploite cette opportunité, non seulement lors de son déploiement initial, mais aussi au fil du temps. Cela nécessite une communication (généralement avec plusieurs personnes), la collecte des données appropriées (souvent à partir de sources multiples et disparates) et, en fin de compte, de l’expérience. Cela sera difficile à reproduire pour un système d’IA.
Nous ne devrions pas ignorer le potentiel des futurs systèmes d’IA de traduire les descriptions des problèmes à résoudre en modèles d’optimisation pouvant les résoudre. Ils peuvent le faire dès à présent avec des problèmes de manuels, et leurs capacités dans ce domaine ne cesseront de s’améliorer avec le temps. Nous nous attendons à ce que ces capacités viennent compléter les compétences des experts humains, les rendant plus productifs tout en les aidant à continuer à perfectionner leurs compétences (et ainsi combler le déficit actuel de compétences).
Bien que ces outils ne remplaceront pas les logiciels d’optimisation (car ils résolvent des problèmes très différents), nous pensons qu’ils contribueront à rendre les outils d’optimisation plus efficaces, car de meilleurs modèles facilitent la recherche de bonnes solutions.