ошибка при получении значения функции обратного вызова gurobi python getvars () - PullRequest
0 голосов
/ 26 августа 2018

У меня есть переменная _vars [0] в моем коде gurobi (python).Я могу получить атрибут _vars [0] .X после завершения оптимизации.но когда я делаю ту же операцию внутри моей функции обратного вызова, я получаю эту ошибку "Exception AttributeError: AttributeError ('',) в 'gurobipy.callbackstub' игнорируется"

, если работает,

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"

Есть ли способ получить значение этого атрибута в функции обратного вызова?

1 Ответ

0 голосов
/ 05 сентября 2018

Этот код работал для меня.

    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))
...