cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • We’re improving the Learn JMP page, and want your feedback! Take the survey
  • JMP monthly Newswire gives user tips and learning events. Subscribe
Choose Language Hide Translation Bar
Yassir-EL
Level II

Guidance on Implementing Factor Constraints in JMP

Dear JMP Community,

I am attaching the Factors.jmp and RESPONSES.jmp files. We have specific conditions between the factors that we need to integrate into JMP to set up an experimental design for 8 trials. The conditions are as follows:

  • If X7>0, then  AND  AND X6=0.
  • If X4>0, then  AND X7=0 AND ( OR ).
  • If X5>0, then  AND X7=0.
  • If X6>0, then X5=0 AND X7=0.

Could you please guide me on how to configure these constraints in JMP to launch the experimental design? I have already explored the options "Specify Linear Constraints" and "Disallowed Combinations," but they do not seem to meet our requirements.

 

Thank you in advance for your assistance.

Best regards,

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Guidance on Implementing Factor Constraints in JMP

I have another potential solution here.  Since X5, X6,and X7 are mutually exclusive, we can define one continuous factor called "Amount567" with range 0-100, with 100 representing the max percent of either X5, X6 or X7, and a categorical factor "Which567" with levels "X5", "X6" and "X7".  Similarly, since X1 and X4 are mutually exclusive, we can do the same.  Finally we can add a constraint that prevents X4 and X7 from being both included:

(Which14 == "X4" & Which567 == "X7")

I've attached a table with the design.  You can reopen the dialog to examine the factors and constraint by running the "DOE Dialog" table script.

 

Please take a look and see if this works for you.

View solution in original post

7 REPLIES 7
Yassir-EL
Level II

Re: Guidance on Implementing Factor Constraints in JMP

There is a bug on the JMP COMMUNITY site that deletes the constraints below. Here is a screenshot of these constraints:

YassirEL_0-1745399012347.png

 

Re: Guidance on Implementing Factor Constraints in JMP

Hi,

 

You can use this script in the "Use Disallowed Combinations Script" option in the "Define Factor Constraints" outline box of the Custom DOE menu to prevent the software from assigning those conditions:

If( X7 > 0 & X4 == 0 & X5 == 0 & X6 == 0,
	1,
	If( X4 > 0 & X1 == 0 & X7 == 0 & (X5 > 0 | X6 > 0),
		1,
		If( X5 > 0 & X6 == 0 & X7 == 0,
			1,
			If( X6 > 0 & X5 == 0 & X7 == 0,
				1,
				0
			)
		)
	)
)

Note that I've interpreted your constraints as disallowed combinations, so that, for the first one, if X7>0, then at least one of X4, X5 and X6 cannot be zero, but it's possible for any two of those to be zero.  Similarly, if X4 >0, then at least one of the statements (X1==0, X7==0, and [X5>0 or X6>0]) cannot be true.  Is that what you intended? 

Yassir-EL
Level II

Re: Guidance on Implementing Factor Constraints in JMP

YassirEL_0-1745412989451.png

I copied and pasted what you suggested, but it doesn't work as I want. If X6 > 0, then X5 should be 0 and X7 should be 0, but Trial 7 didn't respect this condition.

Re: Guidance on Implementing Factor Constraints in JMP

In that case, the constraints would need to be set up a little differently.  So, for the first constraint, you could write: 

X7+X4+X5+X6>X7;

That would prevent the sum of those from exceeding X7, which means X4, X5 and X6 would all be pushed to zero.

However, this prevents the design from converging.  At this point, I'm wondering what the application is.  Can you tell us a little more about the experiment and how the factors are related to each other?  Is it a mixture?

EmilyMark
Level I

Re: Guidance on Implementing Factor Constraints in JMP

For JMP you can use either a custom script (JSL) or create a column formula after generating a full factorial design to filter combinations and apply those complex conditional constraints. Contact us if you need help with a sample script!

Re: Guidance on Implementing Factor Constraints in JMP

Bonjour Yassir,

Une solution pourrait également de créer une table avec toutes les combinaisons possibles (en ajustement l'incrément pour chaque X) et de supprimer les combinaisons qui ne respectent pas tes critères. Voici un exemple de script

Names Default To Here( 1 );
dt = Current Data Table();
dt << Select All Rows << Delete Rows;

// Pour chaque ligne de la table
For(w_x1=0, w_x1<=3, w_x1=w_x1+0.5,
	For(w_x2=0.01, w_x2<=0.03, w_x2=w_x2+0.005,
		For(w_x3=1.5, w_x3<=3, w_x3=w_x3+0.5,
			For(w_x4=0, w_x4<=0.1, w_x4=w_x4+0.05,
				For(w_x5=0, w_x5<=0.1, w_x5=w_x5+0.05,
					For(w_x6=0, w_x6<=5, w_x6=w_x6+1,
						For(w_x7=0, w_x7<=0.3, w_x7=w_x7+0.01,
						
							Condition_1 = If( w_x7 > 0, If( w_x4 + w_x5 + w_x6 == 0, 1, 0), 1);
							Condition_2 = If( w_x4 > 0, If( w_x1 + w_x7 == 0 & (w_x5 > 0 | w_x6 > 0), 1, 0),1);
							Condition_3 = If( w_x5 > 0, If( w_x6 + w_x7 == 0, 1, 0 ), 1);
							Condition_4 = If( w_x6 > 0,	If( w_x5 + w_x7 == 0, 1, 0 ), 1);
							
							If( Condition_1 + Condition_2 + Condition_3 + Condition_4 == 4,
								dt << Add Rows({:X1=w_x1,:X2=w_x2,:X3=w_x3,:X4=w_x4,:X5=w_x5,:X6=w_x6,:X7=w_x7});
							);
						);
					);
				);
			);
		);
	);
);

 

Ensuite, utilise la fonctionnalité Covariate de la plateforme Custom Design pour inclure tes facteurs (Add Factors >> Covariate) (cf. fichier "Custom Design - Configuration.png"). Les Covariates sont en quelque sorte des points candidats. Dans l'exemple joint, JMP va sélectionner les meilleurs points candidats parmi les 4,368 points générés (respectant tes conditions).

 

Pour plus d'information sur les Covariates: https://www.jmp.com/support/help/en/18.0/#page/jmp/factors.shtml#

Et sur comment les utiliser: https://www.jmp.com/support/help/en/18.0/#page/jmp/design-with-fixed-covariates.shtml#ww624097

 

Au final, le Design devrait ressembler à celui du fichier "Resulting DOE.png"

Re: Guidance on Implementing Factor Constraints in JMP

I have another potential solution here.  Since X5, X6,and X7 are mutually exclusive, we can define one continuous factor called "Amount567" with range 0-100, with 100 representing the max percent of either X5, X6 or X7, and a categorical factor "Which567" with levels "X5", "X6" and "X7".  Similarly, since X1 and X4 are mutually exclusive, we can do the same.  Finally we can add a constraint that prevents X4 and X7 from being both included:

(Which14 == "X4" & Which567 == "X7")

I've attached a table with the design.  You can reopen the dialog to examine the factors and constraint by running the "DOE Dialog" table script.

 

Please take a look and see if this works for you.

Recommended Articles