古罗比皮;在回调例程中将连续 [0,1] 变量更改为二进制

GurobiPy; Change continuous [0,1] variable to binary in callback routine

我正在使用 Gurobi Python 界面 gurobipy。我有一个包含很多变量的模型公式。我想将应该是二进制的不太重要的变量初始化为连续变量,并在需要时将它们更改为二进制。但是,这种情况不会经常发生。

我试过的解决方案,但这需要重建模型。在 GRB.Callback.MIPSOL 的回调例程中重建模型会导致崩溃。

这可能吗?或者我应该将所有变量都作为二进制引入,并在 GRB.Callback.MIPNODE?

中处理这些情况

Gurobi 优化器不支持在回调中更改变量类型(VType 属性)。处理 "less important variables" 的更好方法是将其 BranchPriority 属性设置为负值 (< 0)。