将核范数约束转换为 LMI 约束

计算科学 Python 凸优化 半定规划
2021-12-26 05:44:37

我正在尝试解决其中一个约束条件为的凸优化问题

Ma

其中M表示矩阵M的核范数。我在 Python 中使用CVXOPT将其作为线性程序 (LP) 来解决,但核范数(奇异值之和)不是一个很好的线性约束。我该如何制定这个?

1个回答

引用迈克尔格兰特 [MG'14]:

核范数不等式当且仅当存在对称矩阵 ,满足XyW1W2

[W1XXTW2]0, TrW1+TrW22y

这里,应该被解释为意味着块矩阵是半正定的。由于这种转换,您可以在任何半定编程设置中处理核范数的最小化或核范数的上限。02×2

请注意,CVXOPT有一个半定规划 (SDP) 求解器。


[MG'14] Michael Grant,关于其论点的核范数的导数,数学堆栈交换,2014 年 3 月。