我正在使用空間填充設計平台來運行快速靈活的填充設計。 我想添加一個不允許的組合腳本,其中如果一個變量的級別等於某個值,則單獨的列僅限於特定值。 我有以下腳本,但該腳本不起作用。 我試過: F1 == 1 & F11 > 0 | F2 == 1 & F12 > 0,但這會刪除F1 或F2 = 1 的所有情況,因為F11 或F12 實際上永遠不會等於0,即使對於計算機模擬來說,這些變量(F11 和F12)可以為0。 我可以通過將 F11 和 F12 範圍從 -1 到 5 來“捏造”它,然後添加 F1 & F2 = 2 或 3 的不允許組合以獲得負 F11 或 F12。這將限制負值僅在 F1 或 F2 = 1 時出現在 F11 和 F12 中,這樣我們就可以將軟件編程為 0 而不是負數,但這種解決方案似乎不太優雅。 有沒有辦法指定不允許的組合,例如如果 F1|F2 == 1 則 F11F12 = 0?
crt = DOE(
Space Filling Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Categorical, {"1", "2", "3"}, "F1"),
Add Factor( Categorical, {"1", "2", "3"}, "F2"),
Add Factor( Continuous, 0, 75, "F3", 0 ),
Add Factor( Continuous, 0, 75, "F4", 0 ),
Add Factor( Continuous, 0, 0.25, "F5", 0 ),
Add Factor( Continuous, 0, 0.25, "F6", 0 ),
Add Factor( Continuous, 3, 5, "F7", 0 ),
Add Factor( Continuous, 6, 10, "F8", 0 ),
Add Factor( Continuous, 0, 1.8, "F9", 0 ),
Add Factor( Continuous, 0, 1.8, "F10", 0 ),
Add Factor( Continuous, 0, 5, "F11", 0 ),
Add Factor( Continuous, 0, 5, "F12", 0 ),
Add Factor( Continuous, 800, 1200, "F13", 0 ),
Set Random Seed( 2062716779 ),
Disallowed Combinations(
If(F1==1,F11= 0) | if(F2==1,F12=0)
), FFF Optimality Criterion( MaxPro ),
Space Filling Design Type( Fast Flexible Filling, 130 ),
Set Run Order( Randomize )}
);
dtcur = crt << Make table;
dtcur << delete columns("x1","x2");嗨 jshaw04,
您最好的選擇可能是簡單地創建沒有不允許的組合的設計,並在需要時手動將值更改為 0。 您仍然可以獲得所有空間填充屬性以及其他因素。
關於你用負值來捏造它的想法,如果你想玩弄 F1 == 1 的比例,你可以使用它。 也就是說,如果您考慮 F11 的較低值的負值,如果您在不允許的組合中使用類似的內容(與 F2/F12 類似),F1 的分佈將會改變:
(F1 == 2 | F1 == 3) & F11 < 0 | F1 == 1 & F11 > 0
希望有幫助,
瑞安
你好傑肖04 。 我認為您無法使用不允許的組合來完成您想要做的事情。 我的推理是,假設無論是否不允許組合,所有因素都會有所不同,但可能會以某種方式減少。 通過規定某些因素不會改變,您可以建立以下場景:
* 如果 F1=1,F11 不是一個因子(不變)。
* 如果F2=1,則F12 不是一個因素。
* 如果 F2=1 且 F2=1,則使用因子 F1 至 F10 和 F13
* 如果 F1 !=1 且 F2!=1,則使用因子 F1 至 F13。
假設我是正確的,一種可能的方法是創建四種設計並將它們組合起來。 另一種方法是對設計設置進行後處理,並根據 F1 或 F2 將 F11 或 F12 設置為零。 我可能會採用最後一種方法,並在設計評估中檢查一切是否正常。
當然,如果我錯了,我想我會和你一起學習一些東西。 