NSP 中最小化的绝对差异
Absolute difference in Minimization in NSP
我是 Python 和约束编程的新手,我确定确实有一些东西 simple/stupid 会引发错误。
我正在尝试将项目相对于预测的盈余降至最低(尝试尽可能接近预测)。为此,查看每天和间隔的 绝对差异 似乎是一个好的开始。 absolute 部分是我遇到困难的地方。
背景:
items
是每个项目、日期和时间段的 BoolVar
forecast
是每一天和时间段的数组
我的最小化函数如下:
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])
我是 Python 和约束编程的新手,我确定确实有一些东西 simple/stupid 会引发错误。
我正在尝试将项目相对于预测的盈余降至最低(尝试尽可能接近预测)。为此,查看每天和间隔的 绝对差异 似乎是一个好的开始。 absolute 部分是我遇到困难的地方。
背景:
items
是每个项目、日期和时间段的BoolVar
forecast
是每一天和时间段的数组
我的最小化函数如下:
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])