Excel 2007 中缺少 AllDifferent 约束

Excel 2007 中缺少 AllDifferent 约束

我尝试使用 Excel 2007 中的求解器,但没有找到“alldifferent”约束,例如:

例子

我可以看到“整数”“二进制”,但没有“alldifferent”。

有人能帮我找到吗?谢谢!

答案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。

相关内容