来自 model.display(文件名) 的 Pyomo 输入数据

Pyomo input data from model.display(filename)

我求解了一个模型并将结果输出到文件名

from pyomo.environ import *
model = ConcreteModel()
# declared variables
...
# solved model
...
# display results
model.display(filename)

现在,这个程序已经完成了运行。我想对 filename 中的结果进行一些 post 处理。有没有一种简单的方法来读取 filename 并将所有解决方案信息放回 model 以供 post 处理解决方案?

我正在尝试绘制我用 matplotlib 求解的许多变量。我想将 "solution of the model" 代码和 "post-processing of the model" 代码分开,因为我希望能够 post 以许多我不会的方式处理模型能够在运行时决定。所以,我想解决 model,调用 model.display(filename),从文件名中读取所有数据并输入回 pyomo 模型,并对结果进行一些绘图。

我目前正在为 filename 编写自己的解析器,但我想知道是否有可用的 pyomo 方法来执行此操作。

做你想做的一个好方法是在解决后对模型进行 pickle(即序列化),然后后续程序可以恢复模型并使用它。有关酸洗 Pyomo 模型的一些讨论,请参阅此 Whosebug post: