I have three factors F1, F2, F3
with 3, 3, 6
corresponding levels and I want to limit the number of their combination for experimental design.
As far as I have seen by searching, this can be done with pyDOE2
Generalized Subset Design like:
import pyDOE2
levels = [3, 3, 6]
reduction = 3
result = pyDOE2.gsd(levels, reduction)
result.data.tolist()
>>>[[0, 0, 0],
[0, 0, 3],
[0, 1, 1],
[0, 1, 4],
[0, 2, 2],
[0, 2, 5],
[1, 0, 1],
[1, 0, 4],
[1, 1, 2],
[1, 1, 5],
[1, 2, 0],
[1, 2, 3],
[2, 0, 2],
[2, 0, 5],
[2, 1, 0],
[2, 1, 3],
[2, 2, 1],
[2, 2, 4]]
However, what I would like to do is to set some constraints on the possible combinations of the factors levels. For example, I don't want combinations that include F1L1 with F2L3 or F2L1 with F3L2 (F for factor and L for level). Is there a way to get the optimal reduced combinations taking in consideration these constraints?
This is not a pyDOE2 specific question (any other library which can achieve this would be ok) but I would like to do it with python.