6

我正在使用 Pulp 和 Python 来解决优化问题。

我在用

import pulp
# code
pulp.prob.objective.value()

现在,我想访问优化变量。这个怎么做?

Pulp 的文档中,我发现了类似的东西,use_vars[i].varValue但我应该循环获取整个向量。我可以像客观值一样直接得到它吗?有人熟悉纸浆吗?

4

1 回答 1

7

要获得整个优化向量,您可以这样做

pulp.prob.variables()

这将返回所有变量的列表。要访问列表的第 i 个元素或第 i 个变量,您必须这样做

pulp.prob.variables()[i].varValue

您可以在函数中返回目标值和变量,例如

return pulp.prob.objective.value(), pulp.prob.variables()

然后使用 for 循环访问您的变量

varsdict = {}
for v in prob.variables():
    varsdict[v.name] = v.varValue

最终结果将是一个varsdict看起来像的字典

varsdict = {'x_10': 0.0, 'x_0': 1.0, ...}
于 2016-05-31T14:32:56.453 回答