问题描述
我已经在 python 中设置了 docplex api,我正在尝试运行优化模型。根据 IBM 文档,可以使用以下命令为问题设置 cpu 时间限制:
mdl.solve(TimeLimit=60)
然而,这个属性不能正常工作。虽然它会终止搜索过程,但它会在比属性的给定值(即 186 、... 谁能告诉我如何克服这个问题?
解决方法
默认情况下,'TimeMode' 参数设置为 'ElapsedTime',这意味着您应该检查经过的时间而不是 CPU 时间。特别是,如果您有多个 worker(默认情况下,worker 的数量是内核数),CPU 时间通常大于经过的时间。
但是,在某些取决于您的模型的非常特殊的情况下,初始模型传播(在求解本身之前完成)可能会花费比给定时间限制更多的时间。为确保这一点,请以 CPO 文件格式提供您的模型。您可以使用:
mdl.export_model(out=<file name>)