cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
slscolep
Level II

Mixture DOE - how to limit number of ingredients in final formula?

Dear All,

I am using JMP for the first time and I'm trying to run a DOE with 6 mixture factors (A, B1, B2, B3, B4, B5) and 1 categorical factor. This is a chemical formulation and I only can use a maximum of 2 ingredients of type B, i.e., the final formula must have just 2 or a maximum of 3 ingredients (A + 1 type of B or A + 2 types of B).
Sum of all type B must make up between 1% and 40% of the final blend.
Can you help me to set up this in JMP?
Thank you,

Sofia

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Mixture DOE - how to limit number of ingredients in final formula?

Whoops! 

You did not get a valid design because I messed up! Here are the CORRECT steps:

 

Add a mixture factor, First B Proportion, that ranges from 0 to 1.

Add another mixture factor, Second B Proportion, that ranges from 0 to 1.

Add a Categorical factor with 5 levels, called First B Type. The levels are B1, B2, B3, B4, and B5.

Add another Categorical factor with 5 levels, called Second B Type. The levels are B1, B2, B3, B4, and B5.

 

Now, in the Model window, click on the Interactions button and choose 2nd.

JMP will deliver a message that it removes some of the model terms, but it misses one. Look through the model and select the First B Type*Second B Type interaction term and click the Remove Term button.

 

I am going to change the number of runs to 48, so type that in the User Specified field and click Make Design.

Note that I am not guaranteeing that 48 is a good number of runs here. I strongly encourage you to seek some statistical support within your company to evaluate the completed design (and we are not completed yet!). This is not something that can be taught through the community posts.

 

Once JMP finds a design, click Make Table.

The First B Proportion and Second B Proportion values are on the wrong scale. So...

Create a new column called "True First B Proportion". It will be a formula column with this formula:

Match( :First B Type,
	"B1", :First B Proportion * 0.19 + 0.01,
	"B2", :First B Proportion * 0.19 + 0.01,
	"B3", :First B Proportion * 0.19 + 0.01,
	"B4", :First B Proportion * 0.02 + 0.01,
	"B5", :First B Proportion * 0.04 + 0.01,
	Empty(), Empty()
)

This is simply taking the First B Proportion multiplied by the range for that specific B component + the lower bound of 0.01.

 

We now do a similar thing with the second B component. That column will be called "True Second B Proportion" and this formula is:

Match( :Second B Type,
	"B1", :Second B Proportion * 0.2,
	"B2", :Second B Proportion * 0.2,
	"B3", :Second B Proportion * 0.2,
	"B4", :Second B Proportion * 0.03,
	"B5", :Second B Proportion * 0.05,
	Empty(), Empty()
)

 

Create a column named A that is based on a formula. The formula will be "1 - True First B Proportion - True Second B Proportion".

To run your design, use A, True First B Proportion, True Second B Proportion, First B Type, and Second B Type.

 

Now you could end up with the same B-type for first and second. Specifically, B1 and B1 again. There is no good way to prevent the first and second B types from being the same. However, even when this does occur, the highest proportion of B will be is 0.21, which is only slightly above your maximum. If this is really a concern, modify the True Second B Proportion formula by lowering the multipliers by 0.01. This will keep the total at 0.20 or less, but will make the maximum of the True Second B Proportion be 0.01 lower.

 

Because we changed the "design" from the original variables, we will need to add the Mixture column property, the Design Role column property, and the Factor changes column property to column A, the True First B Proportion, and True Second B Proportion.

 

Finally, we will also need to rebuild the default model using the new columns. I turned this into two steps. Step 1 is to rename the current Model script to Old Model. Then, I went to Fit Model. I put Y into the Y role. Then from the Columns list I selected A, True First B Proportion, True Second B Proportion, First B Type, and Second B Type. I clicked Macros > Factorial to Degree. I then need to remove the following terms from the model: First B Type, Second B Type, and First B Type*Second B Type. Note that JMP will ask if you wish to remove other terms when you try to remove some of these. Choose NO for this case. I then clicked the red triangle by Model Specification and chose Save to Data Table.

 

The full result is the data table that I have attached.

Dan Obermiller

View solution in original post

25 REPLIES 25
statman
Super User

Re: Mixture DOE - how to limit number of ingredients in final formula?

Sofia,  Welcome to the community.  Unfortunately, you don't provide enough insight into the actual situation for me to give good advice.  My first thoughts are:

1. What is B?  Is in a catalyst or a building block chemical? Could you experiment with the 5 types of B before selecting which to use in an optimization mixture design? Would looking at ratios help?

