Abstract
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 from SAT solving. SCIP is available in source code and free for non-commercial use.
We demonstrate the usefulness of CIP on two tasks. First, we apply the constraint integer programming approach to pure mixed integer programs. Computational experiments show that SCIP is almost competitive to current state-of-the-art commercial MIP solvers. Second, 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 non-linear constraints by employing constraint programming techniques.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Achterberg, T.: Conflict analysis in mixed integer programming. Discrete Optimization 4(1), 4–20 (2007) (Special issue: Mixed Integer Programming)
Achterberg, T.: Constraint Integer Programming. PhD thesis, Technische Universität Berlin (2007), http://opus.kobv.de/tuberlin/volltexte/2007/1611/
Achterberg, T., Koch, T., Martin, A.: Branching rules revisited. Operations Research Letters 33, 42–54 (2005)
Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Operations Research Letters 34(4), 1–12 (2006), http://miplib.zib.de
Althaus, E., Bockmayr, A., Elf, M., Jünger, M., Kasper, T., Mehlhorn, K.: SCIL – symbolic constraints in integer linear programming. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 75–87. Springer, Heidelberg (2002)
Andreello, G., Caprara, A., Fischetti, M.: Embedding \(\{0,\frac{1}{2}\}\)-cuts in a branch-and-cut framework: A computational study. INFORMS Journal on Computing 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)
Apt, K.R.: Principles of Constraint Programming. Cambridge University Press, Cambridge (2003)
Aron, I.D., Hooker, J.N., Yunes, T.H.: SIMPL: A system for integrating optimization techniques. In: Régin, J.-C., Rueher, M. (eds.) CPAIOR 2004. LNCS, vol. 3011, pp. 21–36. Springer, Heidelberg (2004)
Balas, E.: Facets of the knapsack polytope. Mathematical Programming 8, 146–164 (1975)
Balas, E., Ceria, S., Cornuéjols, G.: Mixed 0-1 programming by lift-and-project in a branch-and-cut framework. Management Science 42, 1229–1246 (1996)
Berthold, T.: Primal heuristics for mixed integer programs. Master’s thesis, Technische Universität Berlin (2006)
Berthold, T.: Heuristics of the branch-cut-and-price-framework SCIP. ZIB-Report 07-30, Zuse Institute Berlin, Operations Research 2007 (to appear, 2007)
Bockmayr, A., Kasper, T.: Branch-and-infer: A unifying framework for integer and finite domain constraint programming. INFORMS Journal on Computing 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., Drechsler, R.: RTL-datapath verification using integer linear programming. In: Proceedings of the IEEE VLSI Design Conference, pp. 741–746 (2002)
Computational infrastructure for operations research, http://www.coin-or.org
Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)
Forrest, J.J., Hirst, J.P.H., Tomlin, J.A.: Practical solution of large scale mixed integer programming problems with UMPIRE. Management Science 20(5), 736–773 (1974)
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, ch. 2, vol. 12, pp. 69–122. Elsevier, Amsterdam (2005)
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, Providence, RI, American Mathematical Society (1960)
Hooker, J.N., Osorio, M.A.: Mixed logical/linear programming. Discrete Applied Mathematics 96-97(1), 395–442 (1999)
ILOG CPLEX. Reference Manual, http://www.ilog.com/products/cplex
International technology roadmap for semiconductors (2005), http://public.itrs.net
Jain, V., Grossmann, I.E.: Algorithms for hybrid MILP/CP models for a class of optimization problems. INFORMS Journal on Computing 13(4), 258–276 (2001)
Johnson, E.L., Padberg, M.W.: Degree-two inequalities, clique facets, and biperfect graphs. Annals of Discrete Mathematics 16, 169–187 (1982)
Klar, A.: Cutting planes in mixed integer programming. Master’s thesis, Technische Universität Berlin (2006)
Letchford, A.N., Lodi, A.: Strengthening Chvátal-Gomory cuts and Gomory fractional cuts. Operations Research Letters 30(2), 74–82 (2002)
Marchand, H.: A polyhedral study of the mixed knapsack set and its use to solve mixed integer programs. PhD thesis, Faculté des Sciences Appliquées, Université catholique de Louvain (1998)
Marchand, H., Martin, A., Weismantel, R., Wolsey, L.A.: Cutting planes in integer and mixed integer programming. Discrete Applied Mathematics 123/124, 391–440 (2002)
Marques-Silva, J.P., Sakallah, K.A.: GRASP: A search algorithm for propositional satisfiability. IEEE Transactions of Computers 48, 506–521 (1999)
Mittelmann, H.: Decision tree for optimization software: Benchmarks for optimization software, http://plato.asu.edu/bench.html
Nemhauser, G.L., Wolsey, L.A.: Integer and Combinatorial Optimization. John Wiley & Sons, Chichester (1988)
Opencores, http://www.opencores.org
Padberg, M.W., van Roy, T.J., Wolsey, L.A.: Valid inequalities for fixed charge problems. Operations Research 33(4), 842–861 (1985)
Refalo, P.: Tight cooperation and its application in piecewise linear optimization. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 375–389. Springer, Heidelberg (1999)
Rodosek, R., Wallace, M.G., Hajian, M.T.: A new approach to integrating mixed integer programming and constraint logic programming. Annals of Operations Research 86(1), 63–87 (1999)
Savelsbergh, M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA Journal on Computing 6, 445–454 (1994)
Stallman, R.M., Sussman, G.J.: Forward reasoning and dependency directed backtracking in a system for computer-aided circuit analysis. Artificial Intelligence 9, 135–196 (1977)
Timpe, C.: Solving planning and scheduling problems with combined integer and constraint programming. OR Spectrum 24(4), 431–448 (2002)
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. PhD thesis, Technische Universität Berlin (1996)
Zhang, L., Madigan, C.F., Moskewicz, M.W., Malik, S.: Efficient conflict driven learning in a boolean satisfiability solver. In: ICCAD, pp. 279–285 (2001)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Achterberg, T., Berthold, T., Koch, T., Wolter, K. (2008). 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. CPAIOR 2008. Lecture Notes in Computer Science, vol 5015. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68155-7_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-68155-7_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68154-0
Online ISBN: 978-3-540-68155-7
eBook Packages: Computer ScienceComputer Science (R0)