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

时间:2018-01-16 13:55:50

标签: python linear-programming gurobi integer-programming mixed-integer-programming

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

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

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

中处理这些情况

1 个答案:

答案 0 :(得分:2)

Gurobi Optimizer不支持在回调中更改变量类型(VType属性)。处理“不太重要的变量”的更好方法是将其BranchPriority属性设置为负值(< 0)。