如何通过命令行工具在 COIN-OR Cbc 中设置超时?

How to set a timeout in COIN-OR Cbc via the command line tool?

我正在通过 cbc 命令行工具使用 COIN-OR Cbc,如果计算时间过长,我需要中止一些计算。

我知道我可以围绕 cbc 编写一个控制进程以在超时到期后将其终止。我也知道我可以使用 cbc 作为 C++ 库。两者看起来都很麻烦,我正在寻找更简单直接的解决方案。

是否可以直接通过 cbc 命令行工具实现?

如果没有,是否有使用 cbc 作为 C++ 库的简单方法? (读取 *.lp 文件,应用超时,创建 *.soln 文件)

是的。使用 -sec 命令行选项。完整的命令行是:

cbc -sec 10 -import inputfile.lp -solve

这相当于 运行 交互式会话,只需在命令行中键入 cbc,然后输入以下命令:

sec 10
import inputfile.lp
solve