Excel 2007 でソルバーを使用しようとしていますが、"alldifferent" 制約が見つかりません。例:
「整数」「バイナリ」は見えますが、「alldifferent」はありません。
誰かそれを探すのを手伝ってくれませんか? ありがとう!
答え1
alldifferent 制約は Excel 2010 で追加されました。
Excel 2007 では、追加の数式と制約を使用して、さまざまな制約を課すことができます。以下は簡略化された例です...
セットアップのスクリーンショット...
ここで、式1は=A2*10+A3*9+A4*8+A5*7+A6*6
、式2は=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))}
。
たとえば、Solver は次のように設定されます。
- 目標設定: $F$2
- 宛先: Min
- 変更後: $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 になります。