繁体   English   中英

如何使用JAVA Concert在CPLEX中结合时限和间隙终止标准

[英]How to combine timelimit and gap termination criterion in CPLEX using JAVA concert

我正在为MIP解决非常大的实例,并希望将两个终止标准结合起来。 我知道如何单独和同时使用timeLimit和相对MIP间隙,即

cplex.setParam(IloCplex.Param.MIP.Tolerances.MIPGap, 0.1);
cplex.setParam(IloCplex.Param.TimeLimit, 3600);

在几个例子中,我想结合两个标准,其中两个有以下两个阶段:

  • 阶段1:运行时间长达1小时(无间隙限制=>解决最优性)
  • 如果在前1小时内没有找到最佳解决方案:
  • 阶段2:运行时间最长5小时(最多4小时)和间隙限制= 0.1即达到任何限制首先终止搜索

我可以想到两种方法来实现这一目标:

  • 在模型中设置某些参数,以便在建议的两阶段方法中运行它
  • 使用默认值(即没有时间或间隙限制)启动优化,监控运行时,如果在1h后仍然运行=>添加时间和间隙限制作为终止标准。

不幸的是,我不知道如何实现这些方法。

建议,其他想法? 先感谢您。

默认情况下, 高级启动开关参数设置为1.因此,对于阶段1,您可以使用初始时间限制运行模型,并在完成时检查解决方案状态 然后,如有必要,更改参数并再次为阶段2调用solve() (即,CPLEX将继续部分探索的MIP树)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM