<  Retour au portail Polytechnique Montréal

Apprentissage par renforcement appliqué à la résolution de problèmes de programmation par contraintes

Tom Marty

Mémoire de maîtrise (2023)

Document en libre accès dans PolyPublie
[img]
Affichage préliminaire
Libre accès au plein texte de ce document
Conditions d'utilisation: Tous droits réservés
Télécharger (2MB)
Afficher le résumé
Cacher le résumé

Résumé

La programmation par contraintes est connue pour être une approche à la fois efficace et versatile pour résoudre des problèmes combinatoires complexes. Dans un solveur de programmation par contraintes, une attention toute particulière doit être portée sur les heuristiques de branchement, qui permettent d’accélérer la recherche, en guidant celle-ci vers les meilleures solutions en un minimum de temps. Cependant, développer des heuristiques efficaces est une tâche complexe qui nécessite l’acquisition au préalable d’une expertise spécifique au problème. Cette observation a motivé de nombreux efforts pour utiliser de l’apprentissage automatique pour apprendre de manière générique des heuristiques de décision sans apport de connaissances extérieures. Bien que plusieurs heuristiques génériques de sélection de variables soient disponibles dans la littérature, les options pour une heuristique générique de sélection de valeurs sont plus rares ou moins étudiées. Dans cet article, nous proposons de résoudre ce problème en introduisant une procédure d’apprentissage générique qui peut être utilisée pour obtenir une heuristique de sélection de valeurs. Cette procédure est le fruit de la combinaison d’un algorithme d’apprentissage par renforcement appelé deep Q-learning, d’un signal de récompense personnalisé et d’une architecture de réseau neuronal hétérogène de type graph neural network. Des expériences sur trois classes distinctes de problèmes combinatoires permettent de valider expérimentalement la capacité de notre approche à apprendre des heuristiques performantes capables de trouver dans un temps restreint des solutions de bonnes qualités.

Abstract

Constraint programming is known for being an efficient approach to solving combinatorial problems. Important design choices in a solver are the branching heuristics, designed to lead the search to the best solutions in a minimum amount of time. However, developing these heuristics is a time-consuming process that requires problem-specific expertise. This observation has motivated many efforts to use machine learning to learn efficient heuristics without expert intervention automatically. Although several generic variable-selection heuristics are available in the literature, the options for a generic value-selection heuristic are more scarce. In this paper, we propose to tackle this issue by introducing a generic learning procedure that can be used to obtain a value-selection heuristic inside a constraint programming solver. This has been achieved thanks to the combination of a deep Q-learning algorithm, a tailored reward signal, and a heterogeneous graph neural network architecture. Experiments on graph coloring, maximum independent set, and maximum cut problems show that our generic framework is able to find better solutions close to optimality without requiring a large number of backtracks.

Département: Département de génie informatique et génie logiciel
Programme: Génie informatique
Directeurs ou directrices: Quentin Cappart et Louis-Martin Rousseau
URL de PolyPublie: https://publications.polymtl.ca/54186/
Université/École: Polytechnique Montréal
Date du dépôt: 13 nov. 2023 10:20
Dernière modification: 17 nov. 2024 17:56
Citer en APA 7: Marty, T. (2023). Apprentissage par renforcement appliqué à la résolution de problèmes de programmation par contraintes [Mémoire de maîtrise, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/54186/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document Afficher document