N Rapid Development of an Open-Source Minlp Solver With
Total Page:16
File Type:pdf, Size:1020Kb
75 o N O PTIMA Mathematical Programming Society Newsletter DECEMBER 2007 Rapid Development of an Open-source Minlp Solver with COIN-OR Pierre Bonami, John J. Forrest, Jon Lee and Andreas Wächter Abstract • Csdp, Dfo, Ipopt, LaGO, and Svm- QP are solvers for different types of We describe the rapid development of Nonlinear Optimization (semidefinite, Bonmin (Basic Open-source Nonlinear derivative-free, general large-scale Mixed INteger programming) using the interior point, global optimization, QP community and components of COIN- solver for support vector machines) OR (COmputational INfrastructure • CoinMP, FlopC++, GAMSlinks, for Operations Research). NLPAPI, Osi, OS and Smi are problem 1. Introduction modeling and interface tools. Even more, COIN-OR has become the As famous examples like Linux have platform that facilitates the collaboration proven, open-source communities of optimization researchers to start entirely can produce rapidly-developing high- new projects, exploring and developing new quality software, often competitive with algorithmic ideas, by providing both a sound expensive commercial solutions. COIN- software basis that can be re-used, as well as OR (COmputational INfrastructure the technical forum to coordinate the effort. for Operations Research), originally In order to clarify a common founded by IBM in 2000 and a non-profit misconception, we want to emphasize that foundation since 2004, provides such the term “open source” does not simply refer a platform for us optimization folks. to software that is made available to some Since its conception, a number of users in source-code format. According optimization-algorithm implementations to the definition put forth by the non- and related software projects have been profit corporation Open Source Initiative contributed to COIN-OR. From a web (OSI) [26], a number of conditions must server hosted by INFORMS, at the URL be met for a software license to be an www.COIN-OR.org, COIN-OR offers “open-source” license, including the right online repositories for sharing source code, for free distribution and usage (including web sites with information, documentation for commercial purposes), as well as the and bug tracking systems, as well as mailing right to modify the code. There are many lists for users and developers. Many of OSI-certified open-source licenses. The the optimization codes have been used one preferred on COIN-OR is the CPL extensively by academics and in commercial (Common Public License [12]), which was products. chosen for its very liberal terms. Currently, COIN-OR hosts many In this article, we tell the on-going success optimization-related codes: story of one such project. In 2004, IBM and • Clp, DyLP, and Vol are solvers Carnegie Mellon University initiated a joint for Linear Programming study aimed at Mixed Integer Nonlinear • Bcp, Cbc, Cgl, Cops, and Symphony Programming (MINLP), with the goal of are solvers, frameworks and tools releasing the resulting software under the for (serial and parallel) Mixed- CPL on COIN-OR. In 2006, within a Integer Linear Programming, new Open Collaborative Research (OCR) 75George Nemhauser's Contributions 5 MPS Chair’s Optima Column 6 Prizes and Conferences 7 OPT I M A 7 5 DECEMBER 2007 page 2 initiative at IBM, this relationship with g(x) ≤ 0, sub-domain, problems can be much harder CMU was extended. This OCR program x ∈ Rn-k × Zk, than the MILP counterparts. A main reason builds on the Open Collaboration Principles where f : Rn a R and g : Rn a Rm are is that in the space of the natural variables, established in 2005 by IBM and eleven twice continuously differentiable. the solution of a relaxation may be well other institutions to accelerate innovation MINLP is the mother of all deterministic inside the interior of the feasible region, and foster open-source research. optimization problems. Many business and so the cutting planes that have been so Besides the joint activity of CMU and and engineering optimization problems successful for MILP may have very limited IBM, the subject of MINLP has received a are naturally formulated as mathematical value (see [24], for example). lot of recent attention. For example, programs involving both discrete and If the relaxation of the MINLP problem • The 2006 Beale-Orchard Hays Prize continuous variables, as often decisions is not convex, we are really in a different for Excellence in Computational have to be made that involve making world. There are several approaches. There Mathematical Programming was discrete decisions (e.g., yes/no) and setting are ad hoc heuristics, which suffer from awarded by the Mathematical continuous levels (e.g., flowrates). Natural being well suited to only very specific Programming Society to Nick Sahinidis phenomena often involve relationships models (see [23], for example). There is the and Mohit Tawarmalani for their between variables which, while often possibility of taking methods designed for work on global optimization which smooth, may be rather nonlinear. Accurate problems having convex relaxations and culminated in their software Baron [3, models need to allow for all of these. heuristically adapting them to problems 27]; global optimization is one of the key A common approach to such problems that do not satisfy this restriction (e.g., approaches to MINLP, and Baron can is to reformulate them as Mixed Integer the branch-and-bound option of Bonmin; be directly applied to MINLP problems. Linear Programming (MILP) problems, see [7]). There is the approach of global • The 2006 CORE Lecture Series usually through the use of piecewise-linear optimization typified by the method of consisted of a series of lectures by functions approximating the true functions. spatial branch-and-bound wherein one Robert Weismantel on MINLP. In the presence of non-convexity, this leads repeatedly subdivides the feasible region, Our goal was to develop algorithms to the introduction of additional binary with the goal of producing better and and software for this important class of variables or non-standard branching rules. better convex under-estimators (e.g., Baron; problems. We undertook to carry this out in The inaccuracies that are introduced and see [28]). Finally, there is the approach of the context of COIN-OR. Our original goal the added computational effort induced systematically remodeling a broad subclass was to use existing software components of by accommodating the piecewise-linear of MINLP problems as MILPs using COIN-OR to produce a simple NLP-based functions may make the value of such a specialized techniques (e.g., see [16] for such branch-and-bound code aimed at MINLP solution approach rather limited. a method using linked ordered sets) problems that have convex relaxations. As Another approach is to relax the MINLP we progressed, we expanded our goal and to an NLP, apply an NLP solver, and then 3. Building Blocks developed instantiations of several MINLP use some heuristic method to reach a nearby As MINLP combines the worlds of methods, aimed mostly at problems having feasible point that respects the integrality MILP and of NLP, a logical start for convex relaxations. We were able to carry restrictions. Just as for MILP, this technique the Bonmin project was to look at the this out rather quickly, as we had at our is not very robust, often leading to very poor existing codes and libraries in COIN- disposal the source code to manage a solutions. OR related to MILP and NLP and to branch-and-bound tree and to solve MILP The alternative to methods that are based see how they could be integrated. and NLP subproblems. strictly on either MILP and NLP is to Cbc (Coin Branch and Cut) is a powerful, In Section 2, we describe the setting develop methods that are directly aimed at industrial-strength branch-and-cut code of MINLP. In Section 3, we discuss the MINLP formulations. In effect, one shifts for MILP problems. It is a component COIN-OR NLP solver Ipopt and the some of the burden from the modeler to of COIN-OR, and it uses several other COIN-OR MILP solver Cbc, which were the solution software. Still, just as we know components of COIN-OR. It uses Clp (the the starting points of our implementation. from MILP and NLP, there are always Coin Linear Programming solver) through In Section 4, we describe the capabilities significant issues that cannot be ignored the Osi (Open Solver Interface) library. The of our MINLP solver Bonmin (Basic by a modeler who seeks to solve difficult Osi is a layer used to insulate an application Open-source Nonlinear Mixed INteger instances. that makes use of an LP solver from the programming) and how we constructed It is useful to first consider methods specific LP solver employed. Clp includes it using other components of COIN-OR. that are aimed at MINLP problems primal and dual simplex solvers as well as Finally, in Section 5, we discuss ongoing having convex relaxations. In this sub- an interior-point method. As a full-fledged and future plans for Bonmin. domain, there are natural methods that branch-and-cut code, Cbc strengthens generalize MILP methods (e.g., branch- relaxations through use of the COIN Cgl 2. MINLP and-bound, using NLP subproblems) as (Cut Generation Library), accommodates well as more sophisticated methods like We consider MINLP problems of the form different node-selection and branching rules outer approximation (see [13]), generalized min f(x) (e.g., via pseudocosts and strong branching), Bender's decomposition (see [18]) and hybrid and allows for SOS Type-1 and Type-2 methods (see [8], for example). Even in this Date: November 2, 2007. modeling and branching. Cgl includes a OPT I M A 7 5 DECEMBER 2007 page 3 wide variety of cutting-plane generators (including: knapsack cover, odd hole, flow cover, lift and project, Gomory, reduce and split, and MIR).