你好,
我研究的是包含兩個連續因子和兩個分類因子的 DOE
| 因素 |
低級 |
|
進階 |
| CB 角度 1(連續) |
10 |
|
60 |
| CB 角度 2(連續) |
10 |
|
60 |
| 橫桿 1(分類) |
柔軟的 |
|
難的 |
| 橫桿 2(分類) |
紅色的 |
黃色的 |
藍色的 |
現在來看看限制條件:
CB 角度 1 和 CB 角度 2 <= 70
和
對於橫桿 1 == 硬,CB 角 1 == 25
1) 如果我一次嘗試線性約束和不允許的組合,它會起作用(腳本第 1 部分和第 2 部分),但如果包含兩個約束(腳本第 3 部分),線性約束就會消失。
2) Cross Bar 1 軟硬輪組之間的平衡嚴重偏向軟輪組。該如何解決這個問題?
如果您有解決方案,我們將不勝感激,謝謝。
你好,
如果您需要在同一設計中使用不允許的組合約束和線性約束,則可以將線性約束寫入不允許的組合。以下是一些可能適合您情況的範例程式碼:
DOE(
Custom Design,
{Add Response( Maximize, "Y", ., ., . ),
Add Factor( Continuous, 10, 60, "CB Angle 1", 0 ),
Add Factor( Continuous, 10, 60, "CB Angle 2", 0 ),
Add Factor( Categorical, {"Red", "Yellow", "Blue"}, "CB 2", 0 ),
Add Factor( Categorical, {"Soft", "Hard"}, "CB 1", 0 ),
Set Random Seed( 277794177 ), Number of Starts( 7637 ), Add Term( {1, 0} ),
Add Term( {1, 1} ), Add Term( {2, 1} ), Add Term( {3, 1} ), Add Term( {4, 1} ),
Add Term( {1, 2} ), Add Term( {2, 2} ), Add Alias Term( {1, 1}, {2, 1} ),
Add Alias Term( {1, 1}, {3, 1} ), Add Alias Term( {1, 1}, {4, 1} ),
Add Alias Term( {2, 1}, {3, 1} ), Add Alias Term( {2, 1}, {4, 1} ),
Add Alias Term( {3, 1}, {4, 1} ), Set Sample Size( 12 ),
Disallowed Combinations(
CB 1 == "Hard" & CB Angle 1 <= 24.5 | CB 1 == "Hard" & CB Angle 1 >= 25.5 |
CB Angle 1 + CB Angle 2 > 70
), Simulate Responses( 0 ), Save X Matrix( 0 ), Make Design,
Set Run Order( Randomize ), Make Table}
);
請注意,我將“<=”更改為“>”,以使線性約束成為“不允許的”約束。
我希望這有幫助。
你好,Soren,
通常,當設計涉及幾種不同類型的限制時,我的解決方案是使用候選集方法,並使用基於該候選集的客製化設計平台。
創建它的一種方法是了解因子等級之間的最小增量大小(特別是對於角度,您是否能夠以 1° 的精度設定角度?更多?更少?),並建立所有組合的表格。
- 我首先為每個連續因子創建了兩個表,序列資料初始化從 10 到 60,步長為 1:

- 然後,我對這兩個表進行笛卡爾連接(結果表中有 2601 個唯一可能的組合)。我過濾了所有角度 1 + 角度 2 > 70 的組合(剩餘 1326 行)。
- 我為分類因素創建了兩個表,並對兩者進行了笛卡爾連接(6 個唯一組合):

- 最後,該分類因素表和過濾後的連續表之間的笛卡爾連接使我們接近最終候選集(7956 行)。
- 然後,我在此最終表上應用僅針對「硬」交叉桿 1 的最後剩餘約束,以排除不遵守約束的行:對於交叉桿 1 == 硬,CB 角度 1 == 25(剩餘 4086 行)。
您可以找到附件中的候選集。
然後,您可以將該候選集與「自訂設計」平台一起使用,透過從表中選擇協變數因子運行,指定所需的模型和適當的運行次數:

然後,您可以僅使用候選集表中的可行運行來建立最佳設計:

附件是與您的用例相同的、建議進行 24 次運行的設計表。
我並不期望 Cross Bar 1 的兩個層級之間的平衡是“固定的”,因為“軟”層的實驗空間比“硬”層的實驗空間大得多(這是由於其約束條件)。試圖用你提到的約束條件強行在兩個層級之間保持平衡,可能會導致設計“不太優化”,並且其他項目的估計精度也會降低。
編輯:如果您使用@Laura_Lancaster的方法或具有相同運行規模的方法,您將獲得具有相同性能的相同或相似的設計。
希望這個解決方案對你有用,
謝謝勞拉。它確實有效。為什麼它能和「或」指令在不允許的組合中一起用呢?我不明白,自己可能永遠不會嘗試。謝謝。
嗨,Victor,太棒了!這能讓我重新掌控所有同事的約束!非常感謝你的分享