我使用C编写代码并使用CPLEX优化器解决它。我想限制CPLEX上的时间,以便在时间大于10小时时停止解决。 我在线搜索,我找到了CPLEX的timelimit参数。但是,我不知道在哪里插入或如何使用它。 任何帮助将非常感激! 谢谢。
答案 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::TiLim
是deprecated。请改用IloCplex::Param::TimeLimit
:
cplex.setParam(IloCplex::Param::TimeLimit, 7200);