Table of Contents
Fetching ...

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.

Serial and Parallel Two-Column Probing for Mixed-Integer Programming

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 , clique table , aggregation , and implication graph , 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.
Paper Structure (28 sections, 14 equations, 4 figures, 7 tables, 7 algorithms)

This paper contains 28 sections, 14 equations, 4 figures, 7 tables, 7 algorithms.

Figures (4)

  • Figure 1: Conflict Graph Constructed from 4 Cliques
  • Figure 2: Pairs # vs. different number of threads.
  • Figure 3: A scatterplot of total runtime effects: vertical axis is two-column probing, horizontal axis is one-column probing. Each point represents five runs of an instance; shade indicates pairs of variables probed.
  • Figure 4: A scatterplot of runtime improvements from two-column probing vs total pairs probed. Each point represents five runs of an instance; shade indicates SCIP total time to solve.