在 Gurobi Python 界面中对决策变量的值进行排序

Sort Decision variables' value in Gurobi Python Interface

我解决了 Gurobi Python 界面中的 MIP。解决优化模型后,我需要按降序对一些决策变量进行排序,并在我的模型末尾做一些 modifications/calculations 。然后,运行 我的模型再次得到 D.V。价值。我需要多次重复这个过程。但是,当我使用 'sorted' 语法时,出现错误消息: 一个={} a= 排序 (x[i,j,k],reverse=True ) 类型错误:'Var' 对象不可迭代 我还想知道我是否有一个像这样的决策变量:gurbi.Var x3,2,1(值 1.0),矩阵中是否有索引(3,2,4)和相应的值 1.0其他矩阵? 我是 gurobi 的新手,想知道你是否可以帮助我。 此致

Python sorted() function takes a mutable sequence (like a list) and sorts it according to a key or comparison function. The most Pythonic option is to create a list of Gurobi Var objects 并根据它们的解值对它们进行排序。例如,要按最佳值的降序对变量进行排序,请尝试:

vars = m.getVars()
vars.sort(key=lambda y:y.X, reverse=True)

其中 lambda 函数检索 Var 对象的解值(X 属性)。现在,如果您想对键列表进行排序,请尝试:

keys = # your list of keys ...
keys.sort(key=lambda k:x[k].X, reverse=True)

其中 x 是您的变量字典。