(PYOMO)创建特殊约束

时间:2020-07-31 03:32:00

标签: python python-3.x list model pyomo

有一个特殊的约束 enter image description here

uy是变量,T是常量。 i是一个集合,每个i对应于一个t的范围,每个t构成一个不同的k范围。如何在pyomo中写这个约束?

这就是我的想法:

tRange = []
for i in self.unitSet:
    tRange.append([j for j in range(self.G[i] + 1, self.T + 1)])

def start_time_rule(model, i, t):
    return sum(model.y[i, k] for k in range(max(t - self.unitData.loc[i, "MinOnTime"] + 1, 1), t + 1)) <= model.u[i, t]

self.model.startTime = pe.Constraint(self.model.i, tRange[], rule=start_time_rule)

首先,我找出与每个i相关的t的范围。当我创建约束时,我 无法使用i选择t的范围,因此最后一行代码有错误。

我的英语不是很好,我希望我已经说清楚了。预先感谢

0 个答案:

没有答案