MDLEs: Function to create maximin distance level expanded arrays

View source: R/MDLEs.R

MDLEsR Documentation

Function to create maximin distance level expanded arrays

Description

Maximin distance level expansion similar to Xiao and Xu is implemented, using an optimization algorithm that is less demanding than the TA algorithm of Xiao and Xu

Usage

MDLEs(
  oa,
  ell,
  noptim.rounds = 1,
  optimize = TRUE,
  noptim.oa = 1,
  dmethod = "manhattan",
  p = 50
)

Arguments

oa

matrix or data.frame that contains an ingoing symmetric OA. Levels must be denoted as 0 to s-1 or as 1 to s.

ell

the multiplier for each number of levels

noptim.rounds

the number of optimization rounds; optimization may take very long, therefore the default is 1, although more rounds are beneficial.

optimize

logical: if FALSE, suppress optimization of expansion levels

noptim.oa

integer: number of optimization rounds applied to initial oa itself before starting expansion

dmethod

distance method for phi_p, "manhattan" (default) or "euclidean"

p

p for phi_p (the larger, the closer to maximin distance)

Details

The ingoing oa is possibly optimized for space-filling, using function phi_optimize with noptim.oa optimization rounds. The expansions themselves are again optimized for improving phi_p, using an algorithm which is a variant of Weng (2014), instead of the more powerful but also much more demanding algorithm proposed by Xiao and Xu.

Value

A matrix of class MDLE with attributes

phi_p

the phi_p value that was achieved

type

MDLE

optimized

logical: same as the input parameter

call

the call that produced the matrix

permpick

matrix of lists of length s with elements from 0 to ell-1;
matrix element (i,j) contains the sequence of replacements used in function DcFromDp for constructing the level expansion of the ith level in the jth column

Author(s)

Ulrike Groemping

References

For full detail, see SOAs-package.

Weng (2014)
Xiao and Xu (2018)

Examples

dim(aus <- MDLEs(DoE.base::L16.4.5, 2, noptim.rounds = 1))
permpicks <- attr(aus, "permpick")
## for people interested in internal workings:
## the code below produces the same matrix as MDLEs
SOAs:::DcFromDp(L16.4.5-1, 4,2, lapply(1:5, function(obj) permpicks[,obj]))

SOAs documentation built on Aug. 11, 2023, 1:09 a.m.