Abstract
This chapter provides a brief survey of existing software tools that enable, facilitate, and/or support the integration of different optimization techniques. We focus on tools that have achieved a reasonable level of maturity and whose published results have demonstrated their effectiveness. The description of each tool is not intended to be comprehensive. We include references and links to detailed accounts of each tool for the interested reader, and we recommend that the reader consult his/her developers and/or vendors for the latest information about upgrades and improvements. Our purpose is to summarize the main features of each tool, highlighting what it can (or cannot) do, given the current version at the time of writing. We conclude the chapter with suggestions for future research directions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Originally developed by Dash Optimization under the name Xpress-MP.
- 3.
Recently turned into open-source and available from the Xpress website.
References
Achterberg T (2007) Conflict analysis in mixed integer programming. Discrete Optim 4(1):4–20 Special issue: Mixed Integer Programming
Achterberg T (2008) SCIP: solving constraint integer programs. Math Program Comput 1(1):1–41
Achterberg T, Berthold T (2009) Hybrid branching. In: van Hoeve WJ, Hooker J (eds) Integration of AI and OR techniques in constraint programming for combinatorial optimization problems, 6th international conference, CPAIOR 2009. Lecture notes in computer science, vol 5547. Springer, Berlin, pp 309–311
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 (eds) Proceedings of the conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR). Lecture notes in computer science, vol 5015. Springer, Berlin, pp 6–20
Achterberg T, Koch T, Martin A (2005) Branching rules revisited. Oper Res Lett 33:42–54
Andreello G, Caprara A, Fischetti M (2007) Embedding cuts in a branch and cut framework: a computational study with {0, 1 ∕ 2}-cuts. INFORMS J Comput 19(2):229–238
Apt KR, Wallace M (2007) Constraint logic programming using ECLiPSe. Cambridge University Press, Cambridge
Aron ID, Hooker JN, Yunes TH (2004) SIMPL: a system for integrating optimization techniques. In: Rgin J, Rueher M (eds) Proceedings of the conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR). Lecture notes in computer science, vol 3011. Springer, Berlin, pp 21–36
Baader F, Comon H, Smolka G (1997) Visual CHIP: a visual language for defining constraint programs. In: Annual workshop of the ESPRIT working group “constructions of computational logic II” (CCL), Dagstuhl
Balas E (1975) Facets of the knapsack polytope. Math Program 8:146–164
Balas E, Ceria S, Cornuéjols G (1996) Mixed 0-1 programming by lift-and-project in a branch-and-cut framework. Manage Sci 42:1229–1246
Barnhart C, Johnson EL, Nemhauser GL, Savelsbergh MWP, Vance PH (1998) Branch-and-price: column generation for solving huge integer programs. Oper Res 46:316–329
Becket R, Brand S, Brown M, Duck GJ, Feydy T, Fischer J, Huang J, Marriott K, Nethercote N, Puchinger J, Rafeh R, Stuckey PJ, Wallace MG (2008) The many roads leading to Rome: solving Zinc models by various solvers. In: Proceedings of the 7th international workshop on constraint modeling and reformulation (ModRef)
Benders JF (1962) Partitioning procedures for solving mixed-variables programming problems. Numer math 4:238–252
Berthold T (2006) Primal heuristics for mixed integer programs. Master’s thesis, Technische Universität Berlin, Berlin
Bocca J (1991) Megalog – a platform for developing knowledge base management systems. In: Proceedings of the second international symposium on database systems for advanced applications (DASFAA), Tokyo, Japan
Bockmayr A, Pisaruk N (2003) Detecting infeasibility and generating cuts for MIP using CP. In: Fifth international workshop on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR), Montréal, Canada, pp 24–34
Caseau Y, Josset FX, Laburthe F (1999) CLAIRE: combining sets, search and rules to better express algorithms. In: Proceedings of the international conference on logic programming (ICLP), pp 245–259
Caseau Y, Silverstein G, Laburthe F (2001) Learning hybrid algorthms for vehicle routing problems. Theory Pract Log Program 1(6):779–806
Clocksin WF, Mellish CS (1981) Programming in prolog. Springer, Berlin
Colombani Y, Daniel B, Heipcke S (2004) Mosel: a modular environment for modeling and solving problems. In: Kallrath J (ed) Modeling languages in mathematical optimization. Kluwer Academic, Boston, pp 211–238
Colombani Y, Heipcke S (2002) Mosel: an extensible environment for modeling and programming solutions. In: Proceedings of the international workshop on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR)
de Givry S, Jeannin L (2003) ToOLS: a library for partial and hybrid search methods. In: Fifth international workshop on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR), Montréal, Canada, pp 124–138
Dincbas M, Van Hentenryck P, Simonis M, Aggoun A, Graf T, Berthier F (1988) The constraint logic programming language CHIP. In: Proceedings of the international conference of fifth generation computer systems, pp 693–702
Duck GJ, Stuckey PJ, Brand S (2006) ACD term rewriting. In: Etalle S, Truszczynski M (eds) Proceedings of the 22nd international conference on logic programming (ICLP). Lecture notes in computer science, vol 4079. Springer, Heidelberg, pp 117–131
Feo T, Resende M (1995) Greedy randomized adaptive search procedures. J Global Optim 6:109–133
Forrest JJ, Hirst JPH, Tomlin JA (1974) Practical solution of large scale mixed integer programming problems with UMPIRE. Manage Sci 20(5):736–773
Garcia de la Banda M, Marriott K, Rafeh R, Wallace M (2006) The modelling language Zinc. In: Benhamou F (ed) Proceedings of the 12th international conference on principles and practice of constraint programming (CP). Lecture notes in computer science, vol 4204. Springer, Heidelberg, pp 700–705
Gomory RE (1960) Solving linear programming problems in integers. In: Bellman R, Hall JM (eds) Symposia in applied mathematics X, combinatorial analysis. AMS, Providence, RI, pp 211–215
Guéret C, Heipcke S, Prins C, Sevaux M (2002) Applications of optimization with Xpress-MP. Dash optimization. Blisworth, UK. http://www.dashoptimization.com/applications_book.html
Heipcke S (2005) Hybrid MIP/CP solving with Xpress-Optimizer and Xpress-Kalis. Xpress Whitepaper, FICO. http://www.dashoptimization.com
Hooker JN (2000) Logic-based methods for optimization: combining optimization and constraint satisfaction. Wiley-Interscience Series in Discrete Mathematics and Optimization
Hooker JN (2007) Good and bad futures for constraint programming (and operations research). Constraint Program Lett 1:21–32 Special Issue on the next 10 years of constraint programming
Johnson EL, Padberg MW (1982) Degree-two inequalities, clique facets and biperfect graphs. Ann Discrete Math 16:169–187
Kelton WD, Sadowski RP, Sturrock DT (2007) Simulation with arena, 4th edn. McGraw Hill, New York
Laborie P (2009) IBM ILOG CP Optimizer for detailed scheduling illustrated on three problems. In: Hooker JN, van Hoeve WJ (eds) Proceedings of the conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR). Lecture notes in computer science. Springer, Berlin (to appear).
Laborie P, Rogerie J, Shaw P, Vilím P, Wagner F (2008) ILOG CP Optimizer: detailed scheduling model and OPL formulation. Tech. Rep. 08-002, ILOG. Availableat http://www.ilog.com/techreports/
Laburthe F, Caseau Y (2002) SALSA: a language for search algorithms. Constraints 7(3–4):255–288
Lechford AN, (2002) Lodi a strengthening Chvátal-Gomory cuts and Gomory fractional cuts. Oper Res Lett 30(2):74–82
Lougee-Heimer R (2003) The common optimization interface for operations research. IBM J Res Dev 47(1):57–66
Marchand H (1998) 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
McCormick GP (1976) Computability of global solutions to factorable nonconvex programs: Part I – convex underestimating problems. Math Program 10:147–175
McCormick GP (1983) Nonlinear programming: theory, algorithms and applications. Wiley-Interscience, New York
Meier M, Kay P, Van Rossum E, Grant H (1989) SEPIA programming environment. In: Proceedings of the workshop on PROLOG programming environments NACLP’89, pp 82–86
Minton S, Johnson MD, Philips AB (1990) Solving large-scale constraint satisfaction and scheduling problems using a heuristic repair method. In: Proceedings of the eighth national conference on artificial intelligence (AAAI-90), Boston, pp 17–24
Narboni G (1999) From prolog III to prolog IV: the logic of constraint programming revisited. Constraints 4(4):313–335
Nethercote N, Stuckey PJ, Becket R, Brand S, Duck GJ, Tack G (2007) MiniZinc: towards a standard CP modelling language. In: Bessière C (ed) Proceedings of the 13th international conference on principles and practice of constraint programming (CP). Lecture notes in computer science, vol 4741. Springer, Heidelberg, pp 529–543
Ohrimenko O, Stuckey PJ, Codish M (2007) Propagation = lazy clause generation. In: Bessière C (ed) Proceedings of the 13th international conference on principles and practice of constraint programming (CP). Lecture notes in computer science, vol 4741. Springer, Berlin, pp 544–558
Padberg MW, van Roy TJ, Wolsey LA (1985) Valid inequalities for fixed charge problems. Oper Res 33(4):842–861
Puchinger J, Stuckey PJ, Wallace M, Brand S (2008) From high-level model to branch-and-price solution in G12. In: Perron L, Trick M (eds) Proceedings of the conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR). Lecture notes in computer science, vol 5015. Springer, Berlin, pp 218–232
Sadykov R (2004) A hybrid branch-and-cut algorithm for the one-machine scheduling problem. In: Régin J, Rueher M (eds) Proceedings of the conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems (CP-AI-OR). Lecture notes in computer science, vol 3011. Springer, Berlin, pp 409–414
Savelsbergh MWP (1994) Preprocessing and probing techniques for mixed integer programming problems. ORSA J Comput 6:445–454
Simonis H (2000) Finite domain constraint programming methodology. In: Second international conference and exhibition on the practical application of constraint technologies and logic programming (PACLP), Manchester, UK. Tutorial
Somogyi Z, Henderson F, Conway T (1996) The execution algorithm of Mercury, an efficient purely declarative logic programming language. J Log Program 29(1–3):17–64
Stuckey PJ, Garcia de la Banda M, Maher MJ, Marriott K, Slaney JK, Somogyi Z, Wallace M, Walsh T (2005) The G12 project: mapping solver independent models to efficient solutions. In: van Beek P (ed) Proceedings of the 11th international conference on principles and practice of constraint programming (CP). Lecture notes in computer science, vol 3709. Springer, Berlin, pp 13–16
Tack G (2009) Constraint propagation – models, techniques, implementation. Ph.D. thesis, Saarland University, Germany. http://www.gecode.org
Tawarmalani M, Sahinidis NV (2004) Global optimization of mixed-integer nonlinear programs: a theoretical and computational study. Math Program 99:563–591
Van Hentenryck P, Lustig I, Michel L, Puget JF (1999) The OPL optimization programming language. MIT Press, Cambridge, MA
Van Hentenryck P, Michel L (2005) Constraint-based local search. MIT Press, Cambridge, MA, USA
Wallace M, Caseau Y, Puget JF (2004) Open perspectives. In: Milano M (ed) Constraint and integer programming: toward a unified methodology. Kluwer, Dordrecht, pp 331–365
Wallace M, Novello S, Schimpf J (1997) ECLiPSe: a platform for constraint logic programming. ICL Syst J 12:159–200
Warren DHD (1983) An abstract prolog instruction set. Tech. Rep. 309, SRI International. http://www.ai.sri.com/pubs/files/641_OnlinePDF.pdf
Williams HP, Yan H (2001) Representations of the all_different predicate of constraint satisfaction in integer programming. INFORMS J Comput 13(2):96–103
Wolter K (2006) Implementation of cutting plane separators for mixed integer programs. Master’s thesis, Technische Universität Berlin, Berlin
Yunes T, Aron ID, Hooker JN (2009) An integrated solver for optimization problems. Oper Res (forthcoming)
Acknowledgments
The author would like to thank Timo Berthold, Stefan Heinz, Susanne Heipcke, Katya Krasilnikova, Michela Milano, Philippe Refalo, Nick Sahinidis, Kish Shen, Helmut Simonis, Peter Stuckey, Pascal Van Hentenryck, and Mark Wallace for answering technical questions, and for providing feedback on the presentation of the material and on the accuracy of the information about each software tool.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media LLC
About this chapter
Cite this chapter
Yunes, T. (2011). Software Tools Supporting Integration. In: van Hentenryck, P., Milano, M. (eds) Hybrid Optimization. Springer Optimization and Its Applications, vol 45. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-1644-0_12
Download citation
DOI: https://doi.org/10.1007/978-1-4419-1644-0_12
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-1643-3
Online ISBN: 978-1-4419-1644-0
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)