For this reason, we planned to use only the powdered version of the dye, and concentrate on yellow and blue colors only. We also want to allow for the possibility of adding more vinegar, using acetone, and permit keeping the liquid heated during the dyeing.
How to handle the liquids?
We want the combination of water, vinegar and acetone to result in 1 cup of liquid. This would suggest that I add these factors to the design as mixture factors. However, water can be treated as a slack variable: I want at least half of the liquid composed of water, and I don’t mind if some runs are entirely water. I’m really curious in this experiment if there is any benefit in using acetone or vinegar. I ultimately decided to include vinegar and acetone as (constrained) continuous factors.
I still wanted to vary the time and dye amount, so here is our final list of factors:
Dye color (blue/yellow)
Dye amount (1 tsp/2 tsp)
Additional heat (no/yes)
Time (15 minutes/30 minutes )
As mentioned above, we want at least half of the liquid to be water. This necessitated adding a constraint so that vinegar + acetone is not more than 50% of the liquid. Because the boiling point of acetone is so low, I also wanted to not add additional heat when there was acetone.
This is straightforward to do using Disallowed Combinations, particularly with the Disallowed Combinations Filter in JMP 12. To disallow the vinegar and acetone taking up more than half of the liquid, I select acetone and vinegar from the filter, and right-clicked one of the two factor names, choosing Combine -> Sum.
And, I used the combined variable to disallow values greater than 50.
I wanted additional heat to disallow acetone > 0, but the filter will give acetone >=0. A handy tip is that if you use the Disallowed Combinations Filter and use Save Script to Script Window, the disallowed combination from the filter is converted into a Disallowed Combinations Script. To handle the acetone and heat issue, I selected additional heat = yes, and put in a small number (0.1) for acetone simply to get the structure of the disallowed combination.
I manually changed the value for acetone to disallow values greater than 0 in the script for when there is additional heat, and reran the script. I’ve also found this tip useful for creating lengthy disallowed combinations where I have similar patterns and just want to change variable names.
In the previous experiment, I included the vehicles in the design using covariates. This time, I could treat them as random blocks in the design phase, which can be done under the Design Generation tab before making the design.
I budgeted 16 runs in random blocks of size 4 (I had four of four different vehicles). In addition to the main effects, I added the interaction for vinegar and acetone, since it allowed me to consider cases where I had some of both mixed with the water. I could now make the design, but…
Choice of optimality criterion
The default optimality criterion for this case would be D-optimality. However, the two constraints for this design are going to cause issues with effects being correlated – not only those in the model, but those that I have not included. I can look at the impact of effects listed in the Alias Terms outline and how they can bias the effects in my model by looking at the Alias Matrix after the design is created.
After some discussion with Bradley Jones and some design evaluations, I ultimately decided to go with an alias optimal design. The estimation efficiency was similar for both designs, with the confidence interval for additional heat about 40% larger (due to the restriction with acetone) than an orthogonal design, while the confidence interval for vinegar and acetone terms are about 160%-180% larger (not surprising because of the constraint).
The D-efficiency of the alias optimal and D-optimal for the fixed effects was about 64%, while the sum of squared terms in the alias matrix was higher in the D-optimal design (around 13 vs. 10). This means the alias optimal design provides more protection for estimating the main effects in the case that important two-factor interactions are missing from the model. I can choose this option from the red triangle menu by selecting Optimality Criterion -> Make Alias Optimal Design.
Now I can set the “Group runs into random blocks of size:” to 4, and the number of runs to 16:
I’ll share the results next time, but I can say some did not turn out well, such as melted plastic on the base of the left car:
On the other hand, others were more successful than we had hoped: