Gurobi Python API回调
回答问候,
我一直使用回调函数在python API MIP问题。因为某些原因,运行代码:
在哪里= =伽马线暴。回调。米兰理工大学管理学院
best_bnd=模型。cbGet(伽马线暴。回调。MIP_OBJBND)
给我的客观价值四舍五入到最接近的整数价值。类型是双根据Gurobi文档,但出于某种原因,输出一个整数的价值。manbet体育手机客户端
我一直在使用“bm23”实例。
有办法non-rounded值吗?
希望我能找到一些帮助!
谢谢你!
-
模型的目标函数\ (\ texttt {bm23} \)是不可或缺的。报告的客观约束Gurobi通过\ \ texttt {GRB.Callback。MIP_OBJBND} \) exploits the integrality of the objective function by rounding up to the nearest integer. This results in a tighter (and completely valid) bound. Is there a reason you want to query the weaker objective bound?
0 -
你好,
我想查询目标函数应用在根节点的削减。实例的值“bm23”根节点是20.57092但是利用MIP回调函数值是圆形的21。有办法没有舍入值?
谢谢你!
0 -
Gurobi C API包括必要的常数查询“连续”目标约束(ObjBoundC在回调)。连续的目标不包括额外的完整性加强。在\ \ texttt {gurobi_c。h} \),我们有:
#定义GRB_CB_MIP_OBJBNDC 3007
#定义GRB_CB_MIPSOL_OBJBNDC 4007
#定义GRB_CB_MIPNODE_OBJBNDC 5008查询连续目标绑定在一个\ (\ texttt {MIP} \)回调通过Python API,通过在整数代码相关的C API \ (\ texttt {GRB_CB_MIP_OBJBNDC} \)不变Model.cbGet ():
MIP_OBJBNDC = 3007
def cb(模型):
如果在哪里= = GRB.Callback.MIP:
objbndc = model.cbGet (MIP_OBJBNDC)
打印(objbndc)注意,这些回调代码是故意非法,因为(我)难得想查询连续绑定时更严格的约束是现成的,和(2)结果可能不会如预期MILPs以外的问题。
0 -
它工作!
谢谢你!
0
请登录留下你的评论。
评论
4评论