Learn R Programming

blockedFF (version 0.1.0)

dol3: Generate efficient 3-Level Fractional Factorial Designs Using Beam Search

Description

This function constructs efficient 3-level unblocked and blocked fractional factorial designs using an iterative beam-search generator selection algorithm.

Usage

dol3(
  n,
  k,
  max_results = 20,
  top_k_block = 3,
  beam_width = 3000,
  verbose = TRUE,
  time_limit = 600
)

Value

A list (invisible) of the best-ranked 3-level fractional factorial designs.

Each list element contains:

  • generators: list of generator coefficient vectors,

  • generators_str: Defining contrast expressions,

  • design: final design matrix with renamed factor levels,

  • A: word-length pattern \((A_3, A_4, A_5, A_6)\).

When verbose = TRUE, the function additionally prints:

  • canonical generator expressions,

  • design matrix,

  • alias structure (main, 2-factor interactions),

  • automatically generated blocked design with confounding summary.

Arguments

n

Integer. Total number of factors (base + generated).

k

Integer. Number of dependent generator columns to add i.e. size of fraction. The number of base factors is r = n - k.

max_results

Integer. Maximum number of final best-ranked designs returned. Default: 20.

top_k_block

Integer. Number of top block generators to consider when automatically selecting block structures. Default: 3.

beam_width

Integer. Maximum beam width used during the beam search. Default: 3000.

verbose

Logical. If TRUE, prints ranked designs, WL patterns, alias structures, and blocked designs. Default: TRUE.

time_limit

Numeric. Maximum elapsed time (seconds) allowed for the beam-search expansion. Default: 600.

Details

It evaluates candidate generators using moment-based proxy criteria (\(A_3\), \(A_4\), \(A_5\), \(A_6\)) and returns the best-ranked designs along with:

  • generator coefficient vectors,

  • canonical ternary design keys,

  • full design matrices,

  • word-length patterns,

  • alias structure (main + 2-factor),

  • automatically determined block structures.

This is the 3-level analogue of dol2(), supporting generation of 3-level fractional factorial design generation.

Internally, dol3() performs:

  • ternary (0/1/2) grid generation for base factors,

  • dynamic enumeration of canonical generator coefficient vectors,

  • computation of moment based K statistics and \(A_3-A_6\),

  • canonical design key generation to avoid duplication,

  • beam-search pruning with user-specified width,

  • automatic selection of efficient 3-level block generators.

The generated designs are well suited for industrial, agricultural, and scientific investigations that demand high-resolution three-level fractional factorial structures with optional blocking. These designs efficiently accommodate multi-level factors, enable precise estimation of main effects and critical interaction terms, and offer flexibility for managing heterogeneity through block formation. As a result, they provide a robust and resource-efficient framework for complex experimental systems conducted in field or laboratory settings.

References

Xu, H. (2005). A catalogue of three-level regular fractional factorial designs. *Metrika*, 62, 259-281.

Examples

Run this code
# \donttest{
# Generate a 3-level fractional factorial design:
res3 <- dol3(n = 5, k = 2, max_results = 3, verbose = TRUE)

# View the best-ranked design:
res3[[1]]$design
res3[[1]]$generators_str
res3[[1]]$A   # Word length pattern A3-A6
# }

Run the code above in your browser using DataLab