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

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
Highlighted
cwillden
Super User

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
Highlighted
cwillden
Super User

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

Highlighted
Heinrich
Level I

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. 

Article Labels

    There are no labels assigned to this post.