答案1
Excel 2010 中添加了 alldifferent 约束。
您可以使用 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))}
。
举例来说,Solver 的设置如下:
- 设定目标:$F$2
- 至: 分钟
- 通过改变:$A$2:$A$6
- 受以下限制:
- $A$2:$A$6 <= $D$2:$D$6
- $澳元$2:$澳元$6 >= $加元$2:$加元$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。