https://github.com/abohyndoe/enumeration_fatld

Code to reproduce the results from our paper "Enumeration of regular fractional factorial designs with four-level and two-level factors"

https://github.com/abohyndoe/enumeration_fatld

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Code to reproduce the results from our paper "Enumeration of regular fractional factorial designs with four-level and two-level factors"

Basic Info
  • Host: GitHub
  • Owner: ABohynDOE
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 105 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Created over 3 years ago · Last pushed over 3 years ago

https://github.com/ABohynDOE/enumeration_fatld/blob/main/

# Enumeration of regular fractional factorial designs with four-level and two-level factors

This repository holds the code to reproduce the results from our paper ["Enumeration of regular fractional factorial designs with four-level and two-level factors"](https://arxiv.org/abs/2303.05811).

The code in this repository includes:

- The three enumeration procedures mentioned in the paper:
  - ST-NAUTY
  - DOP-NAUTY
  - MCS-Regular
- A script to generate the data and the figures of the three test cases presented in the paper.
- A script to generate the $\boldsymbol{\delta}^{3}_{m,n}$ on the $\mathbf{A}_3$ vectors used for the bounded enumeration of 64-run designs of resolution $III$.

To use the files in this project, first install the pipenv environement associated with it.
Assuming pipenv is installed on your machine (if follow [these instructions](https://pipenv-fork.readthedocs.io/en/latest/basics.html#)), run the following command:

```bash
pipenv install
pipenv shell
```

## Enumeration procedures: example of usage

The following example shows how to enumerate all 32-run designs of resolution III with one four-level factor and 6 two-level factors.

### Root design

You first need to initialize the *root* design, i.e. the design that contains the four-level factor and all the remaining basic two-level factors.
In this example, there are $log_2(32)-2*m=5-2=3$ remaining basic factors, so the root design is a $4^12^3$ design.
To generate the root design for a design with `32` runs, `1` four-level factor, with resolution `3` and using the search table (`ST`) method, run `init3.py` with the following options:

```bash
python init3.py -l 32 1 3 ST
```

### Extending the root design

To obtain a $4^12^6$ design, we still need to add three two-level factors to the root design.
To do this using the search table method, run the `extend3_st.py` script:

```bash
python extend3_st.py -l 32 1 4 3
python extend3_st.py -l 32 1 5 3
python extend3_st.py -l 32 1 6 3
```

or, for larger designs, use a `for` loop:

```bash
for i in {4..10}
do 
    python extend3_st.py -l 32 1 $i 3
done
```

The `-l` flag in the procedure means that logs are created, keeping track of the number of parents, candidates, and representatives.

## Test cases

Figure 1 of the paper display three graphs that illustrate the differences in running time between the three enumeration procedures.
To obtain the data used to generate the three graphs, run `test.sh`.
Then, to generate the three graphs, run the following command:

```bash
Rscript test_cases_individual_graph.R
```

The figures will be generated in the `figures/` folder.

## Bounds on the $\mathbf{A}_3$ values

To obtain the bounds on the $\mathbf{A}_3$ values for 64-run designs of resolution $III$, run `A3_bounds/reduced_bound.py`.
This will generate three files containing the bound values for $4^m2^{n}$ designs with $m=1,2,3$.
The files are located in the `A3_bounds` folder.

Owner

  • Name: Alexandre Bohyn
  • Login: ABohynDOE
  • Kind: user
  • Location: Heverlee, Belgium
  • Company: KULeuven

PhD student in design of experiments: Design of experiments strategies for robustifying cell-based assays

GitHub Events

Total
Last Year