\(oo{\mathcal{MILP}}\) – a C++ callable object-oriented library and the implementation of its parallel version using CORBA. (English) Zbl 1100.90048

Liberti, Leo et al., Global optimization. From theory to implementation. New York, NY: Springer (ISBN 0-387-28260-2/hbk). Nonconvex Optimization and Its Applications 84, 353-376 (2006).
Summary: 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. \(oo {\mathcal{MILP}}\) 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.
For the entire collection see [Zbl 1087.90005].


90C30 Nonlinear programming
90-08 Computational methods for problems pertaining to operations research and mathematical programming