ありがとう@JerryFish FUCHS LUBRICANTS CO の Na と Ryan の貢献に感謝します。
このプロジェクトは、禁止された組み合わせスクリプトを使用した制約の仕様に関する非常に貴重な考慮事項を強調しています。ユーザーの可視性を高めるために、ここで強調する価値があると思います。 また、ユーザーが使い方を知っていれば、より柔軟なツール (禁止された組み合わせ機能) を使用して、Sheffe Cubic モデルと混合制約を指定する方法も示します。
そこで、提供したスクリプトを実行します( 2021-US-30MP-896 - Final Script.jsl) を添付して、このデザインを生成します。
DOE(
Custom Design,
{
Add Response( Maximize, "Y", ., ., . ),
Add Factor( Categorical, {"Additive 1", "Additive 2", "Additive 3", "Additive 4", "Additive 5", "Additive 6", “Additive 7”, “Additive 8” }, "Additive", 0 ),
Add Factor( Continuous, 0, 1, "M1", 0 ),
Add Factor( Continuous, 0, 1, "M2", 0 ),
Add Factor( Continuous, 0, 1, "M3", 0 ),
Add Factor( Continuous, 0, 1, "M4", 0 ),
// Manually enter all main effects
Add Term( {1, 1} ), // Additive main effect
Add Term( {2, 1} ), // M1 main effect
Add Term( {3, 1} ), // M2 main effect
Add Term( {4, 1} ), // M3 main effect
Add Term( {5, 1} ), // M4 main effect
// Manually enter all 2-way interactions between mixture components
Add Term( {2, 1}, {3, 1} ), // M1*M2 interaction
Add Term( {2, 1}, {4, 1} ), // M1*M3 interaction
Add Term( {2, 1}, {5, 1} ), // M1*M4 interaction
Add Term( {3, 1}, {4, 1} ), // M2*M3 interaction
Add Term( {3, 1}, {5, 1} ), // M2*M4 interaction
Add Term( {4, 1}, {5, 1} ), // M3*M4 interaction
// Manually enter all interactions between Additive and mixture components
Add Term( {1, 1}, {2, 1} ), // Additive*M1 interaction
Add Term( {1, 1}, {3, 1} ), // Additive*M2 interaction
Add Term( {1, 1}, {4, 1} ), // Additive*M3 interaction
Add Term( {1, 1}, {5, 1} ), // Additive*M4 interaction
// Manually enter all 3-way interactions
Add Term( {2, 1}, {3, 1}, {4, 1} ), // M1*M2*M3 3-way interaction
Add Term( {2, 1}, {3, 1}, {5, 1} ), // M1*M2*M4 3-way interaction
Add Term( {2, 1}, {4, 1}, {5, 1} ), // M1*M3*M4 3-way interaction
Add Term( {3, 1}, {4, 1}, {5, 1} ), // M2*M3*M4 3-way interaction
// Manually enter appropriate Scheffe Cubic interactions
Add Term( {2, 2}, {3, 1} ), // M1^2*M2 interaction
Add Term( {2, 2}, {4, 1} ), // M1^2*M3 interaction
Add Term( {2, 2}, {5, 1} ), // M1^2*M4 interaction
Add Term( {3, 2}, {4, 1} ), // M2^2*M3 interaction
Add Term( {3, 2}, {5, 1} ), // M2^2*M4 interaction
Add Term( {4, 2}, {5, 1} ), // M3^2*M4 interaction
// Now add the disallowed combinations:
Disallowed Combinations
(
(M1 + M2 + M3 + M4 > 1.01 | M1 + M2 + M3 + M4 < 0.99) |
(Additive == "Additive 1" & (M1 < 0.5 | M1 > 0.6)) |
(Additive == "Additive 2" & (M1 < 0.2 | M1 > 0.3)) |
(Additive == "Additive 3" & (M1 < 0.2 | M1 > 0.5)) |
(Additive == "Additive 4" & (M1 < 0.1 | M1 > 0.3)) |
(Additive == "Additive 5" & (M1 < 0.0 | M1 > 0.2)) |
(Additive == "Additive 6" & (M1 < 0.2 | M1 > 0.4)) |
(Additive == "Additive 7" & (M1 < 0.3 | M1 > 0.5)) |
(Additive == "Additive 8" & (M1 < 0.1 | M1 > 0.4))
),
Set Random Seed( 0 ),
Number of Starts(100 ),
Set Sample Size(65),
Optimality Criterion( Name( "Make D-Optimal Design" ) ),
Simulate Responses( 0 ),
Save X Matrix( 0 ),
Make Design}
);
次のことが得られます。

この結果は、強調する価値があると思われるいくつかのことを裏付けています。
許可されていない組み合わせスクリプトの場合、「M1 + M2 + M3 + M4 = 1」を指定するには、まずスクリプトが次のものであることを理解する必要があります。ディス-許可される組み合わせ。つまり、条件付きロジック (および/または、不等号) を使用して指定することになります。基本的に私たちが指定したいものとは逆です。
したがって、論理的には次のことを意味します。
M1 + M2 + M3 + M4 != 1
しかし、これで終わりではなく、実際にはこれはうまくいきません。
次に理解する必要があるのは、カスタム デザイナーは正確に 1 の値に収束できない (または、少なくとも収束する可能性は低い) ということです。このため、制約仕様のターゲット 1.00 にある程度の「許容値」を追加する必要があります。これを行うには、M1 から M4 までの合計が 1 より小さい値 (-デルタ) 以上、1 より大きい値 (+デルタ) 以下でなければならないと論理的に言わなければなりません。不許可について学習した場合、これは次のようになります。ここで、デルタ = 0.01 (我々が選択しましたデルタが小さいほど、JMP が収束する有効な設計ソリューションを見つけるために空間を検索する必要があることを念頭に置いてください)。 したがって、これにより、「許可されていない組み合わせ」スクリプト仕様の目的で、制約が次のようになります。
M1 + M2 + M3 + M4 > 1.01 | M1 + M2 + M3 + M4 < 0.99
"|"は OR 演算子 (AND を意味します) であり、許可されていないため、必要なものを得るために不等号記号が反転されます。

ここで言及する価値があると思うもう 1 つの点は、ここには複数の制約があり、その場合、許可されていない組み合わせスクリプトの仕様が非常に複雑になる可能性があることです。
ここでそれらを結合するときに、論理的に「AND」を意味する「OR」演算子を使用していることに注目してください。
また、たとえば制約については次のとおりです。
(加法 == "加法 1" & (M1 < 0.5 | M1 > 0.6))
私たちは実際にカスタムデザイナーに次のように伝えています。等しい添加剤1 、 それからM1 は 0.5 ~ 0.6 の間である必要があります。この場合、AND 演算子 (アンパサンド、つまり「&」) は次のように機能します。それからステートメントと、Additive == Additive 1 の二重等号は、実際には Additive のレベルを指定します。等しいl to 1 (これは、M1 から M4 の合計が 1 になるという上記の制約を指定した方法に関して、私たちの考え方と少し矛盾しています。
したがって、論理演算子は状況によってまったく異なる動作をする可能性があり、指定する変数がカテゴリ変数であるか連続変数であるかによっても異なります。
このため、私は、一度に 1 つの制約を指定し、設計を生成し、それが意図したとおりに機能することを実証してから、段階的に (最初の 2 つの条件、次に 3 つの条件など) 組み合わせていくというアプローチを好みます。の上)。