I have an idea. Create formula column that counts the number of active componenents for each mixture. I did one for the Yarn Elongation sample data like this:
If( :Name( "ethylene (x1)" ) == 0,
0,
1
) + If( :Name( "styrene (x2)" ) == 0,
0,
1
) + If( :Name( "propylene (x3)" ) == 0,
0,
1
)
Then, do the optimization in Graph > Profiler. Include the prediction formula from your model and the formula column you just created in the "Y, Prediction Formula" input. Set the desirabilities for your functions from the Optimization and Desirability menu. For the Yarn Elongation data, I set a desirability function to target 1 active component like this:
In the end, I was able to get this result from the optimization with the constraint of no more than 1 active component:
I attached the data set I used to illustrate with scripts to reproduce these results.
-- Cameron Willden