模型修改后Gurobi恢复优化
Gurobi resume optimization after model modification
据我所知,Gurobi 在调用 Model.Terminate()
然后再次调用 Model.Optimize()
后恢复优化它离开的地方。所以我可以终止并获得目前为止最好的解决方案然后 proceed.Now 我想做同样的事情,但是因为我想使用部分次优解决方案我需要在调用 [= 之前将一些变量设置为固定值11=] 再次优化模型的其余部分。我该怎么做才能让 gurobi 不再重新开始?
首先,听起来您在描述一个混合整数程序 (MIP);连续优化(线性规划、二次规划)的模型修改不同。
修改 MIP 模型时,树信息不再有用。相反,您必须解决连续 (LP) 松弛并创建一个新的分支切割树。但是,仍然可以使用先前的解决方案作为 MIP 的开始,这可以减少第二个模型的求解时间。
但是,您的方法可能与RINS algorithm, which is an automatic feature of Gurobi MIP是多余的。您可以通过参数 RINS、SubMIPNodes 和 Heuristics 控制 RINS 的行为。
据我所知,Gurobi 在调用 Model.Terminate()
然后再次调用 Model.Optimize()
后恢复优化它离开的地方。所以我可以终止并获得目前为止最好的解决方案然后 proceed.Now 我想做同样的事情,但是因为我想使用部分次优解决方案我需要在调用 [= 之前将一些变量设置为固定值11=] 再次优化模型的其余部分。我该怎么做才能让 gurobi 不再重新开始?
首先,听起来您在描述一个混合整数程序 (MIP);连续优化(线性规划、二次规划)的模型修改不同。
修改 MIP 模型时,树信息不再有用。相反,您必须解决连续 (LP) 松弛并创建一个新的分支切割树。但是,仍然可以使用先前的解决方案作为 MIP 的开始,这可以减少第二个模型的求解时间。
但是,您的方法可能与RINS algorithm, which is an automatic feature of Gurobi MIP是多余的。您可以通过参数 RINS、SubMIPNodes 和 Heuristics 控制 RINS 的行为。