我需要在Pyomo模型中指定以下方程式:
w[t]=w[t-1]+y[t]+z[t]-v[t]
t
是时间步长,而w
,y
,z
和v
是随时间步长变化的变量。
我应该将其建模为约束吗?我赞赏任何类似的方程式(也许不完全相同)建模的例子。
答案 0 :(得分:3)
是的,您应该将此建模为约束。这是一个帮助您入门的小例子:
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)