Abstract
Constraint integer programming (CIP) is a novel paradigm which integrates constraint programming (CP), mixed integer programming (MIP), and satisfiability (SAT) modeling and solving techniques. In this paper we discuss the software framework and solver SCIP (Solving Constraint Integer Programs), which is free for academic and non-commercial use and can be downloaded in source code. This paper gives an overview of the main design concepts of SCIP and how it can be used to solve constraint integer programs. To illustrate the performance and flexibility of SCIP, we apply it to two different problem classes. First, we consider mixed integer programming and show by computational experiments that SCIP is almost competitive to specialized commercial MIP solvers, even though SCIP supports the more general constraint integer programming paradigm. We develop new ingredients that improve current MIP solving technology. As a second application, we employ SCIP to solve chip design verification problems as they arise in the logic design of integrated circuits. This application goes far beyond traditional MIP solving, as it includes several highly non-linear constraints, which can be handled nicely within the constraint integer programming framework. We show anecdotally how the different solving techniques from MIP, CP, and SAT work together inside SCIP to deal with such constraint classes. Finally, experimental results show that our approach outperforms current state-of-the-art techniques for proving the validity of properties on circuits containing arithmetic.
Similar content being viewed by others
References
Achterberg T.: Conflict analysis in mixed integer programming. Discret. Optim. 4(1), 4–20 (2007) (special issue: Mixed Integer Programming)
Achterberg, T.: Constraint Integer Programming. Ph.D. Thesis, Technische Universität Berlin (2007). http://opus.kobv.de/tuberlin/volltexte/2007/1611/
Achterberg T., Berthold T.: Improving the feasibility pump. Discret. Optim. 4(1), 77–86 (2007) (special issue: Mixed Integer Programming)
Achterberg, T., Berthold, T., Koch, T., Wolter, K.: Constraint integer programming: a new approach to integrate CP and MIP. In: Perron, L., Trick, M.A. (eds.) Integration of AI and OR techniques in constraint programming for combinatorial optimization problems, 5th international conference, CPAIOR 2008. Lecture Notes in Computer Science, vol. 5015, pp. 6–20. Springer, Heidelberg (2008)
Achterberg, T., Brinkmann, R., Wedler, M.: Property checking with constraint integer programming. Technical Report 07-37, Zuse Institute Berlin (2007). http://opus.kobv.de/zib/volltexte/2007/1065/
Achterberg T., Grötschel M., Koch T.: Teaching MIP modeling and solving. ORMS Today 33(6), 14–15 (2006)
Achterberg T., Koch T., Martin A.: Branching rules revisited. Oper. Res. Lett. 33, 42–54 (2005)
Achterberg T., Koch T., Martin A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 1–12 (2006)
Akers S.B.: Binary decision diagrams. IEEE Trans. Comput. C-27(6), 509–516 (1978)
Althaus, E., Bockmayr, A., Elf, M., Jünger, M., Kasper, T., Mehlhorn, K.: SCIL—symbolic constraints in integer linear programming. Technical Report ALCOMFT-TR-02-133, MPI Saarbrücken, May (2002)
Anders, C.: Das Chordalisierungspolytop und die Berechnung der Baumweite eines Graphen. Master’s Thesis, Technische Universität Berlin (2006)
Andreello G., Caprara A., Fischetti M.: Embedding cuts in a branch&cut framework: a computational study with \({\{0,\frac{1}{2}\}}\) -cuts. INFORMS J. Comput. 19(2), 229–238 (2007)
Applegate D.L., Bixby R.E., Chvátal V., Cook W.J.: The Traveling Salesman Problem. Princeton University Press, Princeton (2006)
Armbruster, M.: Branch-and-Cut for a Semidefinite Relaxation of the Minimum Bisection Problem. Ph.D. Thesis, Technische Universität Chemnitz (2007)
Armbruster, M., Fügenschuh, M., Helmberg, C., Martin, A.: Experiments with linear and semidefinite relaxations for solving the minimum graph bisection problem. Technical Report, Darmstadt University of Technology (2006)
Armbruster, M., Fügenschuh, M., Helmberg, C., Martin, A.: On the bisection cut polytope. Darmstadt University of Technology (preprint, 2006)
Aron, I.D., Hooker, J.N., Yunes, T.H.: SIMPL: a system for integrating optimization techniques. In: Régin, J.-C., Rueher, M. (eds.) Integration of AI and OR techniques in constraint programming for combinatorial optimization problems, first international conference, CPAIOR. Lecture Notes in Computer Science, vol. 3011, pp. 21–36. Springer, Nice, France (2004)
Atamtürk A.: Flow pack facets of the single node fixed-charge flow polytope. Oper. Res. Lett. 29, 107–114 (2001)
Atamtürk A.: On the facets of the mixed—integer knapsack polyhedron. Math. Programm. 98, 145–175 (2003)
Atamtürk A., Rajan D.: On splittable and unsplittable capacitated network design arc-set polyhedra. Math. Programm. 92, 315–333 (2002)
Balas E.: Facets of the knapsack polytope. Math. Programm. 8, 146–164 (1975)
Balas E., Ceria S., Cornuéjols G., Natraj N.: Gomory cuts revisited. Oper. Res. h Lett. 19, 1–9 (1996)
Balas E., Zemel E.: Facets of the knapsack polytope from minimal covers. SIAM J. Appl. Math. 34, 119–148 (1978)
Beale E.M.L.: Branch and bound methods for mathematical programming systems. In: Hammer, P.L., Johnson, E.L., Korte, B.H.(eds) Discrete Optimization II, pp. 201–219. North Holland Publishing Co., Amsterdam (1979)
Bénichou M., Gauthier J.M., Girodet P., Hentges G., Ribière G., Vincent O.: Experiments in mixed-integer linear programming. Math. Programm. 1, 76–94 (1971)
Berthold, T.: Primal heuristics for mixed integer programs. Master’s Thesis, Technische Universität Berlin
Berthold, T., Heinz, S., Pfetsch, M.E.: Solving pseudo-Boolean problems with SCIP. Report 07–10, Zuse Institute Berlin (2008)
Biere, A., Clarke, E.M., Raimi, R., Zhu, Y.: Verifying safety properties of a Power PC microprocessor using symbolic model checking without BDDs. In: Computer-aided verification. Lecture Notes in Computer Science, vol. 1633, pp. 60–71. Springer, Heidelberg (1999)
Bilgen, E.: Personalkostenminimierung bei der Einsatzplanung von parallelen identischen Bearbeitungszentren in der Motorradproduktion. Master’s Thesis, Technische Universität Chemnitz (2007)
Bjesse, P., Leonard, T., Mokkedem, A.: Finding bugs in an Alpha microprocessor using satisfiability solvers. In: Computer-aided verification. Lecture Notes in Computer Science, vol. 2102, pp. 454–464. Springer, Heidelberg (2001)
Bley, A., Kupzog, F., Zymolka, A.: Auslegung heterogener Kommunikationsnetze nach performance und Wirtschaftlichkeit. In: Proceedings of 11th Kasseler Symposium Energie-Systemtechnik: Energie und Kommunikation, pp. 84–97, Kassel, November (2006)
Bockmayr A., Kasper T.: Branch-and-infer: a unifying framework for integer and finite domain constraint programming. INFORMS J. Comput. 10(3), 287–300 (1998)
Bockmayr, A., Pisaruk, N.: Solving assembly line balancing problems by combining IP and CP. In: Sixth Annual Workshop of the ERCIM Working Group on Constraints, June (2001)
Brinkmann, R.: Preprocessing for Property Checking of Sequential Circuit on the Register Transfer Level. Ph.D. Thesis, University of Kaiserslautern, Kaiserslautern, Germany (2003)
Brinkmann, R., Drechsler, R.: RTL-datapath verification using integer linear programming. In: Proceedings of the IEEE VLSI Design Conference, pp. 741–746 (2002)
Bryant R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35(8), 677–691 (1986)
Ceselli, A., Gatto, M., Lübbecke, M., Nunkesser, M., Schilling, H.: Optmizing the cargo express service of swiss federal railways. Transport. Sci. (to appear)
COIN-OR. Computational Infrastructure for Operations Research. http://www.coin-or.org
Crowder H., Johnson E.L., Padberg M.W.: Solving large scale zero-one linear programming problems. Oper. Res. 31, 803–834 (1983)
Danna E., Rothberg E., Le Pape C.: Exploring relaxation induced neighborhoods to improve MIP solutions. Math. Programm. 102(1), 71–90 (2005)
Dantzig, G.B.: Maximization of a linear function of variables subject to linear inequalities. In: Koopmans, T. (ed.) Activity Analysis of Production and Allocation, pp. 339–347. Wiley, New York (1951)
Dantzig G.B.: Linear Programming and Extensions. Princeton University Press, Princeton (1963)
Dash Optimization. Xpress-MP. http://www.dashoptimization.com
Dix, A.: Das Statische Linienplanungsproblem. Master’s Thesis, Technische Universität Berlin (2007)
Dolan E., Moré J.: Benchmarking optimization software with performance profiles. Math. Programm. 91, 201–213 (2002)
Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) Proceedings of SAT 2003, pp. 502–518. Springer, Heidelberg (2003)
Fallah F., Devadas S., Keutzer K.: Functional vector generation for HDL models using linear programming and boolean satisfiability. IEEE Trans. CAD CAD-20(8), 994–1002 (2001)
Fischetti M., Lodi A.: Local branching. Math. Programm. 98(1–3), 23–47 (2003)
Forrest, J.J.H.: COIN branch and cut. COIN-OR, http://www.coin-or.org
Forrest, J.J.H., de la Nuez, D., Lougee-Heimer, R.: CLP user guide. COIN-OR,http://www.coin-or.org/Clp/userguide
Fügenschuh, A., Martin, A.: Computational integer programming and cutting planes. In: Aardal, K., Nemhauser, G.L., Weismantel, R. (eds.) Discrete Optimization. Handbooks in Operations Research and Management Science, Chap. 2, vol. 12, pp. 69–122. Elsevier, Amsterdam (2005)
Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: DPLL(T): fast decision procedures. In: Proceedings of the International Conference on Computer Aided Verification (CAV-04). pp. 26–37 (2004)
Gauthier J.M., Ribière G.: Experiments in mixed-integer linear programming using pseudocosts. Math. Programm. 12(1), 26–47 (1977)
Glover F., Laguna M.: Tabu Search. Kluwer, Boston (1997)
Gomory, R.E.: Solving linear programming problems in integers. In: Bellman, R., Hall, J.M. (eds.) Combinatorial Analysis Symposia in Applied Mathematics X, pp. 211–215. American Mathematical Society, Providence (1960)
Gomory, R.E.: An algorithm for integer solutions to linear programming. In: Graves, R.L., Wolfe, P. (eds.) Recent Advances in Mathematical Programming, pp. 269–302. McGraw-Hill, New York (1963)
Gottlieb, J., Paulmann, L.: Genetic algorithms for the fixed charge transportation problem. In: Proceedings of the 1998 IEEE International Conference on Evolutionary Computation, pp. 330–335. IEEE Press, New York (1998)
Hooker J.N.: Planning and scheduling by logic-based Benders decomposition. Oper. Res. 55(3), 588–602 (2007)
ILOG. Cplex.http://www.ilog.com/products/cplex
Jain V., Grossmann I.E.: Algorithms for hybrid MILP/CP models for a class of optimization problems. INFORMS J. Comput. 13(4), 258–276 (2001)
Jerraya, A.A., Wolf, W.: Multiprocessor Systems-on-Chips. The Morgan Kaufmann Series in Systems on Silicon. Elsevier/Morgan Kaufman, Boston/San Francisco (2004)
Johnson E.L., Padberg M.W.: Degree-two inequalities, clique facets, and biperfect graphs. Ann. Discret. Math. 16, 169–187 (1982)
Joswig M., Pfetsch M.E.: Computing optimal Morse matchings. SIAM J. Discret. Math. 20(1), 11–25 (2006)
Kaibel, V., Peinhardt, M., Pfetsch, M.E.: Orbitopal fixing. In: Fischetti, M., Williamson, D. (eds.) Proceedings of the 12th Integer Programming and Combinatorial Optimization conference (IPCO). LNCS, vol. 4513, pp. 74–88. Springer, Heidelberg (2007)
Koch, T.: Rapid mathematical programming or how to solve sudoku puzzles in a few seconds. In: Haasis, H.-D., Kopfer, H., Schönberger, J. (eds.) Operations Research Proceedings 2005, pp. 21–26 (2006)
Kutschka, M.: Algorithmen zur Separierung von \({\{0,\frac{1}{2}\}}\) -Schnitten. Master’s Thesis, Technische Universität Berlin (2007)
Land A., Powell S.: Computer codes for problems of integer programming. Ann. Discret. Math. 5, 221–269 (1979)
Letchford A.N., Lodi A.: Strengthening Chvátal–Gomory cuts and Gomory fractional cuts. Oper. Res. Lett. 30(2), 74–82 (2002)
Li, C.M., Anbulagan: Heuristics based on unit propagation for satisfiability problems. In: Proceedings of 15th International Joint Conference on Artificial Interlligence (IJCAI 1997), pp. 366–371. Morgan Kaufmann, Japan (1997)
Li, C.M., Anbulagan: Look-ahead versus look-back for satisfiability problems. In: Proceedings of third international conference on Principles and Practice of Constraint Programming (CP 1997), pp. 342–356. Springer, Autriche (1997)
Linderoth, J.T., Ralphs, T.K.: Noncommercial software for mixed-integer linear programming. In: Karlof, J. (ed.) Integer Programming: Theory and Practice, Operations Research Series, pp. 253–303. CRC Press, Boca Raton (2005)
Linderoth J.T., Savelsbergh M.W.P.: A computational study of search strategies for mixed integer programming. INFORMS J. Comput. 11, 173–187 (1999)
Madre, J.C., Billon, J.P.: Proving circuit correctness using formal comparison between expected and extracted behavior. In: Proceedings of the 25th Design Automation Conference, pp. 205–210 (1988)
Manquinho, V., Roussel, O.: Pseudo Boolean evaluation (2007).http://www.cril.univ-artois.fr/PB07/
Marchand, H.: A polyhedral study of the mixed knapsack set and its use to solve mixed integer programs. Ph.D. Thesis, Faculté des Sciences Appliquées, Université catholique de Louvain (1998)
Marchand H., Wolsey L.A.: Aggregation and mixed integer rounding to solve MIPs. Oper. Res. 49(3), 363–371 (2001)
Markowitz H.M., Manne A.S.: On the solution of discrete programming problems. Econometrica 25, 84–110 (1957)
Marques-Silva J.P., Sakallah K.A.: GRASP: a search algorithm for propositional satisfiability. IEEE Trans. Comput. 48, 506–521 (1999)
Martin, A.: Integer programs with block structure. Habilitations-Schrift, Technische Universität Berlin (1998).http://www.zib.de/Publications/abstracts/SC-99-03/
Martin, A., Weismantel, R.: The intersection of knapsack polyhedra and extensions. In: Bixby, R.E., Boyd, E., Ríos-Mercado, R.Z. (eds.) Integer programming and combinatorial optimization. Proceedings of the 6th IPCO Conference, pp. 243–256 (1998).http://www.zib.de/Publications/abstracts/SC-97-61/
Mitra G.: Investigations of some branch and bound strategies for the solution of mixed integer linear programs. Math. Programm. 4, 155–170 (1973)
Mittelmann, H.: Decision tree for optimization software: Benchmarks for optimization software.http://plato.asu.edu/bench.html
Mosek. Mosek Optimization tools.http://www.mosek.com
Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient SAT solver. In: Proceedings of the Design Automation Conference, July (2001)
Nemhauser G.L., Trick M.A.: Scheduling a major college basketball conference. Oper. Res. 46(1), 1–8 (1998)
Nunkesser, M.: Algorithm design and analysis of problems in manufacturing, logistic, and telecommunications: An algorithmic jam session. Ph.D. Thesis, Eidgenössische Technische Hochschule ETH Zürich (2006)
Orlowski, S., Koster, A.M.C.A., Raack, C., Wessäly, R.: Two-layer network design by branch- and-cut featuring MIP-based heuristics. In: Proceedings of the Third International Network Optimization Conference (INOC 2007). Spa, Belgium (2007)
Padberg M.W., Roy T.J., Wolsey L.A.: Valid inequalities for fixed charge problems. Oper. Res. 33(4), 842–861 (1985)
Parthasarathy, G., Iyer, M.K., Cheng, K.T., Wang, L.C.: An efficient finite-domain constraint solver for RTL circuits. In: Proceedings of the International Design Automation Conference (DAC-04) June (2004)
Pfetsch, M.E.: Branch-and-cut for the maximum feasible subsystem problem. Report 05-46, ZIB (2005)
Ryan, D.M., Foster, B.A.: An integer programming approach to scheduling. In: Wren, A. (ed.) Computer Scheduling of Public Transport Urban Passenger Vehicle and Crew Scheduling, pp. 269–280. North Holland, Amsterdam (1981)
Ryan, L.: Efficient algorithms for clause-learning SAT solvers. Master’s Thesis, Simon Fraser University
Savelsbergh M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6, 445–454 (1994)
Thienel, S.: ABACUS—A Branch-and-Cut System. Ph.D. Thesis, Institut für Informatik, Universität zu Köln (1995)
Timpe C.: Solving planning and scheduling problems with combined integer and constraint programming. OR Spectr. 24(4), 431–448 (2002)
VALSE-XT: Eine integrierte Lösung für die SoC-Verifikation (2005).http://www.edacentrum.de/ekompass/projektflyer/pf-valse-xt.pdf
Roy T.J., Wolsey L.A.: Valid inequalities for mixed 0-1 programs. Discret. Appl. Math. 14(2), 199–213 (1986)
Wolsey L.A.: Valid inequalities for 0-1 knapsacks and MIPs with generalized upper bound constraints. Discret. Appl. Math. 29, 251–261 (1990)
Wolter, K.: Implementation of cutting plane separators for mixed integer programs. Master’s Thesis, Technische Universität Berlin (2006)
Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. Ph.D. Thesis, Technische Universität Berlin (1996).http://www.zib.de/Publications/abstracts/TR-96-09/
Zeng, Z., Kalla, P., Ciesielski, M.: LPSAT: a unified approach to RTL satisfiability. In: Proceedings of Conference on Design, Automation and Test in Europe (DATE-01) Munich, March (2001)
Zuse Institute Berlin. SCIP: solving constraint integer programs.http://scip.zib.de
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Achterberg, T. SCIP: solving constraint integer programs. Math. Prog. Comp. 1, 1–41 (2009). https://doi.org/10.1007/s12532-008-0001-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12532-008-0001-1