小编Jas*_*er 的帖子

在不使用 for 循环的情况下检索 Pyomo 解决方案

我正在努力寻找一种有效的方法来检索优化问题的解决方案。该解决方案由大约 200K 个变量组成,我希望在 Pandas DataFrame 中使用这些变量。在网上搜索之后,我发现访问变量的唯一方法是通过一个看起来像这样的 for 循环:

instance = M.create_instance('input.dat') # reading in a datafile
results = opt.solve(instance, tee=True)
results.write()
instance.solutions.load_from(results)

for v in instance.component_objects(Var, active=True): 
    print ("Variable",v)
    varobject = getattr(instance, str(v))
    for index in varobject:
        print ("   ",index, varobject[index].value)
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用这个 for 循环将它们存储在数据帧中,但这效率很低。我发现了如何使用访问索引

import pandas as pd
index = pd.DataFrame(instance.component_objects(Var, active=True))
Run Code Online (Sandbox Code Playgroud)

但我不知道如何获得解决方案

pyomo

3
推荐指数
1
解决办法
1277
查看次数

标签 统计

pyomo ×1