我试图在我的MIP模型中提取特定约束的影子价格 - 并且正在使用Gurobi作为解算器。
当我建立约束时,我使用以下代码 -
# Balance Constraint
for hour in hours:
model.addConstr((quicksum(p[hour, i] for i in num_gen) +
(quicksum(discharge[hour, i] for i in num_gen)) == demand[hour] +
quicksum(charge[hour, i] for i in num_gen)), name="balance")
然后,在解决了MIP并优化了MIP的固定版本之后,我使用以下代码来提取需求约束的双重值。
demand_constr = fixed.getConstrByName("balance")
但是,上面只返回一个值,因为我期望应用此约束的每小时的影子价格。
也许这是对我的误解 - 但如果有人可以提供帮助,我将不胜感激!
答案 0 :(得分:0)
调用Model.addConstr()时,保存Constr对象。更好的是,尝试Model.addConstrs(),它返回约束的Python字典。