作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Gurobi MILP 解算器设置 MIP 启动。我有一组二进制变量:
tupledict_m = master.addVars(list_m, name="m", vtype=GRB.BINARY)
其中 master 是 Gurobi 模型,list_m 是整数元组。我运行以下命令来设置起始值:
对于 list_m 中的 i:
tupledict_m[i].start = bool(m_values[i])
其中 m_values[i] 是 float 据类型的 1.0 或 0.0。之后,如果我打印:print([tupledict_m[i].start for i in list_m])
我到处都得到 1e+101。知道为什么以及如何解决这个问题吗?
最佳答案
[...] Recall that the Gurobi optimizer employs a lazy update approach, so changes to attributes don't take effect until the next call to Model.update, Model.optimize, or Model.write on the associated model.
因此,在为变量设置 mip start 后,您需要运行 master.update()
。
示例:
In [1]: from gurobipy import *
In [2]: m = Model()
Academic license - for non-commercial use only
In [3]: x = m.addVars(3, vtype=GRB.BINARY, name="x")
In [4]: x[2].start = 0
In [5]: print(x[2].start)
1e+101
In [6]: m.update()
In [7]: print(x[2].start)
0.0
关于python - MIP 在古罗比启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52456972/
我是一名优秀的程序员,十分优秀!