2017-08-07 59 views
0

据我所知,Gurobi在致电Model.Terminate()后恢复优化,然后再次致电Model.Optimize()。因此,我可以终止并获得目前为止的最佳解决方案,然后继续。现在我想要做同样的事情,但由于我想要使用次优解决方案的某些部分,因此我需要将一些变量设置为固定值,然后再次调用Model.Optimize()并优化模型的其余部分。我如何做到这一点,使古罗比不会重新开始?Gurobi在模型修改后恢复优化

回答

1

首先,它听起来像是在描述一个混合整数程序(MIP);对于连续优化(线性规划,二次规划),模型修改是不同的。

修改MIP模型时,树信息不再有用。相反,您必须解决连续(LP)放松并创建一个新的分支切割树。但是,先前的解决方案仍然可以用作MIP启动,这可以减少第二个模型的解决时间。

但是,您的方法可能与RINS algorithm冗余,这是automatic feature of Gurobi MIP。您可以通过参数RINS,SubMIPNodes和Heuristics控制RINS的行为。

+0

是的,你是对的,我正在使用MIP和生病有仔细看RINS(即时通讯/ IP/MIP相当新) - 谢谢你的答案 – MrWoffle