据我所知,Gurobi在调用Model.Terminate()
然后再次调用Model.Optimize()
后继续优化它离开的地方。所以到目前为止我可以终止并获得最佳解决方案然后继续。现在我想做同样的事情,但由于我想使用次优解决方案的一部分,我需要在调用{{1}之前将一些变量设置为固定值再次优化模型的其余部分。我怎么能这样做,以便gurobi不会重新开始?
答案 0 :(得分:1)
首先,听起来你正在描述一个混合整数程序(MIP);模型修改对于连续优化(线性规划,二次规划)是不同的。
修改MIP模型时,树信息不再有用。相反,您必须解决连续(LP)放松并创建新的分支切割树。但是,先前的解决方案仍然可以用作MIP启动,这可以减少第二个模型的求解时间。
但是,对于RINS algorithm automatic feature of Gurobi MIP,您的方法可能会多余。您可以通过RINS,SubMIPNodes和Heuristics参数控制RINS的行为。