Primal heuristics are important for solving mixed integer linear programs, because they find feasible solutions that facilitate branch and bound search. A prominent group of primal heuristics are diving heuristics. They iteratively modify and resolve linear programs to conduct a depth-first search from any node in the search tree. Existing divers rely on generic decision rules that fail to exploit structural commonality between similar problem instances that often arise in practice. Therefore, we propose L2Dive to learn specific diving heuristics with graph neural networks: We train generative models to predict variable assignments and leverage the duality of linear programs to make diving decisions based on the model's predictions. L2Dive is fully integrated into the open-source solver SCIP. We find that L2Dive outperforms standard divers to find better feasible solutions on a range of combinatorial optimization problems. For real-world applications from server load balancing and neural network verification, L2Dive improves the primal-dual integral by up to 7% (35%) on average over a tuned (default) solver baseline and reduces average solving time by 20% (29%).
翻译:对解决混合整形线性程序来说,原始光纤学对于解决混合整数线性程序很重要,因为它们找到可行的解决方案,可以促进分支和约束搜索。 一组突出的原始黑素学是潜潜伏超光学。 它们反复修改和解决线性程序, 以便从搜索树中的任何节点进行深度第一次搜索。 现有的潜水员依靠通用决策规则, 无法利用实践中经常出现的类似问题案例之间的结构共性。 因此, 我们建议 L2Dive 使用图形神经网络学习具体的潜水超光学学: 我们训练基因化模型, 预测可变任务, 并利用线性程序的双重性来根据模型的预测潜水决定。 L2Dive 完全融入了开放源求解器 SCIP 。 我们发现, L2Dive 超越标准潜水员在一系列组合优化问题上找到更好的可行解决方案。 对于服务器负载平衡和神经网络核查等现实世界应用, L2Dive将平均调整( 35%) 20 % (29 %) 将平均解算时间减少20% 。