论文标题
混合式线性编程中的自适应切割选择
Adaptive Cut Selection in Mixed-Integer Linear Programming
论文作者
论文摘要
切割平面的选择是所有现代混合企业线性编程求解器中的子例程,其目标是选择诱导最佳求解器性能的生成的切割子集。这些求解器具有数百万个参数组合,因此是参数调整的出色候选者。剪切选择评分规则通常是不同测量值的加权总和,其中权重为参数。我们提出了一个混合企业线性程序的参数家族,以及无限许多家庭范围的有效削减。这些切口中的一些可以在应用后直接诱导整数最佳解决方案,而其他一些切口也无法诱导整数,即使应用了无限量。我们为特定的剪切选择规则显示,对参数空间的任何有限网格搜索都将始终丢失所有参数值,这些参数值选择无限量的我们的问题中的整数最佳诱导切割。我们提出了现有图形卷积神经网络设计的变体,以适应它们以学习切割选择规则参数。我们提出了选择剪切的强化学习框架,并使用Miplib 2017上的上述框架和神经网络验证数据集训练我们的设计。我们的框架和设计表明,自适应切割的选择确实在各种实例上确实提高了性能,但是找到描述这种规则的单个函数很困难。复制所有实验的代码可在https://github.com/opt-mucca/adaptive-cutsel-milp上找到。
Cutting plane selection is a subroutine used in all modern mixed-integer linear programming solvers with the goal of selecting a subset of generated cuts that induce optimal solver performance. These solvers have millions of parameter combinations, and so are excellent candidates for parameter tuning. Cut selection scoring rules are usually weighted sums of different measurements, where the weights are parameters. We present a parametric family of mixed-integer linear programs together with infinitely many family-wide valid cuts. Some of these cuts can induce integer optimal solutions directly after being applied, while others fail to do so even if an infinite amount are applied. We show for a specific cut selection rule, that any finite grid search of the parameter space will always miss all parameter values, which select integer optimal inducing cuts in an infinite amount of our problems. We propose a variation on the design of existing graph convolutional neural networks, adapting them to learn cut selection rule parameters. We present a reinforcement learning framework for selecting cuts, and train our design using said framework over MIPLIB 2017 and a neural network verification data set. Our framework and design show that adaptive cut selection does substantially improve performance over a diverse set of instances, but that finding a single function describing such a rule is difficult. Code for reproducing all experiments is available at https://github.com/Opt-Mucca/Adaptive-Cutsel-MILP.