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

时间:2019-06-12 10:51:45

标签: python pyomo

我需要在Pyomo模型中指定以下方程式:

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

t是时间步长,而wyzv是随时间步长变化的变量。 我应该将其建模为约束吗?我赞赏任何类似的方程式(也许不完全相同)建模的例子。

1 个答案:

答案 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)