Usage
optim.auglag(fn, B, start = 10, end = 100, Xstart = NULL,
ab = c(3/2, 4), lambda = rep(1, ncol(B)), rho = 1/2,
urate = 10, ncandf = function(t) { t }, dg.start = c(0.1, 1e-06),
dlim = sqrt(ncol(B)) * c(1/100, 10), obj.norm = 1,
tol = list(ei = 1e-05, ey = 0.05, its = 10), nomax = FALSE,
N = 1000, plotprog = FALSE, verb = 2, ...)Arguments
fn
function of a single, vector-valued, input (x) returning a list
with elements "obj" containing the (scalar) objective value and "c"
returning a vector of evaluations of the (multiple) constrain
B
2-column matrix describing the bounding box. The number of rows
of the matrix determines the input dimension
(length(x) in fn(x)); the first column gives
lower bounds and the second gives u
start
positive integer giving the number of random starting locations before
sequential design (for optimization) is performed; start >= 6 is
recommended unless Xstart is non-NULL; in the current version
the s
end
positive integer giving the total number of evaluations/trials in the
optimization; must have end > start
Xstart
optional matrix of starting design locations in lieu of, or in addition to,
start random ones; recommend nrow(Xstart) + start >= 6; also must
have ncol(Xstart) = nrow(B)
ab
prior parameters; see darg describing the prior used on the
lengthscale parameter during emulation(s) for the constraints lambda
m-dimensional initial Lagrangian parameter for m-constraints
rho
positive scalar initial quadratic penalty parameter in the augmented Lagrangian
urate
positive integer indicating how many optimization trials should pass before
each MLE/MAP update is performed for estimators for GP correlation lengthscale
parameter(s)
ncandf
function taking a single integer indicating the optimization trial number t, where
start < t <= end<="" code="">, and returning the number of search candidates (e.g., for
expected improvement calculations) at round t; th=>
dg.start
2-vector giving starting values for the lengthscale and nugget parameters
of the GP surrogate model(s) for constraints
dlim
2-vector giving bounds for the lengthscale parameter(s) under MLE/MAP inference,
thereby augmenting the prior specification in ab
obj.norm
scalar indicating the relationship between the sum of the inputs sum(x)
to fn and the output fn(x)$obj$; note that at this time only linear
objectives are supported by the code - more details below
tol
list containing entries "ei", "ey", and "its" together
describing the search method and the criteria used to determine approximate convergence
of the inner loop of the augmented Lagrangian search
nomax
one of c{0,1,2} indicating if the max should be removed from the
augmented lagrangian (AL): not at all (0),
in the evaluation of EI or EY (1), or also in the update of lambda (2);
see the description for details
N
positive scalar integer indicating the number of Monte Carlo samples to be
used for calculating EI and EY
plotprog
logical indicating if progress plots should be made after each inner iteration;
the plots show three panels tracking the best valid objective, the EI or EY surface
over the first two input variables (requires
verb
positive scalar integer indicating the verbosity level; the larger the value the
more that is printed to the screen
...
additional arguments passed to fn