LGO - abbreviating a Lipschitz(-continuous) Global Optimizer - solves nonlinear optimization models under very general conditions. The models handled by LGO can be made up, in principle, by arbitrary computable functions that - for reasons of theoretical validation of the numerical results obtained - should be continuous or Lipschitz-continuous. These mild structural assumptions make possible the application of LGO under very general conditions.
LGO is integrated into MPL directly through memory as a Dynamic Link Library, giving MPL users access to this renowned global-local optimizer from the user-friendly Windows environment. Since the late 1980s, LGO has been successfully applied to handle a broad variety of industrial applications; it is also used in leading edge research institutes and in academic environments.
LGO solves global optimization problems on finite 'box' regions, in the possible presence of additional (general) constraints.
LGO integrates a suite of robust and efficient global and local scope nonlinear solvers. These include the following solver options:
The global adaptive partition and search option numerically exploits the Lipschitz information: the generated sequence of sample points theoretically converges to the global solution (set). Here we assume that valid estimates of the Lipschitz model characteristics are used in the algorithmic search. In practice such information often needs to be estimated using sampling procedures. The other two global search methods use stochastic algorithms that theoretically converge to the global solution (set) with probability one. The local search method in LGO is based on the generalized reduced (GRG) method.
LGO does not require analytical derivative information: the solver operations are based exclusively on the computation of the objective and constraint function values at algorithmically selected search points. Based on extensive benchmarking experience, users can reasonably expect to find a close numerical estimate of the global solution in multimodal problems, in an effective (competitive) manner.
The overall solution approach implemented in LGO supports the flexible usage of the component solvers. This allows a choice of algorithmic approaches in tuning the performance for a specific model. For difficult models, it can make sense to try all three global solver modes, in order to improve the solution. The default global solver mode is stochastic multi-start: this typically will find better solutions than the other two global methods, but can be slower as it performs numerous local searches. If the model is convex or mildly non-convex, then LGO's (fastest) local search method is the most suitable to employ.
MPL shows the progress of LGO during an optimization run in the message window that also can be sent to a log file. One can also display debugging information (if required) but the basic log has the following appearance:
STATUS: Optimizing 'CirclePackingInCircle' with LGO Solver LGO: IterNr = 10000, ObjVal = 2.33746 LGO: IterNr = 20000, ObjVal = 3.9398 LGO: IterNr = 30000, ObjVal = 2.10768 LGO: IterNr = 40000, ObjVal = 2.35459 LGO: IterNr = 50000, ObjVal = 3.17696 LGO: IterNr = 60000, ObjVal = 2.10724 LGO: IterNr = 70000, ObjVal = 3.36015 LGO: IterNr = 80000, ObjVal = 2.87404 LGO: IterNr = 90000, ObjVal = 3.69732 LGO: IterNr = 100000, ObjVal = 2.90575 -------------------------------------------------------- LGO: IterNr = 1740000, ObjVal = 3.05105 LGO: IterNr = 1750000, ObjVal = 2.27483 LGO: IterNr = 1760000, ObjVal = 2.71886 LGO: IterNr = 1770000, ObjVal = 2.25735 LGO: IterNr = 1780000, ObjVal = 3.62627 LGO: IterNr = 1790000, ObjVal = 2.39337 LGO: IterNr = 1800000, ObjVal = 3.5543 LGO: IterNr = 1810000, ObjVal = 2.21939 LGO: IterNr = 1819643, ObjVal = 1.95703 Solver Statistics Solver name: LGO Objective value: 1.95703043906345 Iterations: 1819643 Solution time: 2:11 min Result code: 1 STATUS: Global solution found (1,1)
Let us remark that the model 'CirclePackingInCircle' is based on a well-known global optimization test challenge: find an optimized arrangement of a collection of circles in a minimal size circle. (LGO has been applied to many instances and variants of this general model type.)
The log simply displays the amount of iterations completed and the current objective value found at the point of its search. (Due to the global scope search, the sequence of function values does not have to be monotonically decreasing.) Upon completion of the optimization process MPL displays a summary of the solver run, reporting total time and the number of iterations done during the search process, together with the numerical optimum estimate generated.
For full description of all the LGO Parameters that are supported in MPL, please go to the LGO Option Parameters page.