【发布时间】:2019-06-19 19:55:23
【问题描述】:
寻找保存 Pyomo 结果的方法花了我 2 个小时 :(
成功解决问题后,我需要保存我的最优变量值和对偶变量值。让我们从最优变量开始。
我的模型中有三个变量,120 个带有 3 个索引的“P”变量,120 个带有 3 个索引的“I”变量和 576 个带有 3 个索引的“F”变量。他们的指数不同。以下是我的解决语句:
solver = pyomo.opt.SolverFactory('gurobi')
results = solver.solve(m, tee=True, keepfiles=True)
m.display()
results.write()
m.solutions.load_from(results)
这里一切似乎都很好,我获得了m.solutions 作为<pyomo.core.base.PyomoModel.ModelSolutions at 0xa23c7bcf8> 的类型。然后我又试了下:
list_of_vars = [v for v in m.component_objects(ctype=pe.Var, active=True, descend_into=True)]
print(list_of_vars)
之后,我得到了另一个list_of_vars对象作为列表类型,其中3个元素为'',这也是合理的。
那么下一步我需要做什么?如何将 m.solutions 或 list_of_vars 转换为数据框或列表或 csv 文件?非常感谢!
加布里埃尔
【问题讨论】:
-
list_of_var中的元素的类型为<pyomo.core.base.var.IndexedVar object at 0xa23c7bf98>。