Hi everyone,
I'm working on a DOE involving four chemicals (A, B, C, and D) and need to set constraints where the components are relative to each other. Here are the specific constraints:
Is it possible to enter these constraints in JMP? If so, how can I set this up?
Thanks in advance for your help!
Hi @NimaHojat,
Welcome in the Community !
To better understand how to set up factors constraints like the one you want, I would highly recommend reading the great article @Jed_Campbell wrote about constraints : Demystifying Factor Constraints
Concerning your specific use case and based on the limited information available, it seems you're doing a mixture design (since you are more interested about ratios/relative quantities, your total sum of the components being equal to 100% / 1).
You can use Custom Designs to create your specific mixture design with the constraints :
1 * :A + -0.274 * :B <= 0
-0.03 * :B + 1 * :C + -0.03 * :d :D <= 0
-0.25 * :B + 1 * :d <= 0
You can then create your design, and if needed you can check your constraints have been respected by creating formula in your data table corresponding to the ratios/comparison you have between your mixture factors :
Here is the script to reproduce the design shown here :
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ), Add Factor( Mixture, 0, 1, "A", 0 ),
Add Factor( Mixture, 0, 1, "B", 0 ), Add Factor( Mixture, 0, 1, "C", 0 ),
Add Factor( Mixture, 0, 1, "D", 0 ), Set Random Seed( 1982181060 ),
Number of Starts( 49914 ), Add Constraint(
[1 -0.274 0 0 0, 0 -0.03 1 -0.03 0, 0 -0.25 0 1 0]
), Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ),
Add Term( {4, 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( {2, 1}, {3, 1} ), Add Alias Term( {2, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {4, 1} ), Set Sample Size( 10 ), Simulate Responses( 0 ),
Save X Matrix( 0 ), Make Design, Set Run Order( Randomize ), Make Table}
)
And I attach the datatable with the design used for illustration here if you're more familiar with this than JSL script.
I hope this answer will help you,
Hi @NimaHojat,
Welcome in the Community !
To better understand how to set up factors constraints like the one you want, I would highly recommend reading the great article @Jed_Campbell wrote about constraints : Demystifying Factor Constraints
Concerning your specific use case and based on the limited information available, it seems you're doing a mixture design (since you are more interested about ratios/relative quantities, your total sum of the components being equal to 100% / 1).
You can use Custom Designs to create your specific mixture design with the constraints :
1 * :A + -0.274 * :B <= 0
-0.03 * :B + 1 * :C + -0.03 * :d :D <= 0
-0.25 * :B + 1 * :d <= 0
You can then create your design, and if needed you can check your constraints have been respected by creating formula in your data table corresponding to the ratios/comparison you have between your mixture factors :
Here is the script to reproduce the design shown here :
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ), Add Factor( Mixture, 0, 1, "A", 0 ),
Add Factor( Mixture, 0, 1, "B", 0 ), Add Factor( Mixture, 0, 1, "C", 0 ),
Add Factor( Mixture, 0, 1, "D", 0 ), Set Random Seed( 1982181060 ),
Number of Starts( 49914 ), Add Constraint(
[1 -0.274 0 0 0, 0 -0.03 1 -0.03 0, 0 -0.25 0 1 0]
), Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ),
Add Term( {4, 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( {2, 1}, {3, 1} ), Add Alias Term( {2, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {4, 1} ), Set Sample Size( 10 ), Simulate Responses( 0 ),
Save X Matrix( 0 ), Make Design, Set Run Order( Randomize ), Make Table}
)
And I attach the datatable with the design used for illustration here if you're more familiar with this than JSL script.
I hope this answer will help you,
Thank you Victor, that's really useful :)