如何在我的代码中使用CPLEX时间限制?

时间:2013-09-22 10:10:08

标签: c linux cplex time-limiting

我使用C编写代码并使用CPLEX优化器解决它。我想限制CPLEX上的时间,以便在时间大于10小时时停止解决。 我在线搜索,我找到了CPLEX的timelimit参数。但是,我不知道在哪里插入或如何使用它。 任何帮助将非常感激! 谢谢。

3 个答案:

答案 0 :(得分:3)

C接口中的时间限制参数为CPX_PARAM_TILIM。它是一个双参数,该值表示cplex在返回到目前为止的最佳解决方案之前将运行的秒数(除非它之前找到了最佳解决方案)。您可以使用CPXsetdblparam功能设置参数。要设置10小时的时间限制,请致电

CPXsetdblparam(env, CPX_PARAM_TILIM, 36000.0);

默认情况下,cplex使用挂钟时间,但如果您需要10小时的CPU时间,则可以将整数参数CPX_PARAM_CLOCKTYPE设置为值1.

答案 1 :(得分:0)

在cplex(12.7.1版本)c ++接口中,我使用以下代码:

cplex.setParam(IloCplex::TiLim, 1);

所以cplex限制了运行时间:1s。

答案 2 :(得分:0)

从CPLEX 12.9版开始,IloCplex::TiLimdeprecated。请改用IloCplex::Param::TimeLimit

cplex.setParam(IloCplex::Param::TimeLimit, 7200);