Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 古罗比;在回调例程中将连续[0,1]变量更改为二进制_Python_Linear Programming_Gurobi_Integer Programming_Mixed Integer Programming - Fatal编程技术网

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

Python 古罗比;在回调例程中将连续[0,1]变量更改为二进制,python,linear-programming,gurobi,integer-programming,mixed-integer-programming,Python,Linear Programming,Gurobi,Integer Programming,Mixed Integer Programming,我正在使用Gurobi-Python接口gurobipy。我有一个包含很多变量的模型公式。我想将不太重要的变量初始化为二进制连续变量,并在需要时将其更改为二进制。然而,这种情况不会经常发生 我尝试了来自的解决方案,但这需要重建模型。在GRB.callback.MIPSOL的回调例程中重建模型会导致崩溃 这可能吗?或者我应该以二进制形式引入所有变量,并在GRB.Callback.MIPNODE中处理这些情况?Gurobi Optimizer不支持在回调中更改变量类型(VType属性)。处理“不太重

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

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


这可能吗?或者我应该以二进制形式引入所有变量,并在
GRB.Callback.MIPNODE
中处理这些情况?

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

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

感谢您的快速响应!我已经手动设置了分支优先级,不太重要的变量都有分支优先级1,而其他变量有更高的值。这是否达到了相同的目标,或者我缺少的负分支优先级有什么特殊之处?关键问题是低优先级变量的BranchPriority值应该更小;我假设您对所有其他变量都使用默认值BranchPriority(0)。感谢您的快速响应!我已经手动设置了分支优先级,不太重要的变量都有分支优先级1,而其他变量有更高的值。这是否达到了相同的目标,或者我缺少的负分支优先级有什么特殊之处?关键问题是低优先级变量的BranchPriority值应该更小;我假设您对所有其他变量使用默认值BranchPriority(0)。