混合整数规划 (MIP) 是 NP-hard 问题中的一类,它的目标是在线性约束下将线性目标最小化,同时使部分或全部变量均为整数值,在容量规划、资源分配与装箱等等现实场景中得到了广泛应用。
该方向的大量研究与工程投入都集中在了开发实用求解器上,比如 SCIP、CPLEX、Gurobi 和 Xpress。这些求解器都是使用复杂的启发式算法来指导求解 MIP 的搜索过程。一个求解器在特定应用上的表现主要是取决于该求解器的启发式算法与该应用的匹配程度。
在这篇工作中,作者团队展示了机器学习可用于从 MIP 实例数据集中自动构建有效的启发式算法。当一个应用需要解决具有不同问题参数的同一高级语义问题中的大量实例时,机器学习便派上了用场。
这篇工作中,此类“同质”数据集的例子包括:1)优化选择电网中的发电厂,以满足需求(O'Neill 2017),其中,电网拓扑保持不变,而需求、可再生能源发电等则因情况而异;2) 解决谷歌生产系统中的包装问题,其中,待打包的“物件”(items)和“箱子”(bins)的语义基本保持不变,但它们的尺寸大小会根据不同的情况而有所变化。
即使是结合了许多语义不同的问题的“异构”数据集,比如 MIPLIB 2017,也可以拥有跨实例的结构,用于学习更好的启发式算法。现成的 MIP 求解器无法自动构建启发式算法来利用这种结构。在具有挑战性的应用场景中,用户可能会依赖专家来手动设计此类启发式算法,或放弃潜在的大幅性能改进。机器学习提供了大幅改进的可能性,且无需使用特定应用场景的专业知识。
这篇工作证明了,机器学习可以构建为特定数据集定制的启发式算法,其性能会明显优于在 MIP 求解器中所使用过的经典方法,包括最先进的非商业求解器 SCIP 7.0.1 。
他们的方法将机器学习应用于 MIP 求解器的两个关键子任务:a) 输出能满足约束条件的所有变量的赋值(如果存在这样的赋值);b)证明变量赋值与最优赋值之间的目标值差距范围。这两个任务决定了该方法的主要组件,即 Neural Diving 与 Neural Branching(见图1)。