LP解算器要求的线性条件不满足

问题描述

所以对于一项作业,我必须找到使绝对差异之和最小的时间表 在每个时间间隔内通过解决 整数线性优化模型。

因此,我将日程安排建模为固定的覆盖问题,并创建了一个具有所需工人数的行和一个具有实际工人数的行。

enter image description here

我将两行之间的绝对差之和作为对象,并尝试将其最小化。

=SUM(ABS(C39:Z39-C33:Z33))

但是我得到错误 LP解算器所需的线性条件不满足”,并且由于线性报告 ,我不知道为什么

enter image description here

* X_i是选择换档的次数

解决方法

ABS()不是线性函数。谁知道excel为什么不这样说呢?它的内部求解器没有很高的声誉。

您可能会尝试将OBJ功能更改为某些罚款*未发现的作业,并查看是否可以启动和运行模式。然后也许从可用数量中减去使用过的工人,加总并为未使用的工人增加罚款....

,

@AirSquid已经指出,绝对值不是线性函数。但是,在您的上下文中可以线性化它。你可以给我们

最小化abs(sum x_i)

等同于

最小化sum a_i,其中a_i是具有约束a_i>=x_i,a_i>=-x_i的新变量。