click to enlarge
Figure 1: Plot of nonlinear constraints showing many local optima
“Optimization is the science of finding solutions that satisfy given constraints and objectives…. The goal of global optimization is to find the absolutely best answer for models that have a number of possible solutions.” So says the blurb at the Maplesoft Web site for this product, and seems a useful introduction to a very useful add-on tool. Complex mathematical problems were always endemic to such areas as physics and engineering (to say nothing of mathematics itself) but are now commonly encountered in areas ranging from business to biology. Software that would easily handle local optimization problems often failed to find a global optimum. Developers could spend thousands of man-hours developing efficient algorithms to “approximate” an acceptable solution to these problems and still be far from the best solution. With the advent of tools such as the Global Optimization Toolbox (GOT), life got a lot simpler not only on the purely computational end, but also for understanding by the end user.
The toolbox comes on a single CD and is ludicrously easy to load. Mine integrated flawlessly with Maple as fast as I could hit “next.” All it really needed was the serial number conveniently placed on the box. A successful load was accomplished in 10 seconds on a Pentium 4 running at 2.8 GHz. If this sounds a bit too positive, hark back to the days of DOS-based software and constant hardware addressing, where every other click of “enter” yielded a new error message and many hours lost in calls to the help desk (assuming a help desk existed). The modern equivalent is the procedure that has the end user jumping through hoops with multiple passwords and e-mails to the company to get yet another level of permission. Thus, my appreciation of a quick, easy procedure. This application works with Maple 9.5 and above, on Windows, Macintosh, Linux and Unix platforms.
As for theory and practice, the 10-cent version of the theory goes as follows: We are attempting to find the best solution among a relatively large choice of possible solutions. To measure the quality of the result, we construct a yardstick called an objective function from at least one of our performance criteria under study. As the initial problem is quite difficult to solve by conventional methods, we reduce the scope of the problem by narrowing the focus through constraints (mathematical equations and inequalities) that will reduce the set of possible solutions. We now look for a point that maximizes or minimizes the objective function while satisfying the constraints.
The GOT implements the above through a series of solvers that were developed to support a variety of objective and constraint functions for very large models with thousands of variables. In my little corner of the world, where molecular biologists examine tens of thousands of gene surrogates under a variety of challenge conditions, where huge databases accumulate with ever more complex data, and where the necessity arises to interface with chemical information and integrate this information into a solution that actually makes sense in a biological context, any assistance is welcome. For physical scientists, the problem may be a bit “cleaner” but, certainly, no less complex. A brief summary of the key features is presented in Table 1.
click to enlarge
Table 1: Some Key Features of Global Optimization Toolbox
Upon entering several simple trigonometric functions, GOT correctly computed the global (not local) extremum and, as an option, displayed the results on a plot. This can be accomplished easily with the command line or the Global Optimization Assistant. This Assistant is a very useful dialog box that permits easy entry of objective functions as well as constraints and bounds. The user also can enter the solver type, as well as options such as min/max, a penalty multiplier, initial values, a merit target and several others. When the button is pressed, the objective value, as well as the solution point (vector), are displayed. If the constraints and bounds are infeasible, then an error message is generated. If there are numerical problems with the solution, other dialogs appear that may hint at the problem. Once the solution is in hand, the result may be plotted with another button to invoke the Optimization Plotter (Figure 1). These plots are easily copied, in a variety of formats, to other documents.
Attempts to reproduce this calculation in other platforms without any type of optimization functionality available lead to errors unless the problem was recast and subjected to several prior constraints, usually accomplished through command line programming.
As my initial attempt to run the toolbox hit a few snags (it needed a new license file), I was able to rate the service rendered by Maplesoft’s technical support group. All questions were quickly and politely dealt with, and I was soon up and running. As with everything else, there is a learning curve; but with the aid of built-in tutorials and examples, the curve is not too steep. Use of this toolbox presupposes a breadth and depth of mathematical knowledge, of course (just try to feed the equation editor unbounded variables or fail to supply reasonable bounds!), but then the user whose mathematical needs are fulfilled with Excel would not be reaching for Maple in the first place. For the experienced scientist and engineer, these caveats will present no problem.
My problems fell under the heading of most novice users; these included saving various features through the assistants, as well as producing suitable plots that displayed the local minima. The online help seems to concentrate on programming steps, but a call to the help desk was once again illuminating. As with other platforms, Maple has its own requirements, e.g., the asterisk indicating a multiplication must be placed only between combinations of variables and constants, and not functions, as I quickly learned!
• Commercial $1,695
• Academic $795
615 Kumpf Drive
Waterloo, Ontario, Canada, N2V 1K8
John Wass is a statistician with GPRD Pharmacogenetics, Abbott Laboratories. He can be reached at editor@ScientificComputing.com.