Constraint programming (CP) is a powerful technique for solving constraint satisfaction and optimization problems. In CP solvers, the variable ordering strategy used to select which variable to explore first in the solving process has a significant impact on solver effectiveness. To address this issue, we propose a novel variable ordering strategy based on supervised learning, which we evaluate in the context of job shop scheduling problems. Our learning-based methods predict the optimal solution of a problem instance and use the predicted solution to order variables for CP solvers. \added[]{Unlike traditional variable ordering methods, our methods can learn from the characteristics of each problem instance and customize the variable ordering strategy accordingly, leading to improved solver performance.} Our experiments demonstrate that training machine learning models is highly efficient and can achieve high accuracy. Furthermore, our learned variable ordering methods perform competitively when compared to four existing methods. Finally, we demonstrate that hybridising the machine learning-based variable ordering methods with traditional domain-based methods is beneficial.
翻译:约束编程是解决约束满足和优化问题的强大技术。在约束编程求解器中,用于选择先探索哪个变量的变量排序策略对求解器的有效性有很大影响。为了解决这个问题,我们提出了一种基于监督学习的新型变量排序策略,并在作业车间调度问题的背景下进行评估。我们的基于学习的方法预测问题实例的最优解,并使用预测解来对约束编程求解器中的变量排序。与传统变量排序方法不同,我们的方法可以从每个问题实例的特征中学习,并相应地自定义变量排序策略,从而提高求解器性能。我们的实验证明,训练机器学习模型非常高效,并且可以实现高精度。此外,我们学到的变量排序方法在与四种现有方法进行比较时表现出竞争力。最后,我们证明将基于机器学习的变量排序方法与传统的基于领域的方法混合使用是有益的。