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.

Algorithmic Features

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.

Performance Tuning

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.

LGO Log Output

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.

LGO Parameter Options

For full description of all the LGO Parameters that are supported in MPL, please go to the LGO Option Parameters page.

Back To Top | Maximal Home Page | List of Solvers | Previous Page | Next Page