Advertisement

Software Tools Supporting Integration

  • Tallys Yunes
Chapter
Part of the Springer Optimization and Its Applications book series (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.

Keywords

Column Generation Constraint Programming Master Problem Linear Programming Relaxation Bender Decomposition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

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.

References

  1. 1.
    Achterberg T (2007) Conflict analysis in mixed integer programming. Discrete Optim 4(1):4–20 Special issue: Mixed Integer ProgrammingGoogle Scholar
  2. 2.
    Achterberg T (2008) SCIP: solving constraint integer programs. Math Program Comput 1(1):1–41CrossRefMathSciNetGoogle Scholar
  3. 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–311Google Scholar
  4. 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–20Google Scholar
  5. 5.
    Achterberg T, Koch T, Martin A (2005) Branching rules revisited. Oper Res Lett 33:42–54MATHCrossRefMathSciNetGoogle Scholar
  6. 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–238CrossRefMathSciNetGoogle Scholar
  7. 7.
    Apt KR, Wallace M (2007) Constraint logic programming using ECLiPSe. Cambridge University Press, CambridgeGoogle Scholar
  8. 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–36Google Scholar
  9. 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), DagstuhlGoogle Scholar
  10. 10.
    Balas E (1975) Facets of the knapsack polytope. Math Program 8:146–164MATHCrossRefMathSciNetGoogle Scholar
  11. 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–1246MATHCrossRefGoogle Scholar
  12. 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–329MATHCrossRefMathSciNetGoogle Scholar
  13. 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. 14.
    Benders JF (1962) Partitioning procedures for solving mixed-variables programming problems. Numer math 4:238–252MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Berthold T (2006) Primal heuristics for mixed integer programs. Master’s thesis, Technische Universität Berlin, BerlinGoogle Scholar
  16. 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, JapanGoogle Scholar
  17. 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–34Google Scholar
  18. 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–259Google Scholar
  19. 19.
    Caseau Y, Silverstein G, Laburthe F (2001) Learning hybrid algorthms for vehicle routing problems. Theory Pract Log Program 1(6):779–806MATHMathSciNetGoogle Scholar
  20. 20.
    Clocksin WF, Mellish CS (1981) Programming in prolog. Springer, BerlinMATHGoogle Scholar
  21. 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–238Google Scholar
  22. 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. 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–138Google Scholar
  24. 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–702Google Scholar
  25. 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–131Google Scholar
  26. 26.
    Feo T, Resende M (1995) Greedy randomized adaptive search procedures. J Global Optim 6:109–133MATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Forrest JJ, Hirst JPH, Tomlin JA (1974) Practical solution of large scale mixed integer programming problems with UMPIRE. Manage Sci 20(5):736–773MATHCrossRefMathSciNetGoogle Scholar
  28. 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–705Google Scholar
  29. 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–215Google Scholar
  30. 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. 31.
    Heipcke S (2005) Hybrid MIP/CP solving with Xpress-Optimizer and Xpress-Kalis. Xpress Whitepaper, FICO. http://www.dashoptimization.com
  32. 32.
    Hooker JN (2000) Logic-based methods for optimization: combining optimization and constraint satisfaction. Wiley-Interscience Series in Discrete Mathematics and OptimizationGoogle Scholar
  33. 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 programmingGoogle Scholar
  34. 34.
    Johnson EL, Padberg MW (1982) Degree-two inequalities, clique facets and biperfect graphs. Ann Discrete Math 16:169–187MATHMathSciNetGoogle Scholar
  35. 35.
    Kelton WD, Sadowski RP, Sturrock DT (2007) Simulation with arena, 4th edn. McGraw Hill, New YorkGoogle Scholar
  36. 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. 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. Availableathttp://www2.ilog.com/techreports/
  38. 38.
    Laburthe F, Caseau Y (2002) SALSA: a language for search algorithms. Constraints 7(3–4):255–288MATHCrossRefMathSciNetGoogle Scholar
  39. 39.
    Lechford AN, (2002) Lodi a strengthening Chvátal-Gomory cuts and Gomory fractional cuts. Oper Res Lett 30(2):74–82CrossRefMathSciNetGoogle Scholar
  40. 40.
    Lougee-Heimer R (2003) The common optimization interface for operations research. IBM J Res Dev 47(1):57–66CrossRefGoogle Scholar
  41. 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 LouvainGoogle Scholar
  42. 42.
    McCormick GP (1976) Computability of global solutions to factorable nonconvex programs: Part I – convex underestimating problems. Math Program 10:147–175MATHCrossRefMathSciNetGoogle Scholar
  43. 43.
    McCormick GP (1983) Nonlinear programming: theory, algorithms and applications. Wiley-Interscience, New YorkMATHGoogle Scholar
  44. 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–86Google Scholar
  45. 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–24Google Scholar
  46. 46.
    Narboni G (1999) From prolog III to prolog IV: the logic of constraint programming revisited. Constraints 4(4):313–335CrossRefGoogle Scholar
  47. 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–543Google Scholar
  48. 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–558Google Scholar
  49. 49.
    Padberg MW, van Roy TJ, Wolsey LA (1985) Valid inequalities for fixed charge problems. Oper Res 33(4):842–861MATHCrossRefMathSciNetGoogle Scholar
  50. 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–232Google Scholar
  51. 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–414Google Scholar
  52. 52.
    Savelsbergh MWP (1994) Preprocessing and probing techniques for mixed integer programming problems. ORSA J Comput 6:445–454MATHMathSciNetGoogle Scholar
  53. 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. TutorialGoogle Scholar
  54. 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–64MATHCrossRefGoogle Scholar
  55. 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–16Google Scholar
  56. 56.
    Tack G (2009) Constraint propagation – models, techniques, implementation. Ph.D. thesis, Saarland University, Germany. http://www.gecode.org
  57. 57.
    Tawarmalani M, Sahinidis NV (2004) Global optimization of mixed-integer nonlinear programs: a theoretical and computational study. Math Program 99:563–591MATHCrossRefMathSciNetGoogle Scholar
  58. 58.
    Van Hentenryck P, Lustig I, Michel L, Puget JF (1999) The OPL optimization programming language. MIT Press, Cambridge, MAGoogle Scholar
  59. 59.
    Van Hentenryck P, Michel L (2005) Constraint-based local search. MIT Press, Cambridge, MA, USAGoogle Scholar
  60. 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–365Google Scholar
  61. 61.
    Wallace M, Novello S, Schimpf J (1997) ECLiPSe: a platform for constraint logic programming. ICL Syst J 12:159–200Google Scholar
  62. 62.
    Warren DHD (1983) An abstract prolog instruction set. Tech. Rep. 309, SRI International. http://www.ai.sri.com/pubs/files/641.pdf
  63. 63.
    Williams HP, Yan H (2001) Representations of the all_different predicate of constraint satisfaction in integer programming. INFORMS J Comput 13(2):96–103CrossRefMathSciNetGoogle Scholar
  64. 64.
    Wolter K (2006) Implementation of cutting plane separators for mixed integer programs. Master’s thesis, Technische Universität Berlin, BerlinGoogle Scholar
  65. 65.
    Yunes T, Aron ID, Hooker JN (2009) An integrated solver for optimization problems. Oper Res (forthcoming)Google Scholar

Copyright information

© Springer Science+Business Media LLC 2011

Authors and Affiliations

  1. 1.Department of Management Science, School of Business AdministrationUniversity of MiamiCoral GablesUSA

Personalised recommendations