我需要在我的 Pyomo 模型中指定以下等式:
w[t]=w[t-1]+y[t]+z[t]-v[t]
t
是一个时间步长,w
、y
、z
和v
是随时间步长变化的变量。我应该将其建模为约束吗?我很欣赏任何关于如何模拟类似方程(可能不完全相同(的例子。
是的,您应该将其建模为约束。这里有一个小例子来帮助你入门:
m.t = Set(initialize=[1,2,3,4])
m.w = Var(m.t)
m.y = Var(m.t)
def _flow_rule(m, t):
if t == 1:
return Constraint.Skip
return m.w[t] == m.w[t-1] + m.y[t]
m.flow = Constraint(m.t, rule=_flow_rule)