Constraint Integer Programming: Techniques and Applications

Tobias Achterberg, Timo Berthold, Stefan Heinz, Thorsten Koch, Kati Wolter · 2008

This article introduces constraint integer programming (CIP), which is a novel way to combine constraint programming (CP) and mixed integer programming (MIP) methodologies. CIP is a generalization of MIP that supports the notion of general constraints as in CP. This approach is supported by the CIP framework SCIP, which also integrates techniques for solving satisfiability problems. SCIP is available in source code and free for noncommercial use. We demonstrate the usefulness of CIP on three tasks. First, we ap-ply the constraint integer programming approach to pure mixed integer programs. Computational experiments show that SCIP is almost com-petitive to current state-of-the-art commercial MIP solvers. Second, we demonstrate how to use CIP techniques to compute the number of opti-mal solutions of integer programs. Third, we employ the CIP framework to solve chip design verification problems, which involve some highly non-linear constraint types that are very hard to handle by pure MIP solvers. The CIP approach is very effective here: it can apply the full sophisticated MIP machinery to the linear part of the problem, while dealing with the nonlinear constraints by employing constraint programming techniques.

Read the paper · More papers on PaperTik