2013-09-22 6 views
1

Я использую C, чтобы написать свой код и решить его с помощью оптимизатора CPLEX. Я хочу ограничить время на CPLEX, чтобы он прекратил решение, если время больше 10 часов. У меня есть поиск в Интернете, и я нашел параметр timelimit для CPLEX. Однако я не знаю, где его вставить или как его использовать. Любая помощь будет высоко оценена! Спасибо.Как использовать CPLEX timelimit в моем коде?

ответ

3

Параметр для ограничения по времени на интерфейсе C: CPX_PARAM_TILIM. Это двойные параметры, и значение представляет собой количество секунд, с которое будет выполняться cplex, прежде чем вернуть лучшее решение, которое оно имеет до сих пор (если оно не найдет оптимальное решение ранее). Вы устанавливаете параметр с помощью функции CPXsetdblparam. Для того, чтобы установить лимит времени в 10 часов, вы могли бы назвать

CPXsetdblparam(env, CPX_PARAM_TILIM, 36000.0); 

По умолчанию CPLEX использует настенные часы время, но если вы хотите 10 часов процессорного времени, вы можете установить CPX_PARAM_CLOCKTYPE целочисленного параметра в значение 1.

0

В CPLEX (12.7.1 версия) C++ интерфейс, я использую следующий код:

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

так CPLEX имеет предел время работы: 1s.

Смежные вопросы