Integer linear programming models a wide range of practical combinatorial optimization problems and has significant impacts in industry and management sectors. This work develops the first standalone local search solver for general integer linear programming validated on a large heterogeneous problem dataset. We propose a local search framework that switches in three modes, namely Search, Improve, and Restore modes, and design tailored operators adapted to different modes, thus improve the quality of the current solution according to different situations. For the Search and Restore modes, we propose an operator named tight move, which adaptively modifies variables' values trying to make some constraint tight. For the Improve mode, an efficient operator lift move is proposed to improve the quality of the objective function while maintaining feasibility. Putting these together, we develop a local search solver for integer linear programming called Local-ILP. Experiments conducted on the MIPLIB dataset show the effectiveness of our solver in solving large-scale hard integer linear programming problems within a reasonably short time. Local-ILP is competitive and complementary to the state-of-the-art commercial solver Gurobi and significantly outperforms the state-of-the-art non-commercial solver SCIP. Moreover, our solver establishes new records for 6 MIPLIB open instances.
翻译:整数线性规划建模了广泛的实践组合优化问题,在工业和管理领域具有重要影响。本文针对大规模异构问题数据集,开发了首个独立用于通用整数线性规划的局部搜索求解器。我们提出一种三模态切换的局部搜索框架,即搜索模式、改进模式和恢复模式,并设计适配不同模式的定制化算子,从而根据不同情况提升当前解的质量。针对搜索与恢复模式,我们提出紧致移动算子,通过自适应调整变量取值使某些约束达到紧致状态;针对改进模式,提出高效提升移动算子,在保持可行性的同时优化目标函数值。综合上述方法,我们开发了面向整数线性规划的局部搜索求解器Local-ILP。在MIPLIB数据集上的实验表明,该求解器能在合理时间内有效求解大规模硬整数线性规划问题。Local-ILP与当前最优商业求解器Gurobi相比具有竞争性与互补性,且显著优于当前最优非商业求解器SCIP。此外,本求解器在6个MIPLIB开放实例上创造了新纪录。