Skip to main content

Software Tools Supporting Integration

  • Chapter
  • First Online:
Hybrid Optimization

Part of the book series: Springer Optimization and Its Applications ((SOIA,volume 45))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://plato.asu.edu/ftp/milpf.html.

  2. 2.

    Originally developed by Dash Optimization under the name Xpress-MP.

  3. 3.

    Recently turned into open-source and available from the Xpress website.

References

  1. Achterberg T (2007) Conflict analysis in mixed integer programming. Discrete Optim 4(1):4–20 Special issue: Mixed Integer Programming

    MathSciNet  MATH  Google Scholar 

  2. Achterberg T (2008) SCIP: solving constraint integer programs. Math Program Comput 1(1):1–41

    MathSciNet  MATH  Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. Achterberg T, Koch T, Martin A (2005) Branching rules revisited. Oper Res Lett 33:42–54

    MathSciNet  MATH  Google Scholar 

  6. 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

    MathSciNet  MATH  Google Scholar 

  7. Apt KR, Wallace M (2007) Constraint logic programming using ECLiPSe. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  8. 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

    MATH  Google Scholar 

  9. 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

    Google Scholar 

  10. Balas E (1975) Facets of the knapsack polytope. Math Program 8:146–164

    MathSciNet  MATH  Google Scholar 

  11. 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

    MATH  Google Scholar 

  12. 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

    MathSciNet  MATH  Google Scholar 

  13. 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)

    Google Scholar 

  14. Benders JF (1962) Partitioning procedures for solving mixed-variables programming problems. Numer math 4:238–252

    MathSciNet  MATH  Google Scholar 

  15. Berthold T (2006) Primal heuristics for mixed integer programs. Master’s thesis, Technische Universität Berlin, Berlin

    Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. 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

    MATH  Google Scholar 

  19. Caseau Y, Silverstein G, Laburthe F (2001) Learning hybrid algorthms for vehicle routing problems. Theory Pract Log Program 1(6):779–806

    MathSciNet  MATH  Google Scholar 

  20. Clocksin WF, Mellish CS (1981) Programming in prolog. Springer, Berlin

    MATH  Google Scholar 

  21. 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

    Google Scholar 

  22. 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)

    Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

  26. Feo T, Resende M (1995) Greedy randomized adaptive search procedures. J Global Optim 6:109–133

    MathSciNet  MATH  Google Scholar 

  27. Forrest JJ, Hirst JPH, Tomlin JA (1974) Practical solution of large scale mixed integer programming problems with UMPIRE. Manage Sci 20(5):736–773

    MATH  Google Scholar 

  28. 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

    Google Scholar 

  29. 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

    Google Scholar 

  30. 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

  31. Heipcke S (2005) Hybrid MIP/CP solving with Xpress-Optimizer and Xpress-Kalis. Xpress Whitepaper, FICO. http://www.dashoptimization.com

  32. Hooker JN (2000) Logic-based methods for optimization: combining optimization and constraint satisfaction. Wiley-Interscience Series in Discrete Mathematics and Optimization

    Google Scholar 

  33. 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

    Google Scholar 

  34. Johnson EL, Padberg MW (1982) Degree-two inequalities, clique facets and biperfect graphs. Ann Discrete Math 16:169–187

    MathSciNet  MATH  Google Scholar 

  35. Kelton WD, Sadowski RP, Sturrock DT (2007) Simulation with arena, 4th edn. McGraw Hill, New York

    Google Scholar 

  36. 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).

    Google Scholar 

  37. 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/

  38. Laburthe F, Caseau Y (2002) SALSA: a language for search algorithms. Constraints 7(3–4):255–288

    MathSciNet  MATH  Google Scholar 

  39. Lechford AN, (2002) Lodi a strengthening Chvátal-Gomory cuts and Gomory fractional cuts. Oper Res Lett 30(2):74–82

    MathSciNet  MATH  Google Scholar 

  40. Lougee-Heimer R (2003) The common optimization interface for operations research. IBM J Res Dev 47(1):57–66

    Google Scholar 

  41. 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

    Google Scholar 

  42. McCormick GP (1976) Computability of global solutions to factorable nonconvex programs: Part I – convex underestimating problems. Math Program 10:147–175

    MATH  Google Scholar 

  43. McCormick GP (1983) Nonlinear programming: theory, algorithms and applications. Wiley-Interscience, New York

    MATH  Google Scholar 

  44. 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

    Google Scholar 

  45. 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

    Google Scholar 

  46. Narboni G (1999) From prolog III to prolog IV: the logic of constraint programming revisited. Constraints 4(4):313–335

    Google Scholar 

  47. 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

    Google Scholar 

  48. 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

    Google Scholar 

  49. Padberg MW, van Roy TJ, Wolsey LA (1985) Valid inequalities for fixed charge problems. Oper Res 33(4):842–861

    MathSciNet  MATH  Google Scholar 

  50. 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

    Google Scholar 

  51. 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

    Google Scholar 

  52. Savelsbergh MWP (1994) Preprocessing and probing techniques for mixed integer programming problems. ORSA J Comput 6:445–454

    MathSciNet  MATH  Google Scholar 

  53. 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

    Google Scholar 

  54. 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

    MATH  Google Scholar 

  55. 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

    Google Scholar 

  56. Tack G (2009) Constraint propagation – models, techniques, implementation. Ph.D. thesis, Saarland University, Germany. http://www.gecode.org

  57. Tawarmalani M, Sahinidis NV (2004) Global optimization of mixed-integer nonlinear programs: a theoretical and computational study. Math Program 99:563–591

    MathSciNet  MATH  Google Scholar 

  58. Van Hentenryck P, Lustig I, Michel L, Puget JF (1999) The OPL optimization programming language. MIT Press, Cambridge, MA

    Google Scholar 

  59. Van Hentenryck P, Michel L (2005) Constraint-based local search. MIT Press, Cambridge, MA, USA

    MATH  Google Scholar 

  60. 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

    Google Scholar 

  61. Wallace M, Novello S, Schimpf J (1997) ECLiPSe: a platform for constraint logic programming. ICL Syst J 12:159–200

    Google Scholar 

  62. Warren DHD (1983) An abstract prolog instruction set. Tech. Rep. 309, SRI International. http://www.ai.sri.com/pubs/files/641_OnlinePDF.pdf

  63. Williams HP, Yan H (2001) Representations of the all_different predicate of constraint satisfaction in integer programming. INFORMS J Comput 13(2):96–103

    MathSciNet  MATH  Google Scholar 

  64. Wolter K (2006) Implementation of cutting plane separators for mixed integer programs. Master’s thesis, Technische Universität Berlin, Berlin

    Google Scholar 

  65. Yunes T, Aron ID, Hooker JN (2009) An integrated solver for optimization problems. Oper Res (forthcoming)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Tallys Yunes .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics