我在调整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、 分时电价是用电量的峰值。[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)