cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
Choose Language Hide Translation Bar
Heinrich
Level II

Mixture problem - linear programming

Dear All, I have a question concerning linear programming in JMP. The problem how I can set up a model for finding the optimum mixture with a constrain. I have let say 5 materials (A, B, C, D, E) for selection and each material has 2 properties. (p1, p2). So I have A(p1,p2), B(p1,p2), … My goal is to find the best mixture (a.A +b.B + c.C + d.D +e.E ) where (a, b, c, d, e) are the amounts of the given materials to match my wanted 2 properties (wp1, wp2). The constraint is now that I only want to use 2 materials for the mixture, or maximum 3 materials. It’s quite easy to solve this problem with Oracle Crystal Ball in Excel via Monte Carlo method, but I couldn’t set up this in JMP. Thank you Heinrich.

1 ACCEPTED SOLUTION

Accepted Solutions
cwillden
Super User (Alumni)

Re: Mixture problem - linear programming

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

View solution in original post

2 REPLIES 2
cwillden
Super User (Alumni)

Re: Mixture problem - linear programming

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
Heinrich
Level II

Re: Mixture problem - linear programming

Thanks it was a successful approach to my problem. It's a rather complicated way - JMP is probably not the software for these kinds of problems.