我有大量成分,想限制任何一種配方中的成分數量。
所以我有一個自定義設計約束(“不允許的組合腳本”)的形式......
((Ing1>0) + (Ing2>0) + (Ing3>0) +……+ (IngX>0)) > N
其中 IngX 是成分 X 的水平。不將其視為混合物。
我收到附加錯誤。
有趣的是,將符號顛倒過來,即將成分的數量減少到 N 似乎不是問題。
歡迎任何幫助...
非常感謝這個馬克。
您指定...“假設所有範圍為 0 到 1”。這有關係嗎?我曾期望我的約束將非零公式的數量限制為 N(或更少)
N 或更少是目標,我也想改變集中度(不僅僅是包含),但我認為我可以根據您在第二封郵件中的建議。非常感謝。
我對你的情況做了一些假設,並想出了一個方法來完成這個設計。
假設我有 5 種候選成分,但我一次只想包含其中的 3 種。 我添加了 3 個具有 5 個級別的分類因素。

然後我為不允許的組合創建了以下表達式。
Ingredient 1 == Ingredient 2 | Ingredient 1 == Ingredient 3 | Ingredient 2 == Ingredient 3
然後我假設了一個主效應模型和 20 次運行。

這是此示例的完整腳本供您使用。
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 1", 0 ),
Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 2", 0 ),
Add Factor( Categorical, {"L1", "L2", "L3", "L4", "L5"}, "Ingredient 3", 0 ),
Set Random Seed( 102498840 ), Number of Starts( 10 ), Add Term( {1, 0} ),
Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ),
Add Alias Term( {1, 1}, {2, 1} ), Add Alias Term( {1, 1}, {3, 1} ),
Add Alias Term( {2, 1}, {3, 1} ), Set Sample Size( 20 ),
Disallowed Combinations(
Ingredient 1 == Ingredient 2 | Ingredient 1 == Ingredient 3 | Ingredient 2
== Ingredient 3
), Simulate Responses( 0 ), Save X Matrix( 0 )}
);
假設所有因子範圍都是 0 到 1,您使用的表達式似乎是正確的形式。 您可能沒有將混合因子(成分)添加到設計中,但您定義的不允許的組合會強制線性依賴於在 JMP 用於優化設計的模型矩陣中產生奇異性的因子。
你真的想要每種混合物中的成分少於 N 種,還是你想確保每種混合物中的成分恰好有 N 種?