如何使用 Python 在 Pulp 中获得最佳优化变量?
How to get the optimal optimization variables in Pulp with Python?
我正在使用 Pulp 和 Python 来解决优化问题。
我正在使用
import pulp
# code
pulp.prob.objective.value()
现在,我想访问优化变量。如何做到这一点?
在 documentation of Pulp 中,我发现了类似 use_vars[i].varValue
的内容,但我应该循环获取整个向量。可以像objective值那样直接获取吗?有人熟悉 Pulp 吗?
要获得整个优化向量,您可以执行
pulp.prob.variables()
这将 return 列出所有变量。要访问列表的第 i 个元素或第 i 个变量,您必须执行
pulp.prob.variables()[i].varValue
您可以 return objective 值和函数中的变量,例如
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, ...}
我正在使用 Pulp 和 Python 来解决优化问题。
我正在使用
import pulp
# code
pulp.prob.objective.value()
现在,我想访问优化变量。如何做到这一点?
在 documentation of Pulp 中,我发现了类似 use_vars[i].varValue
的内容,但我应该循环获取整个向量。可以像objective值那样直接获取吗?有人熟悉 Pulp 吗?
要获得整个优化向量,您可以执行
pulp.prob.variables()
这将 return 列出所有变量。要访问列表的第 i 个元素或第 i 个变量,您必须执行
pulp.prob.variables()[i].varValue
您可以 return objective 值和函数中的变量,例如
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, ...}