gurobi python:如何在MIPSOL回调中获取当前解决方案的LinExpr的值?

时间:2018-12-20 11:24:22

标签: python mathematical-optimization gurobi

GRB.Callback.MIPSOL回调中,我想获取expression的值(针对当前解决方案),它是LinExpr

尝试调用expression.getValue()并在回调内部时得到一个AttributeError(在优化完成后有效)。

我能找到的最好的是:

vals = model.cbGetSolution([expression.getVar(i) for i in range(expression.size())])
coefs = [expression.getCoeff(i) for i in range(expression.size())]
val = sum([a * b for a, b in zip(vals, coefs)])

0 个答案:

没有答案