CGO arbfMIP: Difference between revisions

From TomWiki
Jump to navigationJump to search
Line 166: Line 166:
==Description  of Outputs==
==Description  of Outputs==


Structure with result from optimization. The following fields are changed:
 
===Result structure===
The output structure ''Result'' contains results from the optimization.<br>The following fields are set:


{|class="wikitable"
{|class="wikitable"
!Output||Description
!Field||Description
|-valign="middle"
|''x_k''||rowspan="5"|See [[Common output for all CGO solvers|Common output for all CGO solvers]] for details.
|-valign="top"
|-valign="top"
|''x_k''||Matrix  with the best points as columns.
|''f_k''
|-valign="top"
|-valign="top"
|''f_k''||The best function value found so far.
|''Iter''
|-valign="top"
|-valign="top"
|''Iter''||Number of iterations.
|''FuncEv''
|-valign="top"
|-valign="top"
|''FuncEv''||Number of function evaluations.
|''ExitText''
|-valign="top"
|-valign="top"
|''ExitText''||Text string with information about the run.
|''ExitFlag''||Always 0
|-valign="top"
|-valign="top"
|''ExitFlag''||Always 0.
|''Inform''||Information parameter.
|-valign="top"
|''CGO''||Subfield ''WarmStartInfo  ''saves warm start information, the same information as in cgoSave.mat,  see below.
|-valign="top"
|''Inform ''||Information parameter.


0 = Normal termination.
{|class="wikitable"
 
!Value||Signification
1 = Function value f(x) is less than fGoal.
|-
 
|0||Normal termination.
2 = Error in function value ''f ''(''x'')'', <nowiki>|</nowiki>f - f Goal<nowiki>|</nowiki> = fTol, fGoal ''= 0''.''
|-
 
|1||Function value f(x) is less than fGoal.
3 = Relative Error in function value ''f ''(''x'') is less than fTol, i.e. ''<nowiki>|</nowiki>f -'' ''f Goal<nowiki>|</nowiki>/<nowiki>|</nowiki>f Goal<nowiki>|</nowiki> = fTol''.
|-
 
|2||Error in function value ''f ''(''x'')'', <nowiki>|</nowiki>f - fGoal<nowiki>|</nowiki> <= fTol, fGoal ''= 0''.''
4 = No new point sampled for MaxCycle iteration steps.
|-
 
|3||Relative Error in function value ''f ''(''x'') is less than fTol, i.e. <nowiki>|</nowiki>f - fGoal<nowiki>|</nowiki>/<nowiki>|</nowiki>fGoal<nowiki>|</nowiki> <= fTol.
5 = All sample points same as the best point for MaxCycle last iterations.
 
6 = All sample points same as previous point for MaxCycle last iterations.


7 = All feasible integers tried.
<!-- Removed for now
|-
|4||No new point sampled for MaxCycle iteration steps.
|-
|5||All sample points same as the best point for MaxCycle last iterations.
|-
|8||No progress for ''MaxCycle * ''(''N ''+ 1) + 1 function evaluations (''> MaxCycle'' cycles, input CGO.MaxCycle).
-->
|-
|6||All sample points same as previous point for the last 11 iterations.
|-
|7||All feasible integers tried.
|-
|9||Max CPU Time reached.
|}


9 = Max CPU Time reached.
|-valign="top"
|''cgoSave.mat''||To make a warm start possible, all CGO solvers  saves information in the file cgoSave.mat.  The file is created independent of the solver, which enables the user to call any CGO solver using the warm start information.  cgoSave.mat is a MATLAB mat-file saved to the current directory. If the parameter SAVE is 1, the CGO solver saves  the mat file every iteration,  which enables the user to  break the run and restart using warm start from the current  state. SAVE = 1 is currently always set by the CGO solvers. If the cgoSave.mat file fails to open for writing,  the information is also available in the output field Result.CGO.WarmStartInfo,  if the run was concluded without  interruption. Through a call to WarmDefGLOBAL, the Prob structure can be setup for warm start.  In this case, the CGO solver will not load the data from cgoSave.mat. The file contains the following variables:
|-valign="top"
|''Name ''||Problem name. Checked against the ''Prob.Name ''field if doing a warmstart.
|-valign="top"
|''O ''||Matrix  with sampled points (in original space).
|-valign="top"
|''X ''||Matrix  with sampled points (in unit space if SCALE==1)
|-valign="top"
|''F ''||Vector with function values (penalty added for costly Cc(x))
|-valign="top"
|''F m ''||Vector with function values (replaced).
|-valign="top"
|''F00 ''||Vector of pure function values, before penalties.
|-valign="top"
|''Cc''||MMatrix  with costly constraint values, ''C c''(''x''). ''nInit''Number of initial  points.
|-valign="top"
|''Fpen''||Vector with function values + additional penalty if infeasible using the linear constraints and noncostly nonlinear ''c''(''x'').
|-valign="top"
|''fMinIdx''||Index of the best point found.
|-valign="top"
|-valign="top"
|''rngState''||Current state of the random number generator used.
|''CGO''||Subfield ''WarmStartInfo'' saves warm start information, the same information as in cgoSave.mat,  see [[Common output for all CGO solvers#WSInfo]].
|}
|}



Revision as of 10:06, 20 June 2014

Notice.png

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

Purpose

Solve general constrained mixed-integer global black-box optimization problems with costly objective functions.

The optimization problem is of the following form


where ; ; the linear constraints are defined by , ; and the nonlinear constraints are defined by . The variables are restricted to be integers, where is an index subset of possibly empty. It is assumed that the function is continuous with respect to all variables, even if there is a demand that some variables only take integer values. Otherwise it would not make sense to do the surrogate modeling of used by all CGO solvers.

f (x) is assumed to be a costly function while c(x) is assumed to be cheaply computed. Any costly constraints can be treated by adding penalty terms to the objective function in the following way:

where weighting parameters wj have been added. The user then returns p(x) instead of f (x) to the CGO solver.

Calling Syntax

Result = arbfMIP(Prob,varargin) 
Result = tomRun('arbfMIP', Prob);

Description of Inputs

Problem structure

The following fields are used in the problem description structure Prob:

Input Description
Name See Common input for all CGO solvers
FUNCS.f
FUNCS.c
x_L
x_U
b_L
b_U
A
c_L
c_U
WarmStart
MaxCPU
user
PriLevOpt
f_Low
optParam
CGO See the table below but also this table for input common to all CGO solvers
GO See common input for all CGO solvers
MIP See common input for all CGO solvers
varargin Additional parameters to arbfmip are sent to the costly f(x)
- Special ARBF algorithm parameters in Prob.CGO -
rbfType Selects type of radial basis function
Value Type
1 Thin Plate Spline
2 Cubic Spline (default)
3 Multiquadric
4 Inverse multiquadric
5 Gaussian
6 Linear.
infStep If =1, add search step with target value -inffirst in cycle.
Default 0
TargetMin Which minimum of several to pick in target value problem:
Value Minimum picked
0 Use global minimum.
1 Use best interior local minima, if none use global minimum.
2 Use best interior local minima, if none use RBF interior minimum.
3 Use best minimum with lowest number of coefficients on bounds.

Default is TargetMin = 3.

fStarRule Global-Local search strategy. N = cycle length.
Define min_sn as the global minimum on surface.
Value fStar target value
1 min_sn - ((N - (n - nInit))/N )2 * Deltan (Default)
2 min_sn - (N - (n - nInit))/N * Deltan.
Strategy 1 and 2 depends on Deltan estimate (see DeltaRule).
3 -inf-step, min_sn-k *0.1*|min_sn| k = N,...,0.
If infStep true, addition of -inf-step first in cycle.

Strategy names in Gutmanns thesis: III, II, I

DeltaRule 1 = Skip large f(x) when computing f(x) interval Delta.
0 = Use all points.
If objType > 0, default DeltaRule = 0, otherwise default is 1.
eps_sn Relative tolerance used to test if the minimum of surface, min_sn, is sufficiently lower than the best point (fMin) found. Default is eps_sn = 10-7.

Description of Outputs

Result structure

The output structure Result contains results from the optimization.
The following fields are set:

Field Description
x_k See Common output for all CGO solvers for details.
f_k
Iter
FuncEv
ExitText
ExitFlag Always 0
Inform Information parameter.
Value Signification
0 Normal termination.
1 Function value f(x) is less than fGoal.
2 Error in function value f (x), |f - fGoal| <= fTol, fGoal = 0.
3 Relative Error in function value f (x) is less than fTol, i.e. |f - fGoal|/|fGoal| <= fTol.
6 All sample points same as previous point for the last 11 iterations.
7 All feasible integers tried.
9 Max CPU Time reached.
CGO Subfield WarmStartInfo saves warm start information, the same information as in cgoSave.mat, see Common output for all CGO solvers#WSInfo.

Description

arbfMIP implements the Adaptive Radial Basis Function (ARBF) algorithm. The ARBF method handles linear equality and inequality constraints, and nonlinear equality and inequality constraints, as well as mixed-integer problems.

M-files Used

daceInit.m, iniSolve.m, endSolve.m, conAssign.m, glcAssign.m, snSolve.m, gnSolve.m, expDesign.m.

MEX-files Used

tomsol

See Also

rbfSolve.m and ego.m

Warnings

Observe that when cancelling with CTRL+C during a run, some memory allocated by arbfMIP will not be deallocated. To deallocate, do:

''>> ''clear cgolib