2016-11-09 12 views
1

我正在为MIP解决非常大的实例,并且希望将两个终止标准组合在一起。我知道如何使用的timeLimit和相对MIP差距既独立,并在同一时间,即如何在CPLEX中使用JAVA音乐会结合时间限制和间隙终止标准

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

对于几种情况,我想这两个准则结合两个具有以下两个阶段:

  • 阶段1:运行时高达1 H(无间隙极限=>解决到最优)
  • 如果没有最优解是在最初的1H中发现:
  • 阶段2:运行时最多至5h(最多4小时)&间隙限制= 0.1即whatev达到呃限制第一终止搜索

我能想到的就如何实现这两种方法:

  • 设置某些参数在模型中提出了两个阶段的方式运行
  • 开始优化与默认值(即没有时间或间隙限制),监视运行时间,如果它仍然在1h后运行=>添加时间和间隙限制作为终止标准。

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

建议,其他想法?先谢谢你。

回答

0

默认情况下,advanced start switch参数设置为1.因此,对于阶段1,您可以简单地运行具有初始时间限制的模型,并在完成时检查solution status。然后,如有必要,请更改参数并再次调用solve()进行阶段2(即CPLEX将继续部分探索的MIP树)。