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:
Desirability.png
In the end, I was able to get this result from the optimization with the constraint of no more than 1 active component:
Yarn Optimization.PNG
I attached the data set I used to illustrate with scripts to reproduce these results.
-- Cameron Willden