pyomo dae微分方程正在应用ode"追溯"

时间:2017-02-26 14:55:33

标签: differential-equations pyomo

对于标题中单词的尴尬选择感到抱歉。

事情是:我有一个具有连续变量的具体模型来表达时间和一个非常简单的颂歌,其中变量的导数,我们称之为dadt,等于两个其他变量之间的差异b和c不依赖于a(换句话说,a只是b和c的差乘以时间)。不幸的是,似乎程序向后应用整数意味着如果dadt在时间= 20s时为20,那么在0和20s之间增加20 * dadt。这样,微分方程约束并不真正适用于时间= 0,因此使得优化无用。 是这样打算还是我一路上犯了错误?我应该添加拉格朗日 - 拉多搭配。它是这种搭配解释整合方向的标准方式,意思是"落后"?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用ContinuousSet上的下一个(i)和prev(i)方法来获取相邻点。例如,

Model.A[model.t.next(i)] == Model.B[i]

警告:只有在应用离散化

后声明约束时,这才会一致地工作