Hi @angela,
This topic seems similar to this one, dealing with "Mixtures of Mixtures" : How to have a mixture of mixtures design - JMP User Community. Two options may be possible :
- Work with individual components from your formulation "groups" : clear overview of the impact of each individual constituants, but may represent a very large number of experiments, or
- Work with pre-tested/pre-defined group mixtures : a lot less experiments needed, but you may lose some informations in the process, for example interactions between individual components.
Since you're interested in screening factors from the experiment, I have two questions :
- Is a Mixture design the only option (what I mean here is that the different components are ALWAYS introduced in the mixture and their quantities relative to other parts of the formulation ?) ? Trying to screen factors with a mixture design may be complicated and results in a large number of experiments, hence the question.
- Are all constraints necessary ? By reducing the experimental space, some informations may be missed.
I tried to test a D-optimal design with all your constraints, but it seems I can't introduce the constraint 4 when ingredients from group G are used as mixture factors. The design without this constraint would represent 105 experiments and look like this (script here to test it, datatable included if it is more convenient for you):
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ), Add Factor( Mixture, 0, 1, "S1", 0 ),
Add Factor( Mixture, 0, 1, "S2", 0 ), Add Factor( Mixture, 0, 1, "F1", 0 ),
Add Factor( Mixture, 0, 1, "F2", 0 ), Add Factor( Mixture, 0, 1, "T1", 0 ),
Add Factor( Mixture, 0, 1, "T2", 0 ), Add Factor( Mixture, 0, 1, "T3", 0 ),
Add Factor( Mixture, 0, 1, "T4", 0 ), Add Factor( Mixture, 0, 1, "H1", 0 ),
Add Factor( Mixture, 0, 1, "H2", 0 ), Add Factor( Mixture, 0, 1, "H3", 0 ),
Add Factor( Mixture, 0, 1, "G1", 0 ), Add Factor( Mixture, 0, 1, "G2", 0 ),
Add Factor( Mixture, 0, 1, "G3", 0 ), Add Factor(
Continuous, 1.5, 3, "Water", 0
), Set Random Seed( 800692047 ), Number of Starts( 2 ),
Add Constraint(
[-1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.35,
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0.55,
0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 -0.24,
0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0.34,
0 0 0 0 -1 -1 -1 -1 0 0 0 0 0 0 0 -0.07,
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0.14,
0 0 0 0 0 0 0 0 0 0 0 -1 -1 -1 0 -0.001,
0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0.015]
), Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ),
Add Term( {4, 1} ), Add Term( {5, 1} ), Add Term( {6, 1} ), Add Term( {7, 1} ),
Add Term( {8, 1} ), Add Term( {9, 1} ), Add Term( {10, 1} ), Add Term( {11, 1} ),
Add Term( {12, 1} ), Add Term( {13, 1} ), Add Term( {14, 1} ),
Add Term( {15, 1} ), Add Alias Term( {1, 1}, {2, 1} ),
Add Alias Term( {1, 1}, {3, 1} ), Add Alias Term( {1, 1}, {4, 1} ),
Add Alias Term( {1, 1}, {5, 1} ), Add Alias Term( {1, 1}, {6, 1} ),
Add Alias Term( {1, 1}, {7, 1} ), Add Alias Term( {1, 1}, {8, 1} ),
Add Alias Term( {1, 1}, {9, 1} ), Add Alias Term( {1, 1}, {10, 1} ),
Add Alias Term( {1, 1}, {11, 1} ), Add Alias Term( {1, 1}, {12, 1} ),
Add Alias Term( {1, 1}, {13, 1} ), Add Alias Term( {1, 1}, {14, 1} ),
Add Alias Term( {1, 1}, {15, 1} ), Add Alias Term( {2, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {4, 1} ), Add Alias Term( {2, 1}, {5, 1} ),
Add Alias Term( {2, 1}, {6, 1} ), Add Alias Term( {2, 1}, {7, 1} ),
Add Alias Term( {2, 1}, {8, 1} ), Add Alias Term( {2, 1}, {9, 1} ),
Add Alias Term( {2, 1}, {10, 1} ), Add Alias Term( {2, 1}, {11, 1} ),
Add Alias Term( {2, 1}, {12, 1} ), Add Alias Term( {2, 1}, {13, 1} ),
Add Alias Term( {2, 1}, {14, 1} ), Add Alias Term( {2, 1}, {15, 1} ),
Add Alias Term( {3, 1}, {4, 1} ), Add Alias Term( {3, 1}, {5, 1} ),
Add Alias Term( {3, 1}, {6, 1} ), Add Alias Term( {3, 1}, {7, 1} ),
Add Alias Term( {3, 1}, {8, 1} ), Add Alias Term( {3, 1}, {9, 1} ),
Add Alias Term( {3, 1}, {10, 1} ), Add Alias Term( {3, 1}, {11, 1} ),
Add Alias Term( {3, 1}, {12, 1} ), Add Alias Term( {3, 1}, {13, 1} ),
Add Alias Term( {3, 1}, {14, 1} ), Add Alias Term( {3, 1}, {15, 1} ),
Add Alias Term( {4, 1}, {5, 1} ), Add Alias Term( {4, 1}, {6, 1} ),
Add Alias Term( {4, 1}, {7, 1} ), Add Alias Term( {4, 1}, {8, 1} ),
Add Alias Term( {4, 1}, {9, 1} ), Add Alias Term( {4, 1}, {10, 1} ),
Add Alias Term( {4, 1}, {11, 1} ), Add Alias Term( {4, 1}, {12, 1} ),
Add Alias Term( {4, 1}, {13, 1} ), Add Alias Term( {4, 1}, {14, 1} ),
Add Alias Term( {4, 1}, {15, 1} ), Add Alias Term( {5, 1}, {6, 1} ),
Add Alias Term( {5, 1}, {7, 1} ), Add Alias Term( {5, 1}, {8, 1} ),
Add Alias Term( {5, 1}, {9, 1} ), Add Alias Term( {5, 1}, {10, 1} ),
Add Alias Term( {5, 1}, {11, 1} ), Add Alias Term( {5, 1}, {12, 1} ),
Add Alias Term( {5, 1}, {13, 1} ), Add Alias Term( {5, 1}, {14, 1} ),
Add Alias Term( {5, 1}, {15, 1} ), Add Alias Term( {6, 1}, {7, 1} ),
Add Alias Term( {6, 1}, {8, 1} ), Add Alias Term( {6, 1}, {9, 1} ),
Add Alias Term( {6, 1}, {10, 1} ), Add Alias Term( {6, 1}, {11, 1} ),
Add Alias Term( {6, 1}, {12, 1} ), Add Alias Term( {6, 1}, {13, 1} ),
Add Alias Term( {6, 1}, {14, 1} ), Add Alias Term( {6, 1}, {15, 1} ),
Add Alias Term( {7, 1}, {8, 1} ), Add Alias Term( {7, 1}, {9, 1} ),
Add Alias Term( {7, 1}, {10, 1} ), Add Alias Term( {7, 1}, {11, 1} ),
Add Alias Term( {7, 1}, {12, 1} ), Add Alias Term( {7, 1}, {13, 1} ),
Add Alias Term( {7, 1}, {14, 1} ), Add Alias Term( {7, 1}, {15, 1} ),
Add Alias Term( {8, 1}, {9, 1} ), Add Alias Term( {8, 1}, {10, 1} ),
Add Alias Term( {8, 1}, {11, 1} ), Add Alias Term( {8, 1}, {12, 1} ),
Add Alias Term( {8, 1}, {13, 1} ), Add Alias Term( {8, 1}, {14, 1} ),
Add Alias Term( {8, 1}, {15, 1} ), Add Alias Term( {9, 1}, {10, 1} ),
Add Alias Term( {9, 1}, {11, 1} ), Add Alias Term( {9, 1}, {12, 1} ),
Add Alias Term( {9, 1}, {13, 1} ), Add Alias Term( {9, 1}, {14, 1} ),
Add Alias Term( {9, 1}, {15, 1} ), Add Alias Term( {10, 1}, {11, 1} ),
Add Alias Term( {10, 1}, {12, 1} ), Add Alias Term( {10, 1}, {13, 1} ),
Add Alias Term( {10, 1}, {14, 1} ), Add Alias Term( {10, 1}, {15, 1} ),
Add Alias Term( {11, 1}, {12, 1} ), Add Alias Term( {11, 1}, {13, 1} ),
Add Alias Term( {11, 1}, {14, 1} ), Add Alias Term( {11, 1}, {15, 1} ),
Add Alias Term( {12, 1}, {13, 1} ), Add Alias Term( {12, 1}, {14, 1} ),
Add Alias Term( {12, 1}, {15, 1} ), Add Alias Term( {13, 1}, {14, 1} ),
Add Alias Term( {13, 1}, {15, 1} ), Add Alias Term( {14, 1}, {15, 1} ),
Set Sample Size( 105 ), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design
}
);
Since ingredients from group G have a very low concentration compared to other ingredients groups, one workaround may be to consider these ingredients as continuous factors in order to introduce your constraint 4 (not yet tested, will try later when I will have more time).
These are just some inputs to get to know your topic better, so that other members can join the discussions and provide relevant ideas.
Victor GUILLER
L'Oréal Data & Analytics
"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)