cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar

Fast Flexible Filling design — JSL automation possible?

Hello,

I would like to ask a question about the Fast Flexible Filling (FFF) design in JMP.

I need to generate a large number of FFF designs.
However, I cannot find any JSL function or scripting reference that allows calling the FFF optimizer programmatically.

My questions are:

  1. Can the Fast Flexible Filling design be fully generated through JSL?
    (For example using DOE(), Space Filling Design(), or any hidden/undocumented functions)

  2. Or is the FFF optimizer GUI-only and cannot be accessed via scripting?

  3. If scripting is impossible, is there any officially recommended workflow to automate many FFF designs?

Environment:
JMP 19
Windows 11

Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Fast Flexible Filling design — JSL automation possible?

Fill the DOE platform manually and you should be able to get the script from red triangle menu. It will give you a good idea what you could possibly do and modify as needed. Scripting Index also contains more examples under DOE

DOE(
	Space Filling Design,
	{Add Response(Maximize, "Y", ., ., .), Add Factor(Continuous, -1, 1, "X1", 0),
	Add Factor(Discrete Numeric, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, "X2", 0),
	Set Random Seed(863245536), FFF Optimality Criterion(MaxPro),
	Space Filling Design Type(Fast Flexible Filling, 20), Simulate Responses(0),
	Set Run Order(Randomize), Make Table}
);
-Jarmo

View solution in original post

5 REPLIES 5
jthi
Super User

Re: Fast Flexible Filling design — JSL automation possible?

Example from scripting index

Names Default To Here(1);
d = DOE(Space Filling Design);
d << Space Filling Design Type(Fast Flexible Filling, 100);

That most likely gives a good idea what can be done when you combine it with different options DOE has with Add Response and so on.

-Jarmo

Re: Fast Flexible Filling design — JSL automation possible?

You're welcome! Thank you so much for your reply and help! I tried the Fast Flexible Design with JSL scripts many times today but kept failing. My X1 is a continuous variable, and X2 is 11 discrete values I specified myself. When I use the code, my X2 always gets recognized as categories: L1 and L2. I don't know why that's happening. 

jthi
Super User

Re: Fast Flexible Filling design — JSL automation possible?

Fill the DOE platform manually and you should be able to get the script from red triangle menu. It will give you a good idea what you could possibly do and modify as needed. Scripting Index also contains more examples under DOE

DOE(
	Space Filling Design,
	{Add Response(Maximize, "Y", ., ., .), Add Factor(Continuous, -1, 1, "X1", 0),
	Add Factor(Discrete Numeric, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, "X2", 0),
	Set Random Seed(863245536), FFF Optimality Criterion(MaxPro),
	Space Filling Design Type(Fast Flexible Filling, 20), Simulate Responses(0),
	Set Run Order(Randomize), Make Table}
);
-Jarmo

Re: Fast Flexible Filling design — JSL automation possible?

Thank you so much! I can now successfully generate the design. I'll go ahead and try other functionalities. Thank you again for your help! Wish you a pleasant life!

Victor_G
Super User

Re: Fast Flexible Filling design — JSL automation possible?

Hi @LocalRulesMhha1,

 

The easiest option to understand the structure of the JSL for Fast Flexible FIlling generation is to create one FFF by hand, and extract the JSL code (in "DOE Dialog" script from the generated data table) :

DOE(
	Space Filling Design,
	{Add Response( Maximize, "Y", ., ., . ),
	Add Factor( Continuous, -1, 1, "X1", 0 ),
	Add Factor( Continuous, -1, 1, "X2", 0 ),
	Add Factor( Continuous, -1, 1, "X3", 0 ), Set Random Seed( 20819255 ),
	FFF Optimality Criterion( MaxPro ),
	Space Filling Design Type( Fast Flexible Filling, 30 ), Simulate Responses( 0 ),
	Set Run Order( Randomize ), Make Table}
);

You can see in the above code that depending on your use case, you might have to define the number and type of factors, the ranges, the random seed (if you want to make your code reproducible), the optimality criterion (MaxPro or Centroïd) and the number of runs.

The code @jthi shared can only provide FFF for 2 continuous factors, with [-1 ; 1] ranges, under MaxPro criterion. Since the script is not detailed, JMP will assume the minimum number of factors to create a FFF (so 2 factors), and will keep the ranges as they are by default, with the recommended optimality criterion (MaxPro).

For a deep-dive about the construction of FFF designs, you can check the Fast flexible filling algorithm walkthrough I have written in this blog post: Exploring space filling designs part 1: Introduction to common types of space fi... - JMP User Commu...

Hope this answer may help you, 

Victor GUILLER

"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)

Recommended Articles