Guiding tree search for industrial problem solving industrial problems: reinforcement learning and Monte Carlo methods
Guider la recherche arborescente pour la résolution de problèmes industriels : apprentissage par renforcement et méthodes de Monte Carlo
Résumé
The resolution of many operation research problems, and more precisely combinatorial
optimization problems relies on tree search algorithms. In an industrial
context, combinatorial problems are usually very large and/or must be solved in a
small amount of time. Consequently, the complete exploration of the search tree is
often impossible, and tree-based methods should rely on their capacity to quickly
find the most promising areas of the search space.
It is frequent that the same problem must be solved periodically, while incorporating
slight variations. Thus, machine learning seems well suited to design heuristics
to guide tree search in a context where we can expect historical data sets to be
highly representative of the current problem.
Moreover, such an approach would allow to specialize heuristics by training
the same model on several datasets from different contexts for the same problem.
This learning phase, which is offline, can also be combined with an online learning
mechanism. Such a mechanism allows the algorithm to adapt itself to the problem
even more precisely.
In this thesis, we are interested in the use of reinforcement learning methods, and
Monte Carlo methods for solving industrial combinatorial problems. More precisely,
we propose two approaches to guide the exploration of a tree search. The first
approach consists in designing a heuristic based on a linear combination of relevant
criteria for the problem. The weights of this linear combination are learnt with a
reinforcement learning algorithm, and the resulting heuristic is integrated into a
tree search algorithm. The second approach is a Monte Carlo tree search combined
with a depth-first search, with the objective of discovering which part of the tree to
explore. These two approaches are studied in two industrial application cases. The
first one is the problem of routing items between machines in an assembly line while
respecting the production rates. The second one is a packing problem in inbound
logistics, in which we have to fill trucks while respecting constraints related to the
order of the suppliers visit and on axle load balance. For these two problems, the
proposed approaches outperform the methods used in the company.
La résolution de nombreux problèmes de recherche opérationnelle et plus spécifiquement
de problèmes d’optimisation combinatoire, s’appuie sur des algorithmes
de recherche arborescente. Dans un contexte industriel, il est fréquent que les problèmes
combinatoires traités soient de très grande taille et/ou qu’on ne dispose
seulement que d’un faible budget temporel à consacrer à leurs résolutions. Dès lors
l’exploration complète de l’arbre de recherche est impossible, et la qualité d’une
méthode arborescente repose alors sur sa capacité à s’orienter rapidement vers les
zones de l’espace de recherche les plus prometteuses.
Il est fréquent qu’un même problème doive être résolu de manière périodique,
tout en intégrant de légères variations. Il apparaît alors que la conception d’une
heuristique pour guider la recherche arborescente peut passer par l’apprentissage
automatique. Il semble ainsi possible d’utiliser un modèle d’apprentissage, entraîné
sur un ensemble de données, sur de nouvelles données qui n’auraient que très peu
variées.
De plus, une telle approche permettrait de spécialiser les heuristiques en entraînant
le même modèle sur plusieurs ensembles de données issus de contextes
différents pour un même problème. Cet apprentissage qui se fait en amont de la
résolution peut également être combiné à un mécanisme d’apprentissage lors de la
résolution du problème. Un tel mécanisme permet à l’algorithme une adaptation au
problème plus précise encore.
Dans ce manuscrit nous nous intéressons à l’apport de méthodes d’apprentissage
par renforcement et de méthodes de Monte Carlo pour la résolution de problèmes
d’optimisation combinatoire issus de besoins industriels. Plus particulièrement, nous
proposons deux approches dont le but est de guider l’exploration d’un arbre de recherche.
La première approche consiste à concevoir une heuristique basée sur une
combinaison linéaire de critères pertinents pour le problème, critères pouvant provenir
de connaissances métier. Les poids de cette combinaison linéaire sont réglés
via un algorithme d’apprentissage par renforcement, et l’heuristique obtenue est
intégrée dans un algorithme de recherche arborescente. La seconde approche est
une recherche arborescente de Monte Carlo combinée avec une recherche en profondeur
d’abord. Le but est alors de découvrir, par l’expérience, quelle partie de
l’arbre explorer. Ces deux approches peuvent être combinées et sont suffisamment
génériques pour être adaptées aux deux problèmes industriels que nous étudions
dans ce manuscrit. Le premier problème concerne la planification du déplacement
de chariots pour transporter des pièces dans un atelier d’assemblage tout en respectant
les cadences de production. Le second est un problème de chargement de
camions en logistique amont comportant des contraintes liées à l’ordre de passage
chez les fournisseurs et aux réglementations sur l’équilibre de la charge aux essieux.
Pour ces deux problèmes les approches proposées surpassent les méthodes utilisées
dans l’entreprise.
Fichier principal
ANTUORI Valentin.pdf (1.63 Mo)
Télécharger le fichier
image.png (489 B)
Télécharger le fichier
Origine | Fichiers produits par l'(les) auteur(s) |
---|