E05: Global Optimization
Global optimization involves finding the absolute maximum or minimum value of a function (the objective function) of several variables, possibly subject to restrictions (defined by a set of bounds or constraint functions) on the values of the variables. Such problems can be much harder to solve than local optimization problems because it is difficult to determine whether a potential optimum found is global, and because of the nonlocal methods required to avoid becoming trapped near local optima. Mark 22 of the NAG Toolbox for MATLAB includes a new Chapter, Global Optimization of a Function (e05), for performing global optimization on a problem with simple bounds using a multilevel coordinate search. The solver is complemented by a number of support routines for initializing the data and setting optional parameters. Derivatives are not required, and the solver is intended for medium-scale problems.
The new solver will be useful in any of the areas in which the existing Local Optimization of a Function (e04) solvers are used, and also in those fields where finding global, not local, optima is vital. Example areas include finance, chemical and phase-equilibrium problems, graph and network analysis, scheduling, protein folding, and robotics.
This demo allows you to run the solver on a range of standard test problems, in two-dimensions so that you can view the solver's progress in a plot. For the plot, the objective function is artificially slowed down using the value you give for pause_time (defaulting to 0.1). The argument target allows you use the solver's nondefault termination method, which is to stop once the target value you specify has been reached (or the limit on function evaluations has been exceeded).