2. What is the categorical factor?

3. Have you already discovered the effects of noise?

4. Why is there a limitation on the number of ingredients in the final formula?

 

It sounds like you are still screening.  I would do this before setting up a mixture design.

"All models are wrong, some are useful" G.E.P. Box
slscolep
Level II

Re: Mixture DOE - how to limit number of ingredients in final formula?

Thank you for your answer.

Let me try to clarify:

We are formulating products with 2 phases (A+B) -> a A + bB = 1

- A is a mixture of many ingredients. We don't want to change its composition (at least for now).

- B can be a single ingredient (B1 or B2 or B3 or B4 or B5) or a mixture of 2 ingredients (b1 B1+ b2 B2 or b1 B1+ b3 B3 or ...).

Note 1: We need to limit the number of ingredients of B type because it is not feasible to work with more. 

Note 2: the optimum quantity of B, will depend on the B type (e.g.: we may need 20% of B1 or 2% of B2)

- C, the categorical factor, is related with the different packaging/containers we want to test - it will affect the performance of the final product.

We would like to understand which is the optimum:

- quantity of A (a)

- composition (B1 or B2 or B3 or B4 or B5 or mixture of 2) and quantity of B (b)

- type of C

 

We have not done any tests yet.

We are today formulating these products with a certain quantity (a) of A and (1-a) quantity of B1 with the packaging C1. Basically we would like to replace B1 by other(s) ingredient(s). As the packaging plays a role in the performance of final product (our response), we are adding the factor C.

 

statman
Super User

Re: Mixture DOE - how to limit number of ingredients in final formula?

My next set of thoughts/questions.  My first thought is that you'll want to plan several iterations rather than one big experiment...

1. First do you understand the noise (ingredient quality, contaminates, measurements, etc.)?

2. Of course you'll need to anticipate interactions.  I suggest you rank order your predicted model effects to at least 2nd order.

3. Is there any other advantages to 1 B over another or to the mixture of B's (practically: cost, availability, ease of use, shelf life, etc.)?  Are there interim response variables that can be measured that correlate to the final product measurements particularly related to B?

4. How do you know Note 2?

5. The type of packaging...is it dependent on the final formulation (e.g, is the formulation acidic or does it need to be sealed or kept cool)?  Perhaps you should first figure out formulation and then experiment with packaging?

The go to book on Mixtures is Cornell "Experiments with Mixtures".  There are lots of ways to proceed, but it is challenging when we don't know what type of reactions might occur in the formulation and what are the response variables.

There are 3 strategies I have used regarding mixture type designs over and above simplex or extreme vertices.

1. Component Proportion: The quantity of the "batch" is held constant and the active ingredients total is fixed.  For example, if the batch size is 19 liters (including A) and there is 1 liter of active ingredients (I), so total (T) is 20 and I:  A+B1+B2 =1. 

This is a three-component mixture design and the 1st order design matrix is:

B1

B2

B3

Total

Ratio

1

0

0

20

19:1

0

1

0

20

19:1

0

0

1

20

19:1

.33

.33

.33

20

19:1

The changes in the response variable are a function of the 4 combinations (proportions) and is not influenced by the amounts of each B.

2. Mixture Amount Factorial: T and I are varied at 2 levels (T= 20 & 25) and (I = 1 & 2).

This is a factorial design and the resulting design matrix is:

W

A

Total

Ratio (T/I)

-1

-1

21

120:1

1

-1

26

25:1

-1

1

22

20:2

1

1

27

25:2

In this strategy the changes in the response are a function of the changing amounts of ingredients with varying proportions

