maximin.optim: Optimize a design based on maximin or reciprocal distance...

View source: R/maximin.R

maximin.optimR Documentation

Optimize a design based on maximin or reciprocal distance criterion

Description

This function optimizes a design by continuous optimization based on reciprocal distance criterion. A simulated annealing step can be enabled in the end to directly optimize the maximin distance criterion.

Usage

maximin.optim(D.ini, iteration = 10, sa = FALSE, find.best.ini = FALSE)

Arguments

D.ini

the initial design.

iteration

number iterations for L-BFGS-B algorithm.

sa

whether to use simulated annealing in the end. If sa=TRUE, continuous optimization is first used to optimize the reciprocal distance criterion and then SA is performed to optimize the maximin criterion.

find.best.ini

whether to generate other initial designs. If find.best.ini=TRUE, it will first find the closest full factorial design in terms of size to D.ini. If the size of the full factorial design is larger than D.ini, design points will be removed by the maximin.remove function. If the the size of the full factorial design is smaller than D.ini, then we will augment the design by maximin.augment. In this case, we have two different candidate set to choose from: one is a full factorial design with level+1 and another is Sobol points. All initial designs are optimized and the best is returned.

Details

maximin.optim optimizes a design by L-BFGS-B algorithm (Liu and Nocedal 1989) based on the reciprocal distance criterion. A simulated annealing step can be enabled in the end to directly optimize the maximin distance criterion. Optimization detail can be found in continuous.optim. We also provide the option to try other initial designs generated internally besides the D.ini provided by the user (see argument find.best.ini).

Value

design

the optimized design.

D.ini

initial designs. If find.best.ini=TRUE, a list will be returned containing all the initial designs considered.

References

Liu, D. C., & Nocedal, J. (1989). On the limited memory BFGS method for large scale optimization. Mathematical programming, 45(1), 503-528.

Examples

n = 20
p = 3
D = maximinLHD(n, p)$design
D = maximin.optim(D, sa=FALSE)$design
# D = maximin.optim(D, sa=TRUE)$design # Let sa=TRUE only when the n and p is not large.

SFDesign documentation built on June 22, 2025, 1:06 a.m.