我已经解决了一个模型,并将结果输出到文件名
from pyomo.environ import *
model = ConcreteModel()
# declared variables
...
# solved model
...
# display results
model.display(filename)
现在,该程序已完成运行。我想对filename
中的结果进行一些后处理。是否有一种简单的方法来读取filename
并将所有解决方案信息放回model
中以对解决方案进行后处理?
我试图绘制许多用matplotlib解决的变量。我想将“模型的解决方案”代码和“模型的后处理”代码分开,因为我希望能够以许多不同的方式对模型进行后处理能够在运行时决定。因此,我想求解model
,调用model.display(filename)
,从文件名中读取所有数据,然后将其输入回pyomo模型,并对结果进行一些绘图。
我目前正在为filename
编写自己的解析器,但是我想知道pyomo是否有可用的方法来实现这一目的。
答案 0 :(得分:1)
一种执行所需操作的好方法是在解决方案之后对模型进行腌制(即序列化),然后后续程序可以还原模型并使用它。有关腌制Pyomo模型的一些讨论,请参见此Stackoverflow帖子: How to save (pickle) a model instance in pyomo