IntSat: Integer Linear Programming by Conflict-Driven Constraint-Learning
This work addresses the challenge of improving ILP solving efficiency for optimization and constraint satisfaction problems, though it is incremental as it adapts existing SAT methods to a new domain.
The authors tackled the problem of extending conflict-driven clause-learning (CDCL) techniques from SAT solving to integer linear programming (ILP), where variables are integers and constraints are more expressive, and demonstrated through a basic implementation that these techniques are already a useful complement to state-of-the-art ILP solvers.
State-of-the-art SAT solvers are nowadays able to handle huge real-world instances. The key to this success is the so-called Conflict-Driven Clause-Learning (CDCL) scheme, which encompasses a number of techniques that exploit the conflicts that are encountered during the search for a solution. In this article we extend these techniques to Integer Linear Programming (ILP), where variables may take general integer values instead of purely binary ones, constraints are more expressive than just propositional clauses, and there may be an objective function to optimise. We explain how these methods can be implemented efficiently, and discuss possible improvements. Our work is backed with a basic implementation that shows that, even in this far less mature stage, our techniques are already a useful complement to the state of the art in ILP solving.