Pyomo约束,在达到指定值时将新的迭代附加到变量



我在Pyomo中调整约束时遇到问题。原始约束如下:

m.tou = Var(domain=Reals)

def peak_power_rule(m,i):
return m.pe_c[i] + m.pe_d[i] + load[i]  <=  m.tou   
m.peak_power = Constraint(time, rule=peak_power_rule)

"负载";是指给定的建筑物每小时耗电量数据,而变量m.pe_c是向电池系统充电的电量,而m.pe_d是从电池中放电的电量。m.tou是消费高峰。[i]的范围为8760(一年内每小时迭代一次(。

该约束目前运行良好,但我想对其进行调整,以便每次[I]达到730(一个月以小时为单位(时都会生成一个新的m.tou[x]
。我每个月都要一个新的m.tou[x]。当我在pyomo中切片时,我会出错,而我对pyomo的有限了解在这个时候限制了我。

更新:我能够通过增加我有限的知识来解决这个问题。我为每个月创建了一个新的变量。

我为每个月创建了一个新的变量。以下是一月(M.jan(的例子。

Jan_time =time[0:745]
def peak_power_rule_jan(m,i):
return m.pe_c[i] + m.pe_d[i] + load[i]  <=  m.jan
m.peak_power_jan = Constraint(Jan_time, rule=peak_power_rule_jan)

最新更新