对3D矩阵进行迭代时Python和Gurobi中的关键错误

时间:2019-02-07 17:20:14

标签: python gurobi

我正在做一个线性整数规划,以进行规划优化。我们正在计划在12周的时间内计划通过多阶段操作生产多产品:

6 products
4 stages 
12 weeks

这是我们的限制之一。

#model.addConstrs((((P[i, s, t] * L.iloc[i, s] for i in range(products)) <= (H * W[s, t] + O[s, t])) for s in range(stages) for t in range(time_periods)), "capacity")

我们收到一条错误消息“键错误(5,0,0)”,这意味着我们的模型无法在s和t s中进行迭代。

我该如何进行?

1 个答案:

答案 0 :(得分:0)

KeyError表示(i,s,t)中没有元组P。您可以使用

为所有组合创建一整套变量
model.addVars(products, stages, time_periods, ...)

参考:http://www.gurobi.com/documentation/current/refman/py_model_addvars.html