gpt4 book ai didi

python - MIP 在古罗比启动

转载 作者:行者123 更新时间:2023-12-01 09:01:00 31 4
gpt4 key购买 nike

我正在尝试使用 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。知道为什么以及如何解决这个问题吗?

最佳答案

From the docs:

[...] 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/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com