The SGTELIB library is a dynamic surrogate modelling library. It is used in the Search step of Mads to dynamically construct models from the previous evaluations. During a Search step that uses SGTELIB, models of the objective and the constraints are constructed and a surrogate subproblem involving these models is optimized. The resulting solutions are the next candidates for evaluation by the true problem.
SGTELIB_MODEL_SEARCH
to yes
or true
.Models in SGTELIB are defined by using a succession of field names and field values. To choose a model, the parameter SGTELIB_MODEL_DEFINITION
must be used followed by the field name TYPE
, and then by the model type. The subsequent fields enable to define the settings of the model. Each field name is made of one single word and each field value is made of one single word or numerical value.
Example : SGTELIB_MODEL_DEFINITION TYPE <model type> FIELD1 <field 1 value> FIELD2 <field 2 value>
The section below describes the models and settings available.
Below is the list of all possible models and their authorized fields.
Authorized fields:
degree
(Can be optimized)ridge
(Can be optimized)budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE PRS DEGREE 2
TYPE PRS DEGREE OPTIM RIDGE OPTIM
Authorized fields:
degree
(Can be optimized)ridge
(Can be optimized)budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE PRS_EDGE DEGREE 2
TYPE PRS_EDGE DEGREE OPTIM RIDGE OPTIM
Authorized fields:
degree
(Can be optimized)ridge
(Can be optimized)budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE PRS_CAT DEGREE 2
TYPE PRS_CAT DEGREE OPTIM RIDGE OPTIM
Authorized fields:
kernel_type
(Can be optimized)kernel_shape
(Can be optimized)distance_type
(Can be optimized)ridge
(Can be optimized)preset
: Defines the type of RBF model used.budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE RBF KERNEL_TYPE D1 KERNEL_SHAPE OPTIM DISTANCE TYPE NORM2
Authorized fields:
kernel_type
(Can be optimized)kernel_shape
(Can be optimized)distance_type
(Can be optimized)budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE KS KERNEL_TYPE OPTIM KERNEL_SHAPE OPTIM
Authorized fields:
ridge
(Can be optimized)distance_type
(Can be optimized)budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE KRIGING
Authorized fields:
degree
: Must be 1 (default) or 2 (Can be optimized).ridge
(Can be optimized)kernel_type
(Can be optimized)kernel_shape
(Can be optimized)distance_type
(Can be optimized)preset
: Defines how the weight of each data point is computed.budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE LOWESS DEGREE 1
TYPE LOWESS DEGREE OPTIM KERNEL_SHAPE OPTIM KERNEL_TYPE D1
TYPE LOWESS DEGREE OPTIM KERNEL_SHAPE OPTIM KERNEL_TYPE OPTIM DISTANCE TYPE OPTIM
Authorized fields:
distance_type
(Can be optimized)budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE CN
Authorized fields:
weight
: Defines how the ensemble weights are computed.metric
: Defines which metric is used to compute the weights.distance_type
: This parameter is transfered to the models contained in the Ensemble.preset
: Defines the selection of models in the ensemble.budget
: Defines the budget allocated for parameter optimization.output
: Defines the output text file.
TYPE ENSEMBLE WEIGHT SELECT METRIC OECV
TYPE ENSEMBLE WEIGHT OPTIM METRIC RMSECV DISTANCE TYPE NORM2 BUDGET 100
Authorized fields:
- all the fields from
ensemble
(with different default values though). uncertainty
: Selects an alternative for the uncertainty (smooth or nonsmooth).size_param
: Defines the size parameter (different meaning depending on the value of UNCERTAINTY).sigma_mult
: Defines the scaling factor of the uncertainty.lambda_p
: Defines the shape parameter of the probability of feasibility.lambda_pi
: Defines the shape parameter of the probability of improvement.
TYPE ENSEMBLE_STAT UNCERTAINTY SMOOTH WEIGHT SELECT5 METRIC RMSECV SIZE_PARAM 15
The following table summarizes the possible fields for every model.
Model authorized fieldsModel type | degree |
ridge |
kernel_type |
kernel_shape |
distance_type |
preset |
weight |
metric |
uncertainty |
budget |
output |
---|---|---|---|---|---|---|---|---|---|---|---|
prs |
✔ | ✔ | ✔ | ✔ | |||||||
prs_edge |
✔ | ✔ | ✔ | ✔ | |||||||
prs_cat |
✔ | ✔ | ✔ | ✔ | |||||||
rbf |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
ks |
✔ | ✔ | ✔ | ✔ | ✔ | ||||||
kriging |
✔ | ✔ | ✔ | ✔ | |||||||
lowess |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
cn |
✔ | ✔ | ✔ | ||||||||
ensemble |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||||
ensemble_stat |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Below is the list of fields and their descriptions.
Allowed for models of type:
prs
, prs_edge
, prs_cat
and lowess
.Default value: 5
- For PRS models, the default degree is 2.
- For LOWESS models, the degree must be 1 (default) or 2.
TYPE PRS DEGREE 3 defines a PRS model of degree 3.
TYPE PRS_EDGE DEGREE 2 defines a PRS_EDGE model of degree 2.
TYPE LOWESS DEGREE OPTIM defines a LOWESS model where the degree is optimized.
Allowed for models of type:
prs
, prs_edge
, prs_cat
, rbf
, kriging
and lowess
.Possible values: Real value ≥ 0. Recommended values are 0 and 0.001.
Default value: 0.001.
TYPE PRS DEGREE 3 RIDGE 0
defines a PRS model of degree 3 with no ridge.TYPE PRS DEGREE OPTIM RIDGE OPTIM
defines a PRS model where the degree and ridge coefficient are optimized.KERNEL
is equivalent.Allowed for models of type:
rbf
, lowess
and ks
.Possible values:
D1
: Gaussian kernelD2
: Inverse Quadratic KernelD3
: Inverse Multiquadratic KernelD4
: Bi-quadratic KernelD5
: Tri-cubic KernelD6
: Exponential Sqrt KernelD7
: Epanechnikov KernelI0
: Multiquadratic KernelI1
: Polyharmonic splines, degree 1I2
: Polyharmonic splines, degree 2I3
: Polyharmonic splines, degree 3I4
: Polyharmonic splines, degree 4OPTIM
: The type of kernel is optimized
D1
, except for RBF models where it is I2
.TYPE KS KERNEL_TYPE D2
defines a KS model with Inverse Quadratic Kernel.TYPE KS KERNEL_TYPE OPTIM KERNEL_SHAPE OPTIM
defines a KS model with optimized kernel shape and type.KERNEL_COEF
is equivalent. Note that this field name has no impact for kernel types I1
, I2
, I3
and I4
because these kernels do not include a shape parameter.Allowed for models of type:
rbf
, ks
and lowess
.Possible values: Real value ≥ 0. Recommended range is [0.1; 10]. For KS and LOWESS model, small values lead to smoother models.
Default value: By default, the kernel coefficient is optimized.
TYPE RBF KERNEL_TYPE D4 KERNEL_SHAPE 10
defines a RBF model with an inverse bi-quadratic kernel of shape coefficient 10.TYPE KS KERNEL_TYPE OPTIM KERNEL_SHAPE OPTIM
defines a KS model with optimized kernel shape and type.Allowed for models of type:
rbf
, ks
, kriging
, lowess
, cn
, ensemble
and ensemble_stat
.Possible values:
NORM1
: Euclidian distanceNORM2
: Distance based on norm 1NORMINF
: Distance based on norm 1NORM2_IS0
: Tailored distance for discontinuity in 0NORM2_CAT
: Tailored distance for categorical models
NORM2
.TYPE KS DISTANCE NORM2_IS0
defines a KS model tailored for VAN optimization.Allowed for models of type:
rbf
, lowess
, ensemble
and ensemble_stat
.- When applied to
rbf
models, PRESET defines the type of RBF. Possible values:
O
: RBF with linear terms and orthogonal constraintsR
: RBF with linear terms and regularization termI
: RBF with incomplete set of basis functions (see [AuKoLedTa2016] for RBFI models)
Default value:I
.Example:
TYPE RBF PRESET O
- When applied to
- When applied to
lowess
models [TaAuKoLed2016], PRESET defines how the weight wi of each data point xi is computed. Possible values:
D
: wi = ϕ(di) where ϕ is the kernel of type and shape defined by the fieldskernel_type
andkernel_shape
, respectively, and di is the distance between the prediction point and the data point xiDEN
: :math:w_i=phi(d_i/d_q) where dq is the distance between the prediction point and the qth closest data point, and dq is computed with an empirical methodDGN
: :math:w_i=phi(d_i/d_q) where dq is computed with the Gamma methodRE
: wi = ϕ(ri) where ri is the rank of xi in terms of distance to the prediction point, and ri is computed with empirical methodRG
: wi = ϕ(ri) where ri is computed with the Gamma methodREN
: same asRE
but the ranks are normalized in [0, 1]RGN
: same asRG
but the ranks are normalized in [0, 1]
Default value:DGN
.Example:
TYPE LOWESS PRESET RE
- When applied to
- When applied to
ensemble
orensemble_stat
models, PRESET determines the selection of models in the ensemble. Possible values:
DEFAULT
: selection of 18 models of typesprs
,ks
,rbf
andcn
with various settingsKS
: selection of 7 models of typeks
with various kernel shapesPRS
: selection of 7 models of typeprs
with various degreesIS0
: selection of 30 models of typeprs_edge
,ks
,rbf
with various settings and DISTANCE_TYPE set to NOMR2_IS0CAT
: selection of 30 models of typeprs_edge
,ks
,rbf
with various settings and DISTANCE_TYPE set to NOMR2_CATSUPER1
: selection of 4 models of typesprs
,ks
,rbf
andlowess
SMALL
: selection of 3 models of typesprs
,ks
andrbf
Default value:DEFAULT
.Example:
TYPE ENSEMBLE PRESET SUPER1
- When applied to
WEIGHT_TYPE
is equivalent.Allowed for models of type:
ensemble
and ensemble_stat
.Possible values:
WTA1
: wk ∝ ℰsum − ℰkWTA3
: wk ∝ (ℰk + αℰmean)βSELECT
: wk ∝ 1 if ℰk = ℰmin (only the best model is selected)SELECTN
: wk ∝ ℰsumN − ℰk (for N = 1, 2, …, 6)OPTIM
: w minimizes ℰ(w)
Where ℰk is the error metric (defined by the field name metric
) of the kth model in the ensemble, ℰsum is the cumulated error of all models, ℰmin is the minimal error, ℰmean is the average error, α = 0.05, β = − 1, and ℰsumN is the cumulated error metric of the N best models.
SELECT
for ensemble
models, SELECT3
for ensemble_stat
models with uncertainty
set to SMOOTH
, and SELECT4
for ensemble_stat
models with uncertainty
set to NONSMOOTH
.TYPE ENSEMBLE WEIGHT SELECT METRIC RMSECV
defines an ensemble of models which selects the model that has the best RMSECV.TYPE ENSEMBLE WEIGHT OPTIM METRIC RMSECV
defines an ensemble of models where the weights w are computed to minimize the RMSECV of the model.TYPE ENSEMBLE WEIGHT SELECT3 METRIC OECV
defines an ensemble of models which selects the 3 models that have the best OECV.(specific to ensemble_stat
models)
Possible values:
SMOOTH
: Smooth alternative of the uncertainty (default)NONSMOOTH
: Nonmooth alternative of the uncertainty
TYPE ENSEMBLE_STAT UNCERTAINTY NONSMOOTH
(advanced parameter specific to ensemble_stat
models)
- the simplex used to compute the simplex gradients of the models if the field
uncertainty
is set toSMOOTH
- the positive spanning set used to compare models values if the field
uncertainty
is set toNONSMOOTH
Default value: 0.001 if the field UNCERTAINTY is set to
SMOOTH
, 0.005 if the field UNCERTAINTY is set to NONSMOOTH
.TYPE ENSEMBLE_STAT UNCERTAINTY SMOOTH SIZE_PARAM 0.003
(advanced parameter specific to ensemble_stat
models)
Default value: 10.
TYPE ENSEMBLE_STAT UNCERTAINTY NONSMOOTH SIGMA_MULT 30
(advanced parameter specific to ensemble_stat
models)
Default value: 3 if the field UNCERTAINTY is set to
SMOOTH
, 1 if the field UNCERTAINTY is set to NONSMOOTH
.TYPE ENSEMBLE_STAT UNCERTAINTY NONSMOOTH LAMBDA_P 1.5
(advanced parameterspecific to ensemble_stat
models)
Default value: 0.1 if the field UNCERTAINTY is set to
SMOOTH
, 0.5 if the field UNCERTAINTY is set to NONSMOOTH
.TYPE ENSEMBLE_STAT UNCERTAINTY NONSMOOTH LAMBDA_PI 0.3
Defines a text file in which model information are recorded. Allowed for ALL types of model.
Below is the list of some field names and values that influence the behaviour of other fields.
Parameters that can be optimized:
degree
ridge
kernel_type
kernel_shape
distance_type
TYPE PRS DEGREE OPTIM
TYPE LOWESS DEGREE OPTIM KERNEL_TYPE OPTIM KERNEL_SHAPE OPTIM METRIC ARMSECV
Allowed for ALL types of model.
Possible values:
EMAX
: Error MaxEMAXCV
: Error Max with Cross-ValidationRMSE
: Root Mean Square ErrorRMSECV
: RMSE with Cross-ValidationOE
: Order ErrorOECV
: Order Error with Cross-Validation [AuKoLedTa2016]LINV
: Invert of the LikelihoodAOE
: Aggregate Order ErrorAOECV
: Aggregate Order Error with Cross-Validation [TaAuKoLed2016]
AOECV
, except for ensemble_stat
models where it is OECV
.TYPE ENSEMBLE WEIGHT SELECT METRIC RMSECV
defines an ensemble of models which selects the model that has the best RMSECV.Allowed for ALL types of model.
Default value: 20
TYPE LOWESS KERNEL_SHAPE OPTIM METRIC AOECV BUDGET 100
TYPE ENSEMBLE WEIGHT OPTIM METRIC RMSECV BUDGET 50
The SGTELIB library offers different formulations of the surrogate subproblem to be optimized at the Search step (see [TaLeDKo2014]). The SGTELIB_MODEL_FORMULATION
parameter enables to choose a formulation, and the parameter SGTELIB_MODEL_DIVERSIFICATION
enables to adjust a diversification parameter.
f̂ denotes a model of the objective f and ĉj a model of the constraint cj, j = 1, 2, …, m. For x ∈ X, σf(x) denotes the uncertainty associated with the prediction f̂(x), and σj(x) denotes the uncertainty associated with the prediction ĉj(x), j = 1, 2, …, m. This uncertainty depends on the model chosen.
kriging
model, σf(x) (or σj(x)) is readily available through the standard deviation that the model natively produces.For an
ensemble_stat
model, the uncertainty is constructed by comparing the predictions of the ensemble models (see [AuLedSa2021]).For any other model except ENSEMBLE, σf(x) (or σj(x)) is computed with the distance from x to previously evaluated points.
Finally, for an
ensemble
model, the uncertainty is computed through a weighted sum of the squared uncertainties of the ensemble models.SGTELIB_MODEL_FORMULATION
. Some formulations involve a parameter λ that is described later.FS
(default):
FSP
:
where P is the probability of feasibility which is the probability that a given point is feasible.
EIS
:
where EI is the expected improvement that takes into account the probability of improvement and the expected amplitude thereof.
EFI
:
minx ∈ X − EFI(x)
where EFI is the expected feasible improvement : EFI = EI × P.
EFIS
:
minx ∈ X − EFI(x) − λσ̂f(x)
EFIM
:
minx ∈ X − EFI(x) − λσ̂f(x)μ(x)
where μ is the uncertainty in the feasibility : μ = 4P × (1 − P).
EFIC
:
minx ∈ X − EFI(x) − λ(EI(x)μ(x) + P(x)σ̂f(x))
PFI
:
minx ∈ X − PFI(x)
where PFI is the probability of improvement : PFI = PI × P, with PI being the probability of improvement which is the probability that the objective decreases from the best known value at a given point.
SGTELIB_MODEL_DEFINITION TYPE KRIGING
SGTELIB_MODEL_FORMULATION EFIC
The two lines above define a surrogate subproblem based on the EFIC formulation that will involve kriging models.
SGTELIB_MODEL_DIVERSIFICATION
.Default value : 0.01.
SGTELIB_MODEL_DEFINITION TYPE ENSEMBLE
SGTELIB_MODEL_FORMULATION FSP
SGTELIB_MODEL_DIVERSIFICATION 0.1
The three lines above define a surrogate subproblem based on the FSP formulation with an exploration parameter equals to 0.1 that will involve ensemble models.
References