PuLP-有没有一种方法可以从dict访问变量名,而不是从.variables()解析字符串版本



我使用PuLP for Python来解决一些线性编程问题。目前,我能找到的唯一方法,在求解模型后检索变量名称,是解析pulp.LpProblem().variables()方法中可用的变量名称的字符串版本,该方法列出了所有使用的变量。但是,这将返回一个沿sometext('var1','var2')行的字符串。因此,我需要解析文本以访问字符串名称,这样我就可以获得正确的.varValue

有没有一种方法可以像dict一样访问这些变量,或者解析字符串是唯一的方法?

您可以直接访问变量,而无需检索它们
考虑以下示例:

>>> import pulp
>>> x = pulp.LpVariable('x',0,3)
>>> y = pulp.LpVariable('y',0,3)
>>> prob = pulp.LpProblem('example',pulp.LpMinimize)
>>> prob+= x+y
>>> prob+= x+y >= 4
>>> prob.solve()
1           
>>> x.varValue
1.0
>>> y.varValue
3.0

其他变量容器(如字典(也是如此

>>> x_vars = pulp.LpVariable.dicts('x', range(1,6), lowBound=0, upBound=1)
>>> x_vars
{1: x_1, 2: x_2, 3: x_3, 4: x_4, 5: x_5}

使用密钥可以访问相关变量的值,例如x_vars[1].varValue

最新更新