Excel 2007 中缺少 AllDifferent 約束

Excel 2007 中缺少 AllDifferent 約束

我正在嘗試使用 Excel 2007 中的求解器,但我沒有在其中找到“all different”約束,例如:

例子

我可以看到“整數”“二進位”,但沒有“all different”。

有人可以幫我找到它嗎?謝謝!

答案1

Excel 2010 中新增了 all different 約束。

您可以透過在 Excel 2007 中使用附加公式和限制來施加所有不同的約束。

設定的螢幕截圖...

在此輸入影像描述

這裡,Eqn1 是=A2*10+A3*9+A4*8+A5*7+A6*6,Eqn2 是=A6*10+A5*9+A4*8+A3*7+A2*6

您可以看到儲存格 B2 包含 CSE 方程式{=MIN(ABS(A2-A3:$A$6))}。這被拖到 B5,其中方程式為{=MIN(ABS(A5-A6:$A$6))}

例如,求解器設定為:

  • 設定目標:$F$2
  • 致:分鐘
  • 透過更改:$A$2:$A$6
  • 受約束條件:
    • $A$2:$A$6 <= $D$2:$D$6
    • $A$2:$A$6 >= $C$2:$C$6
    • $B$2:$B$5 >= $E$2:$E$5
    • $A$2:$A$6 = 整數
  • 選擇求解法:演化

下面是截圖...

在此輸入影像描述

下面是解決方案的螢幕截圖。

在此輸入影像描述

它找到了預期的答案 1,2,3,4,5。

將 SetObjective 改為 $G$2 會得到答案 5,4,3,2,1。

相關內容