如何使用Python在Pulp中获得最佳优化变量?

时间:2016-02-17 18:36:29

标签: python pulp

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

我正在使用

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

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

documentation of Pulp中,我找到了类似use_vars[i].varValue的内容,但我应该循环以获取整个向量。我能直接得到客观价值吗?有人熟悉纸浆吗?

1 个答案:

答案 0 :(得分:3)

要获得整个优化矢量,您可以

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, ...}