Serial and Parallel Two-Column Probing for Mixed-Integer Programming
Yongzheng Dai, Chen Chen
TL;DR
The paper introduces a two-column probing approach for MIP presolve, extending traditional one-variable probing to fix pairs of binary variables per iteration and exploring both serial and parallel implementations. It builds a formal framework with a coupling matrix $CM$, clique table $CT$, aggregation $AF$, and implication graph $IG$, enabling stronger bounds, new conflicts, and potential aggregations. Empirical results on MIPLIB 2017 show that the parallel version scales to more probe pairs and improves solve-time for harder instances, while acknowledging that standalone two-column probing is less effective than SCIP's mature one-column probing. The work demonstrates the practical viability of intensified, parallelized probing and outlines directions for future work, including application to MINLP problems and deeper integration with existing solvers.
Abstract
Probing in mixed-integer programming (MIP) is a technique of temporarily fixing variables to discover implications that are useful to branch-and-cut solvers. Such fixing is typically performed one variable at a time -- this paper develops instead a two-column probing scheme that instead fixes a pair of variables per iteration. Although the scheme involves more work per iteration compared to the one-column approach, stronger implied bounds as well as more conflicts identified may compensate. Indeed, our prototype implementation was awarded first prize at the MIP Workshop 2024 Computational Competition on novel presolving approaches. This paper presents the aforementioned (serial) prototype and additionally develops an efficient parallelization, leveraging hardware acceleration to further improve overall solve times. Compared to serial two-column probing, our parallel version sacrifices some strength per-pair probed in exchange for greatly increasing the total number of such probings; computational experiments demonstrate its promise.
