ooMILP — A C++ Callable Object-oriented Library and the Implementation of its Parallel Version using CORBA
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 wordsObject-oriented programming callable library optimization parallel computing interface branch-and-bound
Unable to display preview. Download preview PDF.
- 2.Dimitriadis, A.D., “Algorithms for the Solution of Large-Scale Scheduling Problems”, PhD thesis, Imperial College, University of London, 2000.Google Scholar
- 6.Global CAPE-OPEN, “Mixed Integer Linear/Nonlinear Programming Interface Specifications”, http://www.co-lan.org, 2002.Google Scholar
- 8.Message Passing Interface Forum, “MPI: A Message-Passing Interface standard”, International Journal of Supercomputer Applications, 8(3/4), 165–414, 1994.Google Scholar
- 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.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