如何在 Pyomo 中模拟流量平衡方程?

How to model flow balance equation in Pyomo?

我需要在我的 Pyomo 模型中指定以下等式:

w[t]=w[t-1]+y[t]+z[t]-v[t]

t是时间步长,wyzv是随时间步长变化的变量。 我应该将其建模为约束吗?我很欣赏任何关于如何模拟相似方程(可能不完全相同)的例子。

是的,您应该将其建模为约束。这是一个帮助您入门的小示例:

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)