回调函数值检索gurobi python getvars()时出错
在我的gurobi(python)代码中有一个变量_vars[0]。完成优化后,我能够获得属性_vars[0].X。但是,当我在回调函数中执行相同的操作时,我会在'gurobipy.callbacksub'中得到以下错误“Exception AttributeError:AttributeError('',)” 如果我这样做,它会起作用回调函数值检索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
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
。