【发布时间】:2017-06-27 16:48:03
【问题描述】:
我正在尝试在使用 gurobi 和 python 的 quicksum 命令中包含一个 python“max”命令。在 LinExpr 限制下,这样做显然会出错,因为它不被接受。
shutdowncost = quicksum(quicksum(shutdown_cost[i] * max((v[hour -1, i] - v[hour, i]),0) for i in num_gen) for hour in hour_range)
V 是模型中的二元变量,其余为固定变量。问题是在 v[hour - 1, i] 为 0 且 v[hour, i] 为 1 的情况下,shutdowncost 为负数。
是否有其他命令可以替代quicksum里面的max命令?
【问题讨论】:
-
是否允许此操作:
list.sort(reverse=True)[0]? -
你为什么使用
gurobi?用纯 Python 解决怎么样(例如numpy)? -
使用 gurobi 作为优化工具箱。感谢 cmets - 我能够通过为 shutdowncost 引入新变量并将其限制为等于此命令来解决此问题。
标签: python gurobi integer-programming mixed-integer-programming