News Backgrounder: Linear Programming and 'The Great Watershed' -- Convex and Conic OptimizationBackgrounder: Linear Programming and
|
|
The problem in practice has been that, except for the simplest quadratic optimization problems, it has been very difficult for users to determine whether their nonlinear problems are convex or non-convex. It requires considerable mathematical skill and experience to recognize that a problem is convex. Programming a computer to automatically test a problem for convexity is mathematically challenging, and no software has been available to analyze a problem and tell the user whether it is convex or non-convex.
Because of this difficulty, for decades, users have stuck with linear programming, or else they have solved their nonlinear problems with general purpose - but much slower and less reliable - Solvers for non-convex nonlinear optimization, settling in most cases for only a locally optimal solution. The "great watershed" has seemed to lie between linear programming on the one hand, and nonlinear optimization on the other.
Software to Test Problems for Convexity
In 2004, the first research - including original work by Frontline Systems developers - was presented at academic conferences, describing algorithms and software that could test problems automatically and tell the user whether they were convex or non-convex. Such testing is very challenging computationally - it has been proven that no method can always determine convexity in less than exponential (read: prohibitively long) time. But the new research focuses on methods that can determine convexity in a short time for wide classes of practical problems. This research is so new that the first technical papers in refereed journals won't appear until 2005.
Frontline's Premium Solver Platform V6.0 is the first commercial product to include methods to automatically test an optimization problem and tell the user whether it is convex or non-convex. Now, any user of Microsoft Excel can create a Solver model in spreadsheet form, using ordinary Excel formulas and functions, then simply press a button to check whether the model is convex.
Making it easy to test a model for convexity opens up the 'world of convex optimization' to a broad range of users, beyond the few who have the mathematical skills to recognize or formulate a convex problem on their own. Users with existing nonlinear optimization models, who've had no way to be sure whether their solutions are locally optimal or globally optimal, can test their models for convexity - and if the answer is positive, they will for the first time have the assurance that their solutions are globally optimal.
Conic Optimization
From 1994 to 2004, academic researchers developed an extensive theory and solution methods for so-called conic optimization. Conic optimization lies between linear optimization and nonlinear optimization - it permits specific kinds of nonlinear constraints, called cone constraints. A linear constraint qualifies as a cone constraint; the next step is the so-called second-order cone, also referred to as the Lorenz cone or 'ice cream cone' and depicted below:

The crucial mathematical fact about conic optimization problems is that - like linear optimization problems - they are always convex. This implies that they can be solved quickly and reliably up to large size - and indeed, this is borne out in practice.
The crucial application fact about second-order conic optimization problems (also called SOCP or second-order cone programming problems) is that many (perhaps most) interesting and important problems in finance and engineering are SOCP problems. A wide range of investment problems, such as construction of efficient portfolios, 'style analysis' of money managers, tests for 'conditional value at risk,' and new 'risk budgeting' used by leading pension funds, are convex quadratic problems, which are special cases of SOCP problems. And a wide range of new problems, using robust optimization methods that better account for 'noise' and uncertainty in stock and bond prices, can be formulated as SOCP problems.
In engineering, robust least squares problems, that better account for 'noise' and uncertainty in signals, circuits and the like, antenna design problems for radio, radar and wireless applications, control problems in aerospace applications, and truss design problems for bridges and buildings can be formulated as SOCP problems.
Software for Convex and Conic Optimization
Commercial software products for solving SOCP problems have just begun to appear. Frontline's Premium Solver Platform V6.0 is among the very first such products, with its new, built-in SOCP Barrier Solver and its optional MOSEK Solver Engine. Like other Frontline Solvers - and unlike much other optimization software - these new 'Solver Engines' are very ease to use: The user simply selects the Solver by name from a dropdown list, and clicks the Solve button. To create a second-order cone constraint, the user simply selects the 'soc' choice from a dropdown list in the Platform's Add Constraint dialog.
The new SOCP Barrier Solver - bundled with the Premium Solver Platform V6.0 - finds fast, reliable solutions to linear programming (LP) problems, classic quadratic programming (QP) problems, quadratically constrained (QCP) problems, and new SOCP problems, with up to 2,000 decision variables. For larger problems, the user can easily install the MOSEK Solver Engine, which 'plugs in' to the Premium Solver Platform. This Solver has been tested on SOCP problems of over 100,000 decision variables - demonstrating in practice that SOCP problems can be solved quickly and reliably up to very large size, now in everyday Microsoft Excel models. Frontline also offers an extended version of the MOSEK Solver Engine that solves general convex nonlinear problems, beyond LP, QP, QCP and SOCP problems. Combined with the Premium Solver Platform V6.0's new ability to test Excel models for convexity, this Solver offers the realistic potential to solve convex optimization problems with the kind of speed and reliability that was formerly available only for linear programming problems.
And with automatic convexity testing, all of Frontline's Solvers for nonlinear optimization - from the GRG Solver included with Microsoft Excel and the Premium Solver Platform, to the Large-Scale GRG Solver, Large-Scale SQP Solver, and the exciting new KNITRO Solver Engine - will be able to solve convex optimization problems, with much better performance than for non-convex problems. Frontline has even extended these Solvers to handle second-order cone (SOC) constraints. So the user who creates an SOCP model in Excel will have several choices of Solvers available to optimize his/her model. Taken together, the Premium Solver Platform V6.0 and accompanying Solver Engines hold the promise of opening up the use of convex optimization to a much wider audience, by making it much easier than ever before to define and solve such problems.
For good reasons - both the underlying mathematics, and the application needs - many observers believe that convex and conic optimization will eventually 'replace' (actually subsume) linear programming as the most widely known and used form of optimization. Frontline Systems' goal is to accelerate that process, by making convex and conic optimization very easy to use.
