Share your ideas for the JMP Scripting Unsession at Discovery Summit by September 17th. We hope to see you there!
Choose Language Hide Translation Bar
Highlighted
MattRowson
Level I

How to limit the number of ingredients in a DOE

I have a large number of ingredients, and want to constrain the number that feature in any one formulation.

 

So I have a Custom Design constraint ("Disallowed Combinations Script") of the form…

 

((Ing1>0) + (Ing2>0) + (Ing3>0) +……+ (IngX>0)) > N

 

Where IngX is the level Ingredient X.  Not treating this as a Mixture.

I’m getting the attached error.

 

Interestingly reversing the sign, i.e. MINIMISING the number of ingredients to N doesn't appear to be a problem.

 

Any help welcome...

 

 

 

 

3 REPLIES 3
Highlighted

Re: How to limit the number of ingredients in a DOE

The expression that you are using appears to be the correct form assuming that all the factor ranges are 0 to 1. You might not be adding mixture factors (ingredients) to the design but the disallowed combination that you defined is forcing linear dependencies on the factors that produce a singularity in the model matrix that JMP uses to optimize the design.

 

Do you really want less than N ingredients in each mixture or you want to be sure to have exactly N ingredients in each mixture?

Learn it once, use it forever!
Highlighted
MattRowson
Level I

Re: How to limit the number of ingredients in a DOE

Many thanks for this Mark.

 

You specify..."assuming all ranges 0 to 1".  Does this matter?  I had expected my constraint to limit the number of nonzero formulations to N (or fewer)

 

N or fewer is the objective, and I also want to vary the concentration (not just inclusion), but I can build on the suggestion in your second mail I think.  Many thanks. 

Highlighted

Re: How to limit the number of ingredients in a DOE

I made some assumptions about your situation and came up with a way to accomplish this design.

 

Say that I have 5 candidate ingredients but I only want to include 3 of them at a time. I added 3 categorical factors with 5 levels.

 

Capture 1.JPG

 

Then I created the following expression for disallowed combinations.

 

Ingredient 1 == Ingredient 2 | Ingredient 1 == Ingredient 3 | Ingredient 2 == Ingredient 3

Then I assumed a main effects model and 20 runs.

 

Capture 2.JPG

 

Here is the complete script for this example for you to play with.

 


DOE(
	Custom Design,
	{Add Response( Maximize, "Y", ., ., . ),
	Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 1", 0 ),
	Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 2", 0 ),
	Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 3", 0 ),
	Set Random Seed( 102498840 ), Number of Starts( 10 ), Add Term( {1, 0} ),
	Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ),
	Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 1} ),
	Add Alias Term( {2, 1}, {3, 1} ), Set Sample Size( 20 ),
	Disallowed Combinations(
		Ingredient 1 == Ingredient 2 | Ingredient 1 == Ingredient 3 | Ingredient 2
		 == Ingredient 3
	), Simulate Responses( 0 ), Save X Matrix( 0 )}
);
Learn it once, use it forever!
Article Labels

    There are no labels assigned to this post.