如何在pyomo里面写一条特殊的约束

我的模型里面有这样一个约束
图片说明

其中y和u是变量,每个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)) <= model.u[i, t]

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

我先把和每个i对应的t的范围求出来,但是我再最后创建约束的时候,不能通过i来选择对应的t的范围,所以最后一行代码有问题,想了很久,不知道如何解决,请高人指点一下,十分的感谢!!!

https://www.pythonheidong.com/blog/article/177251/