NSP 中最小化的绝对差异

Absolute difference in Minimization in NSP

我是 Python 和约束编程的新手,我确定确实有一些东西 simple/stupid 会引发错误。

我正在尝试将项目相对于预测的盈余降至最低(尝试尽可能接近预测)。为此,查看每天和间隔的 绝对差异 似乎是一个好的开始。 absolute 部分是我遇到困难的地方。

背景:

我的最小化函数如下:

model.Minimize(sum(abs(sum(items[(i, d, t)] for i in all_items) - forecast[d][t]) for d in all_days for t in all_timeblocks))

当我 运行 出现以下错误时:

TypeError: bad operand type for abs(): '_SumArray'

任何 help/input 将不胜感激。

谢谢

abs、min 和 max 是求解器无法理解的 python 结构。

您需要使用

model.AddAbsEquality(target_var, [x1, .. xn])