Common input for all CGO solvers

From TomWiki

Jump to: navigation, search


This page is part of the CGO Manual. See CGO Manual.


Input parameters

Prob structure

The following fields are used in the problem description structure Prob
NameName of the problem. Used for security when doing warm starts.
FUNCS.fThe routine to compute the function, given as a string, e.g. CGOF.
FUNCS.cThe routine to compute the nonlinear constraint, e.g. CGOC.
x_LLower bounds for each element in x. Must be finite.
x_UUpper bounds for each element in x. Must be finite.
b_LLower bounds for the linear constraints.
b_UUpper bounds for the linear constraints.
ALinear constraint matrix.
c_LLower bounds for the nonlinear constraints.
c_UUpper bounds for the nonlinear constraints.
WarmStartIf true, >0, the solver reads the output from the last run from the mat-file cgoSave.mat, and continues from the last run.

If Prob.CGO.WarmStartInfo has been defined through a call to WarmDefGLOBAL, this field is used instead of the cgoSave.mat file.

In the last case, exactly the same points are used.

In the first case, a new test is made which points to use.

MaxCPUMaximal CPU Time (in seconds) to be used.
userUser field used to send information to low-level functions.
PriLevOptPrint Level.
2Printing each iteration
3Info about local / global solution
4Progress in x.
PriLevSubPrint Level in subproblem solvers, see help in snSolve and gnSolve.
f_LowLower bound on the optimal function value. If defined, used to restrict the target values into interval ['f_Low,min(surface)].
optParamStructure with optimization parameters. See the table below describing the fields used in the optParam structure.
CGOStructure with parameters specific to costly global optimization. See the table below describing the fields used in the CGO structure.
GOStructure with parameters specific to global optimization. See the table below describing the fields used in the GO structure.
MIPStructure with parameters specific to mixed integer optimization. See the table below describing the fields used in the MIP structure.

optParam structure

The most important field is MaxFunc, normally use default values for other fields.

fields used in Prob.optParam:
MaxFuncMaximal number of costly function evaluations, default 300 for rbfSolve and arbfMIP, and default 200 for ego. MaxFunc must be <= 5000. If WarmStart = 1 and MaxFunc <= nFunc (Number of f(x) used) then set MaxFunc := MaxFunc + nFunc.
IterPrintPrint one information line each iteration, and the new x tried. Default IterPrint = 1. fMinI means the best f(x) is infeasible. fMinF means the best f(x) is feasible (also integer feasible).
fGoalGoal for function value, not used if inf or empty.
eps_f Relative accuracy for function value, fTol == eps_f. Stop if |f - f Goal| <= |fGoal| * fTol, if fGoal ≠ 0. Stop if |f - fGoal| <= fTol, if fGoal = 0. See the output field maxTri.
bTol Linear constraint tolerance.
cTolNonlinear constraint tolerance.
MaxIterMaximal number of iterations used in the local optimization on the re- sponse surface in each step. Default 1000, except for pure IP problems, then max(GO.MaxFunc, MaxIter);.

CGO structure

The CGO solvers need an initial set of at least n+1 points, where n = dim(x).
Either an initial Experimental Design is needed or the user may input its own choice of points, or a combination of both.
A warm start with points from previous run(s) using any CGO solver is also possible.

The input parameters for the Experimental Design are given as fields in Prob.CGO.
See help expDesign for details on how to set the following fields in Prob.CGO defining the Experimental Design:
Percent, nSample, X, F, Cc, RandState, AddMP, nTrial, CLHMethod
Note that the setting of RandState might influence parts of the CGO solvers as well.

fields used in Prob.CGO:
Percent See expDesign for detailed information on how to set the experimental design parameters.
SCALE0 - Original search space (Default if any integer values)

1 - Transform search space to unit cube (Default if no integers)

objTypeTranformation of function F, all transformations are computed and saved. Selected objType is used in CGO interpolations.
0No transformation (default).
1Ft(1) = log10(F + Fadd), Fadd=10k, where k=1,2,...lowest k to assure F + Fadd > 0
2Ft(2) = log(1+F) if F >= 0, -log(1-F) if F < 0
3Ft(3) = log(F), if all(F) > 0, otherwise NaN
4Ft(4) = -log(-F) transformation, if all(F) < 0, otherwise NaN
5Ft(5) = -1/y transformation, if either all(F) < 0 or all(F) > 0, otherwise NaN
6Ft(6) = F(F >= median(F)) = median(F)
7Ft(7) = F(F > median(F)) = median(F) + log10(1+F+median(F))
8Ft(8) = F(F > 10REPLACE) = 104 + log10(1+F-10REPLACE)
REPLACEIn objType == 8, large function values Z are replaced by new values

Replacement: Z:= FMAX + log10(Z-FMAX+1), where FMAX = 10REPLACE,
Default REPLACE = 4.

XMINMatrix d x nLocal with nLocal minima previously found. Best point(s) found might be global minima
Sampling of points will be avoided around these points, see epsDist below
FMINColumn vector with nLocal costly function values f(x) computed at the nLocal points in XMIN
epsDistIf epsDist > 10-7, all points x in the sphere ||x - XMIN(:,i)|| <= epsDist are excluded from the search.
Default is epsDist = 0, then the solver does not try to detect local minima, and just continues until maxFunc reached
SMOOTH= 1 The problem is smooth enough for local search using numerical gradient estimation methods

= 0 the problem is nonsmooth or noisy, and local search methods using numerical gradient estimation are likely to produce garbage search directions.

globalSolverGlobal optimization solver used for subproblem optimization. Default glcCluster (SMOOTH=1) or glcDirect (SMOOTH=0). If the global- Solver is [glcCluster|glcCluster]], the fields Prob.GO.maxFunc1, Prob.GO.maxFunc2, Prob.GO.maxFunc3, Prob.GO.localSolver, Prob.GO.DIRECT and other fields set in Prob.GO are used. See the help for these parameters in glcCluster.
localSolverLocal optimization solver used for subproblem optimization. If not defined, the TOMLAB default constrained NLP solver is used.

GO structure

fields used in Prob.GO:
GOStructure Prob.GO (Default values are set for all fields).

The following fields are used:

MaxFuncTotal number of function values
MaxIterMaximal number of iterations in each local search.
localSolverOptionally change local solver used ('snopt' or 'npsol' etc.) If not defined, then Prob.CGO.localSolver is used
The following fields are only used by glcCluster, see help glcCluster
maxFunc1See glcCluster

MIP structure

Defines integer optimization parameters.

fields used in Prob.MIP:
IntVarsIf empty, all variables are assumed non-integer.

If islogical(IntVars) (=all elements are 0/1), then 1 = integer variable, 0 = continuous variable. If any element > 1, IntVars is the indices for integer variables.

Personal tools