ooMILP — A C++ Callable Object-oriented Library and the Implementation of its Parallel Version using CORBA

  • Panagiotis Tsiakis
  • Benjamin Keeping
Part of the Nonconvex Optimization and Its Applications book series (NOIA, volume 84)


Process systems engineering is one of the many areas in which mixed integer optimisation formulations have been successfully applied. The nature of the problems requires specialised solution strategies and computer packages or callable libraries able to be extended and modified in order to accommodate new solution techniques. Object-oriented programming languages have been identified to offer these features. Process system applications are usually of large scale, and require modelling and solution techniques with high level of customisation. ooMILP is a library of C++ callable procedures for the definition, manipulation and solution of large, sparse mixed integer linear programming (MILP) problems without the disadvantages of many existing modelling languages. We first present a general approach to the packaging of numerical solvers as software components, derived from material developed for the CAPE-OPEN project. The presentation is in the context of construction and solution of Mixed Integer Linear Programming (MILP) problems. We then demonstrate how this package, based on the use of CORBA interfaces for synchronous execution within a single process, can be adapted with a minimum of problem-specific changes to provide a distributed solution.

Key words

Object-oriented programming callable library optimization parallel computing interface branch-and-bound 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cordier, C, H. Marchand, R. Laundry and L.A. Wolsey, “bc-opt: a Branch-and-Cut Code for Mixed Integer Programs”, Mathematical Programming, 86, 335–353, 1999.MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Dimitriadis, A.D., “Algorithms for the Solution of Large-Scale Scheduling Problems”, PhD thesis, Imperial College, University of London, 2000.Google Scholar
  3. 3.
    Fisher, M.L., “The Lagrangean Relaxation Method for Solving Integer Programming Problems”, Management Science, 27, 1–18, 1981.zbMATHMathSciNetCrossRefGoogle Scholar
  4. 4.
    Geoffrion, A.M., “Generalized Benders Decomposition”, Journal of Optimization Theory and Applications, 4, 237–260, 1972.MathSciNetCrossRefGoogle Scholar
  5. 5.
    Geoffrion, A.M., “Lagrangean Relaxation for Integer Programming”, Mathematical Programming Study 2, 2, 82–114, 1974.zbMATHMathSciNetGoogle Scholar
  6. 6.
    Global CAPE-OPEN, “Mixed Integer Linear/Nonlinear Programming Interface Specifications”,, 2002.Google Scholar
  7. 7.
    Junger, M. and S. Thienel, “Introduction to ABACUS-a Branch-and-Cut System”, Operation Research Letters, 22(2–3), 83–95, 1998.MathSciNetCrossRefGoogle Scholar
  8. 8.
    Message Passing Interface Forum, “MPI: A Message-Passing Interface standard”, International Journal of Supercomputer Applications, 8(3/4), 165–414, 1994.Google Scholar
  9. 9.
    Nemhauser, G.L., M.W.P. Savelsbergh and G.C. Sigismondi, “MINTO, a Mixed INTeger Optimizer”, Operation Research Letters, 15(1), 47–58, 1994.MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Reeves, C.R., Modern Heuristic Techniques for Combinatorial Problems, Black-well Scientific Publications, London, 1993.zbMATHGoogle Scholar
  11. 11.
    Tsiakis, P., B.R. Keeping and C.C. Pantelides, “ooMILP: A C++ Callable Object-Orientated Library for the Definition and Solution of Large, Sparse Mixed Integer Linear Programming (MILP) Problems”, Research Report, Centre for Process Systems Engineering, Imperial College of Science Technology and Medicine, London, 1999.Google Scholar
  12. 12.
    Tsiakis, P., A.D. Dimitriadis, N. Shah, C.C. Pantelides, “Solution of Nearly Decomposable MILP [ND-MILP] Problems”, AIChE Annual Meeting, Los Angeles, USA, 2000.Google Scholar
  13. 13.
    Tsiakis, P., N. Shah and C.C. Pantelides, “Design of Multi-Echelon Supply Chain Networks under Demand Uncertainty”, Industrial Engineering and Chemistry Research, 44(16), 3585–3604, 2001.CrossRefGoogle Scholar
  14. 14.
    VanRoy, T.J., “A Cross Decomposition Algorithm for Capacitated Facility Location”, Operations Research, 34, 145–263, 1986.MathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, Inc. 2006

Authors and Affiliations

  • Panagiotis Tsiakis
    • 1
  • Benjamin Keeping
    • 1
  1. 1.Process Systems Enterprise LtdLondonUK

Personalised recommendations