有没有办法让cvxpy超时

Is there a way to make cvxpy timeout

我正在使用 cvxpy 解决整数规划问题。对于可行的解决方案,cvxpy returns 的 .solve() 方法在十分之几秒内完成。对于不可行的解决方案,cvxpy 可能需要 30 秒以上才能达到 return "infeasible"。问题:

1) 有没有办法将超时值传递给 solve() 方法?如果不是,从我不想无限期等待的 python 程序调用 cvxpy 的推荐方法是什么?
2) cvxpy 通常需要 30 秒以上才能 return 不可行吗?

这个问题的答案取决于您使用的求解器。 This page 总结了不同求解器的选项。

您可以看到 CBC(投币或分支切割)有一个 maximumSeconds 选项,但大多数求解器没有类似的选项。

但是,大多数求解器允许您指定最大迭代次数,这实际上允许您进行一些控制来限制求解器停止所需的计算时间。