Table of Contents
Fetching ...

MIP-DD: A Delta Debugger for Mixed Integer Programming Solvers

Alexander Hoen, Dominik Kamp, Ambros Gleixner

TL;DR

MIP-DD introduces a solver-independent delta debugger for mixed-integer programming that iteratively reduces problem size and solver code coverage while preserving the observed bug, enabling rapid localization of defects across complete or heuristic MIP solvers. The framework relies on nine modifiers, a solver-agnostic interface, and a stage-round workflow to explore reductions efficiently, with batching to manage solve costs. Case studies on SCIP from versions 8.0.1 to 8.1.1 demonstrate significant reductions of reproducing instances and highlight fixes across presolve, separators, and numerical normalization, illustrating practical debugging benefits and a pathway to performance bottleneck analysis. The approach supports confidential data sharing through reduced instances and sets the stage for future integration with exact arithmetic and certificate verification tools, broadening the impact of delta debugging in optimization software development.

Abstract

The recent performance improvements in mixed-integer programming (MIP) have been accompanied by a significantly increased complexity of the codes of MIP solvers, which poses challenges in fixing implementation errors. In this paper, we introduce MIP-DD, a solver-independent tool, which to the best of our knowledge is the first open-source delta debugger for MIP. Delta debugging is a hypothesis-trial-result approach to isolate the cause of a solver failure. MIP-DD simplifies MIP instances while maintaining the undesired behavior. Preliminary versions already supported and motivated fixes for many bugs in the SCIP releases 8.0.1 to 8.1.1. In these versions, MIP-DD successfully contributed to 24 out of all 51 documented MIP-related bugfixes even for some long-known issues. In selected case studies we highlight that instances triggering fundamental bugs in SCIP can typically be reduced to a few variables and constraints in less than an hour. This makes it significantly easier to manually trace and check the solution process on the resulting simplified instances. A promising future application of MIP-DD is the analysis of performance bottlenecks, which could very well benefit from simple adversarial instances.

MIP-DD: A Delta Debugger for Mixed Integer Programming Solvers

TL;DR

MIP-DD introduces a solver-independent delta debugger for mixed-integer programming that iteratively reduces problem size and solver code coverage while preserving the observed bug, enabling rapid localization of defects across complete or heuristic MIP solvers. The framework relies on nine modifiers, a solver-agnostic interface, and a stage-round workflow to explore reductions efficiently, with batching to manage solve costs. Case studies on SCIP from versions 8.0.1 to 8.1.1 demonstrate significant reductions of reproducing instances and highlight fixes across presolve, separators, and numerical normalization, illustrating practical debugging benefits and a pathway to performance bottleneck analysis. The approach supports confidential data sharing through reduced instances and sets the stage for future integration with exact arithmetic and certificate verification tools, broadening the impact of delta debugging in optimization software development.

Abstract

The recent performance improvements in mixed-integer programming (MIP) have been accompanied by a significantly increased complexity of the codes of MIP solvers, which poses challenges in fixing implementation errors. In this paper, we introduce MIP-DD, a solver-independent tool, which to the best of our knowledge is the first open-source delta debugger for MIP. Delta debugging is a hypothesis-trial-result approach to isolate the cause of a solver failure. MIP-DD simplifies MIP instances while maintaining the undesired behavior. Preliminary versions already supported and motivated fixes for many bugs in the SCIP releases 8.0.1 to 8.1.1. In these versions, MIP-DD successfully contributed to 24 out of all 51 documented MIP-related bugfixes even for some long-known issues. In selected case studies we highlight that instances triggering fundamental bugs in SCIP can typically be reduced to a few variables and constraints in less than an hour. This makes it significantly easier to manually trace and check the solution process on the resulting simplified instances. A promising future application of MIP-DD is the analysis of performance bottlenecks, which could very well benefit from simple adversarial instances.
Paper Structure (17 sections, 11 equations, 1 figure, 1 table, 1 algorithm)