Modification of the function integration_design
from the package KrigInv
to
be usable for SUR-based optimization with constraints.
integration_design_cst(
integcontrol = NULL,
lower,
upper,
model.fun = NULL,
model.constraint = NULL,
equality = FALSE,
critcontrol = NULL,
min.prob = 0.001
)
Optional list specifying the procedure to build the integration points and weights.
Many options are possible.
A) If nothing is specified, 100*d points are chosen using the Sobol sequence.
B) One can directly set the field integration.points
(p * d matrix) for prespecified integration points.
In this case these integration points and the corresponding vector integration.weights
will be used
for all the iterations of the algorithm.
C) If the field integration.points
is not set then the integration points are renewed at each iteration.
In that case one can control the number of integration points n.points
(default: 100*d) and a specific
distribution distrib
. Possible values for distrib are: "sobol
", "MC
" and "SUR
"
(default: "sobol
").
C.1) The choice "sobol
" corresponds to integration points chosen with the Sobol sequence in dimension d (uniform weight).
C.2) The choice "MC
" corresponds to points chosen randomly, uniformly on the domain.
C.3) The choice "SUR
" corresponds to importance sampling distributions (unequal weights).
When important sampling procedures are chosen, n.points
points are chosen using importance sampling among a discrete
set of n.candidates
points (default: n.points
*10) which are distributed according to a distribution init.distrib
(default: "sobol
"). Possible values for init.distrib
are the space filling distributions "sobol
" and "MC
"
or an user defined distribution "spec
". The "sobol
" and "MC
" choices correspond to quasi random and random points
in the domain. If the "spec
" value is chosen the user must fill in manually the field init.distrib.spec
to specify
himself a n.candidates * d matrix of points in dimension d.
Vector containing the lower bounds of the design space.
Vector containing the upper bounds of the design space.
either one or a list of objects of class km
, one for each constraint function,
either FALSE
if all constraints are for inequalities, else a vector of boolean indicating which are equalities
optional list of parameters (see crit_SUR_cst
); here only the component tolConstraints
is used.
This argument applies only when importance sampling distributions are chosen.
For numerical reasons we give a minimum probability for a point to
belong to the importance sample. This avoids probabilities equal to zero and importance sampling
weights equal to infinity. In an importance sample of M points, the maximum weight becomes
1/min.prob * 1/M
.
A list with components:
integration.points
p x d matrix of p points used for the numerical calculation of integrals
integration.weights
a vector of size p corresponding to the weight of each point. If all the points are equally
weighted, integration.weights is set to NULL
Chevalier C., Picheny V., Ginsbourger D. (2012), The KrigInv package: An efficient and user-friendly R implementation of Kriging-based inversion algorithms, Computational Statistics and Data Analysis, 71, 1021-1034.
Chevalier C., Bect J., Ginsbourger D., Vazquez E., Picheny V., Richet Y. (2011), Fast parallel kriging-based stepwise uncertainty reduction with application to the identification of an excursion set, Technometrics, 56(4), 455-465.
V. Picheny (2014), A stepwise uncertainty reduction approach to constrained global optimization, Proceedings of the 17th International Conference on Artificial Intelligence and Statistics, JMLR W&CP 33, 787-795.
crit_SUR_cst
KrigInv integration_design