使用 Excel 中的求解器解决覆盖问题。 我有一个相邻单元格矩阵和一组二元决策变量。 我可以在决策变量和邻接矩阵的每一行中使用
sumproduct()
来告诉我某个单元格是否被特定解决方案覆盖。 如果我对决策变量的数量有限制,可以为 1,并且我想最大化覆盖单元格的数量,那么我需要计算有多少个 sumproduct 返回值 >0。 简单的答案是 =IF(<address> > 1, 1, 0)
,然后将它们相加,但求解器告诉我,任何带有 IF
的东西都不满足线性条件。 我还尝试在逻辑测试前使用 --
,如下所示,我得到了相同的错误......
有什么建议吗?
大致:
N
列中的项目以及您所做的其他声明覆盖到二进制变量中。M
。这就是线性化......最大化“覆盖”的总和
N M
0 <= 0
1 <= 1
1 <= 4
1 <= 3
...
如果它变得更加复杂,我会切换到“真正的”线性编程框架。 ;)