n 和 m 约为 5-15K 的复杂 SDP 的最佳平台?

计算科学 约束优化 凸优化 半定规划 软件推荐
2021-12-15 21:25:35

我正在寻找使用半定锥来解决一类具有复杂条目的 SDPSn,n大约 5000 到 15000。另外,m,等式/不等式约束的数量接近n.

我试过SeDuMi但我很快就用完了内存SDPT3CVXn=1000,m=1000(我有大约 50 GB 可用)。你能推荐我可以使用的其他(免费)SDP求解器吗?

我查看了 的文档SDPA,它声称内存使用量比上面提到的求解器低得多。在其中一种情况下,据称内存使用率约为 5% SDPT3我的问题中的矩阵不是很稀疏,但大约有 20% 的非零。

YALMIP+SDPA解决我问题的好组合吗?

请注意,我涉及复数,如果可能的话,我想避免更改我的公式以将所有内容都转换为实数。

1个回答

您可以尝试使用 SCS,直接或间接求解器。SCS 使用一阶方法,因此可能能够解决比 SDPT3、SeDuMi、MOSEK 等二阶求解器更大的问题。不利的一面是,鉴于它是一阶求解器,它可能会非常慢- 但非常慢可能总比没有好。

论文:http ://web.stanford.edu/~boyd/papers/pdf/scs.pdf

MATLAB代码(需要制作):https ://github.com/cvxgrp/scs/tree/master/matlab

您可以在 YALMIP 或 CVX 3.0 beta 下使用 SCS。在 CVX 3.0 beta 下,您可以指定

cvx_solver scs

这将调用 SCS 直接求解器。要调用 SCS 间接求解器,还要执行

cvx_solver_settings('use_indirect',true);