Tom Marty, Léo Boisvert, Tristan François, Pierre Tessier, Louis Gautier, Louis-Martin Rousseau, Quentin Cappart
{"title":"Learning and fine-tuning a generic value-selection heuristic inside a constraint programming solver.","authors":"Tom Marty, Léo Boisvert, Tristan François, Pierre Tessier, Louis Gautier, Louis-Martin Rousseau, Quentin Cappart","doi":"10.1007/s10601-024-09377-4","DOIUrl":null,"url":null,"abstract":"<p><p>Constraint programming is known for being an efficient approach to solving combinatorial problems. Important design choices in a solver are the <i>branching heuristics</i>, 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 automatically learn efficient heuristics without expert intervention. Although several generic <i>variable-selection heuristics</i> are available in the literature, the options for <i>value-selection heuristics</i> are more scarce. 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 <i>deep Q-learning</i> algorithm, a tailored <i>reward signal</i>, and a <i>heterogeneous graph neural network</i>. Experiments on <i>graph coloring</i>, <i>maximum independent set</i>, <i>maximum cut</i>, and <i>minimum vertex cover</i> problems show that this framework competes with the well-known impact-based and activity-based search heuristics and can find solutions close to optimality without requiring a large number of backtracks. Additionally, we observe that fine-tuning a model with a different problem class can accelerate the learning process.</p>","PeriodicalId":55211,"journal":{"name":"Constraints","volume":"29 3-4","pages":"234-260"},"PeriodicalIF":0.5000,"publicationDate":"2024-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC11753336/pdf/","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Constraints","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10601-024-09377-4","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2024/11/23 0:00:00","PubModel":"Epub","JCR":"Q4","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
引用次数: 0
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 automatically learn efficient heuristics without expert intervention. Although several generic variable-selection heuristics are available in the literature, the options for value-selection heuristics are more scarce. 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. Experiments on graph coloring, maximum independent set, maximum cut, and minimum vertex cover problems show that this framework competes with the well-known impact-based and activity-based search heuristics and can find solutions close to optimality without requiring a large number of backtracks. Additionally, we observe that fine-tuning a model with a different problem class can accelerate the learning process.
期刊介绍:
Constraints provides a common forum for the many disciplines interested in constraint programming and constraint satisfaction and optimization, and the many application domains in which constraint technology is employed. It covers all aspects of computing with constraints: theory and practice, algorithms and systems, reasoning and programming, logics and languages.