Hi @Ed_F,
It sounds like a good idea to try a simple Mixture design to check the limits and possible constraints of your experimental space before augmenting this initial design into a more sophisticated/detailed one. Here are my responses/comments to your two questions :
Script for proposed design :
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Categorical, {"A", "B"}, "Family1", 0 ),
Add Factor( Categorical, {"C", "D"}, "Family 2", 0 ),
Add Factor( Categorical, {"E", "F", "G", "H", "I", "J"}, "Family3", 0 ),
Add Factor( Mixture, 0, 1, "XF1", 0 ), Add Factor( Mixture, 0, 1, "XF2", 0 ),
Add Factor( Mixture, 0, 1, "XF3", 0 ), Add Factor(
Mixture, 0, 1, "XF4 (Glycerine)", 0
), Set Random Seed( 1288978935 ), Number of Starts( 1406 ), 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( {1, 1}, {4, 1} ),
Add Term( {2, 1}, {5, 1} ), Add Term( {3, 1}, {6, 1} ),
Add Term( {4, 1}, {5, 1} ), Add Term( {4, 1}, {6, 1} ),
Add Term( {4, 1}, {7, 1} ), Add Term( {5, 1}, {6, 1} ),
Add Term( {5, 1}, {7, 1} ), Add Term( {6, 1}, {7, 1} ),
Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 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( {2, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {4, 1} ), Add Alias Term( {2, 1}, {6, 1} ),
Add Alias Term( {2, 1}, {7, 1} ), Add Alias Term( {3, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {5, 1} ), Add Alias Term( {3, 1}, {7, 1} ),
Set Sample Size( 30 ), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
Set Run Order( Randomize ), Make Table}
);
If you are able to reduce the number of levels for Family3 to 3 different raw materials, you could end up with a similar design only with 20 runs :
Script for proposed design :
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Categorical, {"A", "B"}, "Family1", 0 ),
Add Factor( Categorical, {"C", "D"}, "Family 2", 0 ),
Add Factor( Categorical, {"E", "F", "G", "H", "I", "J"}, "Family3", 0 ),
Add Factor( Mixture, 0, 1, "XF1", 0 ), Add Factor( Mixture, 0, 1, "XF2", 0 ),
Add Factor( Mixture, 0, 1, "XF3", 0 ), Add Factor(
Mixture, 0, 1, "XF4 (Glycerine)", 0
), Set Random Seed( 1500506171 ), Number of Starts( 1406 ), 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 Potential Term( {1, 1}, {4, 1} ),
Add Potential Term( {2, 1}, {5, 1} ), Add Potential Term( {3, 1}, {6, 1} ),
Add Term( {4, 1}, {5, 1} ), Add Term( {4, 1}, {6, 1} ),
Add Term( {4, 1}, {7, 1} ), Add Term( {5, 1}, {6, 1} ),
Add Term( {5, 1}, {7, 1} ), Add Term( {6, 1}, {7, 1} ),
Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 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( {2, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {4, 1} ), Add Alias Term( {2, 1}, {6, 1} ),
Add Alias Term( {2, 1}, {7, 1} ), Add Alias Term( {3, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {5, 1} ), Add Alias Term( {3, 1}, {7, 1} ),
Set Sample Size( 20 ), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
Set Run Order( Randomize ), Make Table}
);
2. There are many ways to create constraints for designs in JMP. I would recommend reading the great article by @Jed_Campbell Demystifying Factor Constraints.
You can use the Custom Design to Define Factor Constraints, or if you have very complex constraints situation, use a Candidate Set approach to build your dataset of possible candidate points, and then use the Custom Design to select the most informative and relevant points of this dataset based on your model and design specifications. Some talks and presentations about this Candidate Set approach :
What is a covariate in design of experiments?
Developer Tutorial - Handling Covariates Effectively when Designing Experiments
Candidate Set Designs: Tailoring DOE Constraints to the Problem (2021-EU-30MP-784)
Hope this first answer and discussion starter may help you,
Hi @Victor_G ,
Thank you for your answer and sorry for the late reply...! I'll dig into that and come back to you asap. Thank you again, and best wishes for 2025 !
EF