3. Mixture + Factorial: A design where processing factors (X1 and X2 for example packaging) are manipulated factorially and the simplex design (Z is A or B's) is replicated at each factorial combination

 

Untitled.jpg

"All models are wrong, some are useful" G.E.P. Box
slscolep
Level II

Re: Mixture DOE - how to limit number of ingredients in final formula?

Hi @statman 

Yes, we can split experiments in 2 parts: one for formula and another for packaging, but even removing the packaging factor how do I limit the number of ingredients in the final formula? 

From the strategies you proposed, I believe the "1. Component Proportion" is the one that better fits our case, but we cannot have B1+B2+B3 in the formula. How do I tell this to the system?

B1-B5 are alternative ingredients, they all play the same role in the product. We can mix 2 of them, but not more (it may raise safety concerns and we don't have pipelines for more than 2). Of course there are differences between the B ingredients (cost, sustainability, etc) but anyway we want to check the performance of the final product. The only interim response we can have is the cost, all the other are related with the performance of final product.

We already have experience with all the ingredients (mixture A and B ingredients) but for other products that's why we already know some information in advance. 

Thank you

Sofia

P_Bartell
Level VIII

Re: Mixture DOE - how to limit number of ingredients in final formula?

@slscolep I can add a few broad brush thoughts to complement @statman 's initial reply.

 

1. You definitely want to work within JMP's Custom Design platform to set up the design, whatever it looks like.

2. I'm trying to wrap my head around setting up one what I'll call a 'Mother of All Designs' including all the factors when you know apriori you can have at most 3 factors in the final formulation. Is this wise from an efficiency point of view? Or process knowledge point of view? I don't honestly know or have thoughts...just raising the questions more from a conceptual point of view. So if possible, I guess I like @statman 's suggestions regarding screening (empirically or using other considerations). For example, are there any raw material cost differences across the 'B' factors? Or what about expected variation in production for each? Also, what I can't seem to conceptually figure out is setting up a large number of factor linear constraints in the design selection to accommodate the final formulation constraint. Or if setting up all those linear constraints even makes sense? Maybe someone with more mixture experiment practical experience can chime in here? Maybe @Mark_Bailey or @Dan_Obermiller ?

3. You'll definitely want to use the Mixture profiler to come up with your final formulation. Within the profiler you can set factor proportions as you want to explore your ability to achieve an optimal final formulation design.

Re: Mixture DOE - how to limit number of ingredients in final formula?

What about this design?

 

design.JPG

 

Here is the script to set up the Custom Design platform as I did:

 

DOE(
	Custom Design,
	{Add Response( Maximize, "Y", ., ., . ), Add Factor( Mixture, 0.6, 1, "A", 0 ),
	Add Factor( Mixture, 0, 0.4, "B1", 0 ), Add Factor( Mixture, 0, 0.4, "B2", 0 ),
	Add Factor( Mixture, 0, 0.4, "B3", 0 ), Add Factor( Mixture, 0, 0.4, "B4", 0 ),
	Add Factor( Mixture, 0, 0.4, "B5", 0 ), Set Random Seed( 343091112 ),
	Number of Starts( 305 ), Add Term( {1, 1} ), Add Term( {2, 1} ),
	Add Term( {3, 1} ), Add Term( {4, 1} ), Add Term( {5, 1} ), Add Term( {6, 1} ),
	Add Term( {1, 1}, {2, 1} ), Add Term( {1, 1}, {3, 1} ),
	Add Term( {1, 1}, {4, 1} ), Add Term( {1, 1}, {5, 1} ),
	Add Term( {1, 1}, {6, 1} ), Add Term( {2, 1}, {3, 1} ),
	Add Term( {2, 1}, {4, 1} ), Add Term( {2, 1}, {5, 1} ),
	Add Term( {2, 1}, {6, 1} ), Add Term( {3, 1}, {4, 1} ),
	Add Term( {3, 1}, {5, 1} ), Add Term( {3, 1}, {6, 1} ),
	Add Term( {4, 1}, {5, 1} ), Add Term( {4, 1}, {6, 1} ),
	Add Term( {5, 1}, {6, 1} ), Set Sample Size( 42 ), Simulate Responses( 0 ),
	Save X Matrix( 0 ), Make Design}
);

 

The minimum number of mixtures is 21. I used the default number of 42. The choice is yours, of course.

slscolep
Level II

Re: Mixture DOE - how to limit number of ingredients in final formula?

Thank you @Mark_Bailey 

This design suits our needs, I just need to adapt it because our upper limits of B1-B5 are not 0.4.

Where can I learn more about inserting script to set up the Custom Design? Is this replacing the Custom Design window to fill in the responses and factors? 

statman
Super User

Re: Mixture DOE - how to limit number of ingredients in final formula?

@Dan_Obermiller wrote a good introductory paper some years back "Tips on JMPing into Mixture Experiments". 

"All models are wrong, some are useful" G.E.P. Box

Re: Mixture DOE - how to limit number of ingredients in final formula?

No, I still used the Custom Design platform. I only used the script as a way to convey my work to you and save you the trouble of setting it up again or me the work of explaining how to set it up.

 

I clicked the red triangle next to Custom Design and selected Save to Script command when I finished this example. It was easy for me to include in my reply. It was (I hope!) easy for you to copy from my reply, enter in a new JMP script window, and run to obtain the same Custom Design as mine.