我正在使用cvxpy解决整数编程问题。对于可行的解决方案,用于cvxpy的.solve()方法会在十分之几秒的时间内返回。对于不可行的解决方案,cvxpy可能需要30秒钟以上的时间才能返回“不可行”。问题:
1)是否可以将超时值传递给resolve()方法?如果没有,从不希望无限期等待的python程序中调用cvxpy的推荐方法是什么?2)cvxpy通常需要30秒钟以上才能返回不可行吗?
此问题的答案取决于您使用的求解器。 This page总结了不同求解器的选项。
您可以看到CBC(硬币或分支和切割)具有maximumSeconds
选项,但大多数求解器没有类似的选项。
但是,大多数求解器允许您指定最大迭代次数,实际上,这将允许您进行一些控制以限制求解器停止所需的计算时间。