回调函数值检索gurobi python getvars()时出错

回调函数值检索gurobi python getvars()时出错,python,callback,gurobi,Python,Callback,Gurobi,在我的gurobi(python)代码中有一个变量_vars[0]。完成优化后,我能够获得属性_vars[0].X。但是,当我在回调函数中执行相同的操作时,我会在'gurobipy.callbacksub'中得到以下错误“Exception AttributeError:AttributeError('',)” 如果我这样做,它会起作用 m.optimize(mycallback) _vars = m.getVars() print _vars[0].X 但如果我这样做了 def mycall

在我的gurobi(python)代码中有一个变量_vars[0]。完成优化后,我能够获得属性_vars[0].X。但是,当我在回调函数中执行相同的操作时,我会在'gurobipy.callbacksub'中得到以下错误“Exception AttributeError:AttributeError('',)”

如果我这样做,它会起作用

m.optimize(mycallback)
_vars = m.getVars()
print _vars[0].X
但如果我这样做了

def mycallback(m, where): 
     _vars =  m.getVars()
     a =  _vars[0].X
     print (a)
我得到了错误

"Exception AttributeError: AttributeError('',) in 'gurobipy.callbackstub' ignored"

有什么方法可以在回调函数中获取该属性的值吗?

这段代码对我很有用

    from gurobipy import *

    model = Model("test")
    var1 = model.addVar(ub=2.0, name="x")
    var2 = model.addVar(ub=2.0, name="y")

    def mycallback(model, where):
        vars = model.getVars()
        for v in vars:
            print(v.VarName)

   model.optimize(mycallback(model, GRB.Callback.MIP))

只是想澄清一下:假设你面对的是MIP。您想要在MIP中找到的每个新的现有解决方案的值,还是只想要优化终止后的最优解决方案的值?请尝试在
\u vars
变量上使用
for loop