带二次约束的凸优化问题求解咨询
我太懂这种明明感觉问题不难,但卡了好几个小时的憋屈感了😤!先把你的问题再明确下,方便我们一步步拆解:
求解优化问题:
$$ \min_{x} c^Tx $$
约束条件:
$$||Ax||^2_2 \le 1 $$
其中矩阵 $$A \succ 0$$(即A是实对称正定矩阵)
首先回答你的第一个问题:这是二阶锥约束吗?
答案是可以转化为标准二阶锥约束。二阶锥的标准形式是 $|y|_2 \leq t$(其中t是一个非负标量),而你的约束 $|Ax|_2^2 \leq 1$ 等价于 $|Ax|_2 \leq 1$(因为欧氏范数本身非负,平方不超过1和范数不超过1是完全等价的)。把 $y=Ax$、$t=1$ 代入标准形式,就得到了二阶锥约束 $|y|_2 \leq t$,同时加上线性等式约束 $y=Ax$,所以整个问题可以被表述为一个二阶锥规划(SOCP)。
接下来拆解等价问题,求解最优解$x^*$
因为A是正定矩阵,它必然可逆,我们可以通过变量替换简化问题:
令 $z = Ax$,那么 $x = A^{-1}z$,代入原问题后,问题转化为:
$$ \min_{z} c^T A^{-1} z $$
约束条件:
$$|z|_2^2 \leq 1 $$
这就变成了一个非常经典的问题:线性函数在单位欧氏球上的最小化。根据柯西-施瓦茨不等式,线性函数 $d^T z$(这里 $d = A^{-1}c$)在 $|z|_2 \leq 1$ 上的最小值为 $-|d|_2$,对应的最优$z^* = -\frac{d}{|d|_2} = -\frac{A{-1}c}{|A{-1}c|_2}$。
再把$z^$代回$x = A^{-1}z$,就能得到原问题的最优解:
$$x^ = -\frac{A{-2}c}{|A{-1}c|_2}$$
如果你习惯用拉格朗日乘数法验证,也可以这么做:
构造拉格朗日函数 $L(x, \lambda) = c^T x + \lambda(|Ax|_2^2 -1)$($\lambda \geq 0$ 是拉格朗日乘数),对x求导并令导数为0:
$$\nabla_x L = c + 2\lambda A^T A x = 0$$
因为A正定,$A^T A$可逆,所以 $x = -\frac{c}{2\lambda A^T A}$。代入约束条件 $|Ax|_2^2=1$,可以解出 $\lambda = \frac{1}{2}\sqrt{c^T A^{-2}c}$,再代回x的表达式,最终得到的最优解和变量替换法的结果完全一致。
备注:内容来源于stack exchange,提问作者bikeactuary

