在 Mosek+Cvxpy 中访问次优解

Accessing suboptimal solution in Mosek+Cvxpy

我们正在通过其 Cvxpy 接口使用 Mosek 求解器。

我们经常处理大规模优化问题,有时运行时间非常长。因此,我们使用 Mosek 的 mosek.dparam.optimizer_max_time 参数指定运行时间上限。

在那些情况下,痛点是我们找不到解决方案。

是否有可能找到 suboptimal/best 目前找到的解决方案?

如果Mosek在限定时间内没有找到任何可行的整数解,那么return就什么也没有了,所以你什么也得不到。

如果 Mosek 找到了一些可行的整数解决方案,那么 CVXPY 应该 return 它的解决方案状态 s.OPTIMAL_INACCURATE,从快速查看代码来看。

所以问题是它在日志输出中说了什么,以及当 CVXPY 正在处理求解器的答案时优化结束时会发生什么。