2016-11-09 32 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樹)。