优化问题-半正定规划(Semi-Definite Program, SDP)

这篇具有很好参考价值的文章主要介绍了优化问题-半正定规划(Semi-Definite Program, SDP)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

半正定规划(Semi-Definite Program, SDP)在MIMO无线通信相关的信号处理中具有广泛的应用,在某些场景可以分析证明SDP的得到的解释原问题的全局最优化或者次优解。因此,对其做一个简要介绍,同时其与LPQP、QCQP、SOCP的关系。

  • 符号说明: X ⪰ 0 \mathbf{X} \succeq \mathbf{0} X0代表PSD矩阵, x ⪰ 0 \mathbf{x} \succeq \mathbf{0} x0代表列向量的每个元素均大于等于0。

SDP的两种形式

  • 不等式形式:
    min ⁡ c T x  s.t.  F ( x ) ⪯ 0 \begin{array}{ll}\min & \mathbf{c}^{\mathrm{T}} \mathbf{x} \\ \text { s.t. } & \mathbf{F}(\mathbf{x}) \preceq \mathbf{0}\end{array} min s.t. cTxF(x)0

其中 c ∈ R n \mathbf{c} \in \mathbb{R}^n cRn,求解变量 x ∈ R n \mathbf{x} \in \mathbb{R}^n xRn。约束条件为线性矩阵不等式。即: F ( x ) = F 0 + x 1 F 1 + ⋯ + x n F n \mathbf{F}(\mathbf{x})=\mathbf{F}_0+x_1 \mathbf{F}_1+\cdots+x_n \mathbf{F}_n F(x)=F0+x1F1++xnFn
:若具有多个LMI约束,可以归结为只有一个LMI约束,其等价于: DIAG ⁡ ( F 1 ( x ) , … , F m ( x ) ) ⪯ 0 \operatorname{DIAG}\left(\mathbf{F}_1(\mathbf{x}), \ldots, \mathbf{F}_m(\mathbf{x})\right) \preceq \mathbf{0} DIAG(F1(x),,Fm(x))0

  • 标准形式:
    min ⁡ Tr ⁡ ( C X )  s.t.  X ⪰ 0 Tr ⁡ ( A i X ) = b i ∈ R , i = 1 , … , m \begin{array}{cl} \min & \operatorname{Tr}(\mathbf{C X}) \\ \text { s.t. } & \mathbf{X} \succeq \mathbf{0} \\ & \operatorname{Tr}\left(\mathbf{A}_i \mathbf{X}\right)=b_i \in \mathbb{R}, i=1, \ldots, m \end{array} min s.t. Tr(CX)X0Tr(AiX)=biR,i=1,,m
    其中, A i ∈ S n , C ∈ S n \mathbf{A}_i \in \mathbb{S}^n, \mathbf{C} \in \mathbb{S}^n AiSn,CSn,变量 X ∈ S n \mathbf{X} \in \mathbb{S}^n XSn

:不等式形式和标准形式是等价的,后面将证明。

QCQP和SOCP转化为SDP

引入一个重要的定理:Schur补定理
其定义如下:
假设 A ∈ S + + n , C ∈ S m \mathbf{A} \in \mathbb{S}_{++}^n, \mathbf{C} \in \mathbb{S}^m AS++n,CSm,则当且仅当 S A ≜ C − B T A − 1 B ⪰ 0 \mathbf{S}_{\mathbf{A}} \triangleq \mathbf{C}-\mathbf{B}^{\mathrm{T}} \mathbf{A}^{-1} \mathbf{B} \succeq \mathbf{0} SACBTA1B0成立时有:
S ≜ [ A B B T C ] ⪰ 0 \mathbf{S} \triangleq\left[\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{B}^{\mathrm{T}} & \mathbf{C} \end{array}\right] \succeq \mathbf{0} S[ABTBC]0
反之亦然。

因此,凸二次不等式: ( A x + b ) T ( A x + b ) − c T x − d ⩽ 0 , ∀ x ∈ R n (\mathbf{A x}+\mathbf{b})^{\mathrm{T}}(\mathbf{A x}+\mathbf{b})-\mathbf{c}^{\mathrm{T}} \mathbf{x}-d \leqslant 0, \forall \mathbf{x} \in \mathbb{R}^n (Ax+b)T(Ax+b)cTxd0,xRn成立的充要条件是如下的LMI成立:
[ I A x + b ( A x + b ) T c T x + d ] ⪰ 0 , ∀ x ∈ R n \left[\begin{array}{cc} \mathbf{I} & \mathbf{A x}+\mathbf{b} \\ (\mathbf{A x}+\mathbf{b})^{\mathrm{T}} & \mathbf{c}^{\mathrm{T}} \mathbf{x}+d \end{array}\right] \succeq \mathbf{0}, \forall \mathbf{x} \in \mathbb{R}^n [I(Ax+b)TAx+bcTx+d]0,xRn

  • QCQP问题:
    考虑凸QCQP问题:
    min ⁡ x ∈ R n ∥ A 0 x + b 0 ∥ 2 2 − c 0 T x − d 0  s.t.  ∥ A i x + b i ∥ 2 2 − c i T x − d i ⩽ 0 , i = 1 , … , m \begin{aligned} \min _{\mathbf{x} \in \mathbb{R}^n} &\left\|\mathbf{A}_0 \mathbf{x}+\mathbf{b}_0\right\|_2^2-\mathbf{c}_0^{\mathrm{T}} \mathbf{x}-d_0 \\ \text { s.t. } &\left\|\mathbf{A}_i \mathbf{x}+\mathbf{b}_i\right\|_2^2-\mathbf{c}_i^{\mathrm{T}} \mathbf{x}-d_i \leqslant 0, i=1, \ldots, m \end{aligned} xRnmin s.t. A0x+b022c0Txd0Aix+bi22ciTxdi0,i=1,,m
    其上镜图形式可以表示为:
    min ⁡ x ∈ R n , t ∈ R t  s.t.  [ I A 0 x + b 0 ( A 0 x + b 0 ) T c 0 T x + d 0 + t ] ⪰ 0 [ I A i x + b i ( A i x + b i ) T c i T x + d i ] ⪰ 0 , i = 1 , … , m \begin{array}{rl} \min _{\mathbf{x} \in \mathbb{R}^n, t \in \mathbb{R}} & t \\ \text { s.t. } & {\left[\begin{array}{cc} \mathbf{I} & \mathbf{A}_0 \mathbf{x}+\mathbf{b}_0 \\ \left(\mathbf{A}_0 \mathbf{x}+\mathbf{b}_0\right)^{\mathrm{T}} & \mathbf{c}_0^{\mathrm{T}} \mathbf{x}+d_0+t \end{array}\right] \succeq \mathbf{0}} \\ & {\left[\begin{array}{cc} \mathbf{I} & \mathbf{A}_i \mathbf{x}+\mathbf{b}_i \\ \left(\mathbf{A}_i \mathbf{x}+\mathbf{b}_i\right)^{\mathrm{T}} & \mathbf{c}_i^{\mathrm{T}} \mathbf{x}+d_i \end{array}\right] \succeq \mathbf{0}, i=1, \ldots, m} \end{array} minxRn,tR s.t. t[I(A0x+b0)TA0x+b0c0Tx+d0+t]0[I(Aix+bi)TAix+biciTx+di]0,i=1,,m
    该问题是SDP

  • SOCP问题:
    同样地,对于二阶锥不等式: ∥ A x + b ∥ 2 ⩽ f T x + d , x ∈ R n \|\mathbf{A} \mathbf{x}+\mathbf{b}\|_2 \leqslant \mathbf{f}^{\mathrm{T}} \mathbf{x}+d, \mathbf{x} \in \mathbb{R}^n Ax+b2fTx+d,xRn,其可以表示为 f T x + d − 1 f T x + d ( A x + b ) T ( A x + b ) ⩾ 0 , x ∈ R n \mathbf{f}^{\mathrm{T}} \mathbf{x}+d-\frac{1}{\mathbf{f}^{\mathrm{T}} \mathbf{x}+d}(\mathbf{A} \mathbf{x}+\mathbf{b})^{\mathrm{T}}(\mathbf{A} \mathbf{x}+\mathbf{b}) \geqslant 0, \quad \mathbf{x} \in \mathbb{R}^n fTx+dfTx+d1(Ax+b)T(Ax+b)0,xRn,根据Schur补,其等价为LMI:
    [ ( f T x + d ) I m A x + b ( A x + b ) T f T x + d ] ⪰ 0 , x ∈ R n \left[\begin{array}{cc} \left(\mathbf{f}^{\mathrm{T}} \mathbf{x}+d\right) \mathbf{I}_m & \mathbf{A x}+\mathbf{b} \\ (\mathbf{A x}+\mathbf{b})^{\mathrm{T}} & \mathbf{f}^{\mathrm{T}} \mathbf{x}+d \end{array}\right] \succeq \mathbf{0}, \quad \mathbf{x} \in \mathbb{R}^n [(fTx+d)Im(Ax+b)TAx+bfTx+d]0,xRn

SDP在组合优化中的应用

考虑如下的Boolean二次规划(BQP)问题:
max ⁡ x T C x  s.t.  x i ∈ { − 1 , + 1 } , i = 1 , … , n  (即  x ∈ { − 1 , + 1 } n ) \begin{aligned} \max &\qquad \mathrm{x}^{\mathrm{T}} \mathbf{C x} \\ \text { s.t. } &\quad\left.x_i \in\{-1,+1\}, i=1, \ldots, n \text { (即 } \mathbf{x} \in\{-1,+1\}^n\right) \end{aligned} max s.t. xTCxxi{1,+1},i=1,,n ( x{1,+1}n)
分析:当 C ⪰ 0 \mathbf{C} \succeq \mathbf{0} C0时,该目标函数为凸函数,但约束问题等于非仿射射约束 x i 2 = 1 , i = 1 , … , n x_i^2=1, i=1, \ldots, n xi2=1,i=1,,n,故该问题是非凸的。青桔发求解BQP的复杂度是 2 n 2^n 2n。接下来将以此为例子讨论如何通过半正定松弛(Semi-Definite Relaxation, SDR)求解BQP问题。

首先引入如下辅助变量: X = x x T \mathbf{X}=\mathbf{xx}^{\mathbf{T}} X=xxT,原BQP问题等价为:
max ⁡ x , X Tr ⁡ ( C X )  s.t.  X = x x T [ X ] i i = 1 , i = 1 , … , n \begin{aligned} \max _{\mathbf{x}, \mathbf{X}} & \quad\operatorname{Tr}(\mathbf{C X}) \\ \text { s.t. } &\quad \mathbf{X}=\mathbf{x x}^{\mathrm{T}} \\ & \quad{[\mathbf{X}]_{i i}=1, i=1, \ldots, n } \end{aligned} x,Xmax s.t. Tr(CX)X=xxT[X]ii=1,i=1,,n

分析 X = x x T \mathbf{X}=\mathbf{xx}^{\mathbf{T}} X=xxT X \mathbf{X} X是秩-1的PSD矩阵),等价于
X = x x T ⟺ X ⪰ 0  且  rank ⁡ ( X ) = 1 \mathbf{X}=\mathrm{xx}^{\mathrm{T}} \Longleftrightarrow \mathbf{X} \succeq \mathbf{0} \text { 且 } \operatorname{rank}(\mathbf{X})=1 X=xxTX0  rank(X)=1
如果去掉秩-1约束,放松为 X ⪰ 0 \mathrm{X} \succeq 0 X0(这种去掉秩-1约束的松弛方法称为:SDR),可以得到如下的SDP问题:
max ⁡ Tr ⁡ ( C X )  s.t.  X ⪰ 0 [ X ] i i = 1 , i = 1 , … , n \begin{aligned} \max & \quad\operatorname{Tr}(\mathbf{C X}) \\ \text { s.t. } & \quad\mathbf{X} \succeq \mathbf{0} \\ &\quad {[\mathbf{X}]_{i i}=1, i=1, \ldots, n } \end{aligned} max s.t. Tr(CX)X0[X]ii=1,i=1,,n
该SDP问题成为前者优化问题的BQP。前者的约束集包含后者的约束集合,即SDP问题是原问题的一个下界。

如果SDP问题得以解决,其秩恰好为1,通过特征值分解: X ⋆ = x ⋆ x ⋆ T \mathbf{X}^{\star}=\mathbf{x}^{\star} \mathbf{x}^{\star T} X=xxT可以得到原问题最优解,若秩不为1,则可以通过两种方法得到原问题的近似解:

  • 秩-1近似:选 X \mathbf{X} X的主特征向量 x ^ \widehat{\mathbf{x}} x ,再利用 [ x ^ ] i = sgn ⁡ ( [ x ~ ] i ) [\widehat{\mathbf{x}}]_i=\operatorname{sgn}\left([\tilde{\mathbf{x}}]_i\right) [x ]i=sgn([x~]i)得到近似解
  • 高斯随机化:产生 L L L个服从均值为 0 \mathbf{0} 0,协方差矩阵为 X ∗ \mathbf{X}^* X的高斯随机向量 { ξ ( ℓ ) , ℓ = 1 , … , L } \left\{\boldsymbol{\xi}^{(\ell)}, \ell=1, \ldots, L\right\} {ξ(),=1,,L},再将其量化进行如下量化: [ x ^ ( ℓ ) ] i = sgn ⁡ ( [ ξ ( ℓ ) ] i ) , ∀ i \left[\widehat{\mathbf{x}}^{(\ell)}\right]_i=\operatorname{sgn}\left(\left[\boldsymbol{\xi}^{(\ell)}\right]_i\right), \quad \forall i [x ()]i=sgn([ξ()]i),i,最后得到 x ^ = x ^ ( ℓ ∗ ) \widehat{\mathbf{x}}=\widehat{\mathbf{x}}^{\left(\ell^*\right)} x =x (),其中: ℓ ⋆ = arg ⁡ max ⁡ ℓ = 1 , … , L ( x ^ ( ℓ ) ) T C x ^ ( ℓ ) \ell^{\star}=\arg \max _{\ell=1, \ldots, L}\left(\widehat{\mathbf{x}}^{(\ell)}\right)^{\mathrm{T}} \mathbf{C} \widehat{\mathbf{x}}^{(\ell)} =argmax=1,,L(x ())TCx ()

在很多时候,高斯随机化方法得到的近似解优于秩1近似解。

SDR的一些例子

下行发送功率最小化

考虑如下下行广播信道的波束成形问题:
y i = h i T f s + v i , i = 1 , … , n y_i=\mathbf{h}_i^{\mathrm{T}} \mathbf{f} s+v_i, i=1, \ldots, n yi=hiTfs+vi,i=1,,n
承载信号 s ∈ C s \in \mathbb{C} sC满足: E { ∣ s ∣ 2 } = 1 \mathbb{E}\left\{|s|^2\right\}=1 E{s2}=1

该问题对发射功率最小化,并保证每个接收端的SNR不小于阈值 γ 0 \gamma_0 γ0,即:
γ i = ∣ h i T f ∣ 2 σ i 2 ⩾ γ 0 , i = 1 , … , n \gamma_i=\frac{\left|\mathbf{h}_i^{\mathrm{T}} \mathbf{f}\right|^2}{\sigma_i^2} \geqslant \gamma_0, i=1, \ldots, n γi=σi2hiTf2γ0,i=1,,n
有: ∣ h i T f ∣ 2 = ( h i T f ) f H h i ∗ = Tr ⁡ ( f f H h i ∗ h i T ) \left|\mathbf{h}_i^{\mathrm{T}} \mathbf{f}\right|^2=\left(\mathbf{h}_i^{\mathrm{T}} \mathbf{f}\right) \mathbf{f}^{\mathrm{H}} \mathbf{h}_i^*=\operatorname{Tr}\left(\mathbf{f f}^{\mathrm{H}} \mathbf{h}_i^* \mathbf{h}_i^{\mathrm{T}}\right) hiTf2=(hiTf)fHhi=Tr(ffHhihiT),令 Q i = h i ∗ h i T / ( γ 0 σ i 2 ) \mathbf{Q}_i=\mathbf{h}_i^* \mathbf{h}_i^{\mathrm{T}} /\left(\gamma_0 \sigma_i^2\right) Qi=hihiT/(γ0σi2),有优化问题如下:
min ⁡ ∥ f ∥ 2 2  s.t.  Tr ⁡ ( f f H Q i ) ⩾ 1 , i = 1 , … , n \begin{aligned} \min &\quad\|\mathbf{f}\|_2^2 \\ \text { s.t. } & \quad\operatorname{Tr}\left(\mathbf{f} \mathbf{f}^{\mathrm{H}} \mathbf{Q}_i\right) \geqslant 1, i=1, \ldots, n \end{aligned} min s.t. f22Tr(ffHQi)1,i=1,,n
该问题非凸,并且是NP-hard的。原问题等价为:
min ⁡ f ∈ C m , F ∈ H m Tr ⁡ ( F )  s.t.  F = f f H , Tr ⁡ ( F Q i ) ⩾ 1 , i = 1 , … , n \begin{aligned} \min _{\mathbf{f} \in \mathbb{C}^m, \mathbf{F} \in \mathbb{H}^m} & \quad\operatorname{Tr}(\mathbf{F}) \\ \text { s.t. } & \quad\mathbf{F}=\mathbf{f f}^{\mathrm{H}}, \operatorname{Tr}\left(\mathbf{F} \mathbf{Q}_i\right) \geqslant 1, i=1, \ldots, n \end{aligned} fCm,FHmmin s.t. Tr(F)F=ffH,Tr(FQi)1,i=1,,n
利用SDR近似,有:
min ⁡ Tr ⁡ ( F )  s.t.  F ⪰ 0 , Tr ⁡ ( F Q i ) ⩾ 1 , i = 1 , … , n \begin{array}{ll} \min & \operatorname{Tr}(\mathbf{F}) \\ \text { s.t. } & \mathbf{F} \succeq \mathbf{0}, \operatorname{Tr}\left(\mathbf{F} \mathbf{Q}_i\right) \geqslant 1, i=1, \ldots, n \end{array} min s.t. Tr(F)F0,Tr(FQi)1,i=1,,n

在RIS 、HBF中也有诸多应用,但是基本的原理万变不离其宗,太多例子,不再赘述。文章来源地址https://www.toymoban.com/news/detail-796225.html

到了这里,关于优化问题-半正定规划(Semi-Definite Program, SDP)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 01背包问题----动态规划 -----python代码、优化

    01背包问题----动态规划 -----python代码、优化

    问题描述: 容量为C的背包选择装物品,有n个物品,它们有各自的体积wi和价值vi,如何让背包里装入的物品具有最大价值? 解题思路: 也就是n个物品选择装入背包,每个物品都有两种选择,是(1)或否(0), 建模:       xi表示当前第i个物品是否选择,xi取值为(0,1)

    2024年02月04日
    浏览(15)
  • OM | 强化学习 + 约束规划求解组合优化问题

    OM | 强化学习 + 约束规划求解组合优化问题

    组合优化在航空航天、交通规划以及经济学等众多学科领域中有广泛应用,其目标是在有限集中寻找最优解。然而状态空间过大的问题让目前组合优化变得棘手。在过去的几年中,使用深度强化学习(deep reinforcement learning,DRL)解决组合优化问题受到广泛关注。然而,现有的

    2024年02月10日
    浏览(14)
  • 【动态规划之完全背包问题】完全背包问题的通用解法与优化

    【动态规划之完全背包问题】完全背包问题的通用解法与优化

    ⭐️ 前面的话 ⭐️ 本篇文章将介绍动态规划中的背包问题——完全背包问题,前面我们已经介绍了0-1背包问题,其实完全背包问题就只改了0-1背包问题的一个条件,即物品可选择次数由一次改为无数次,仅此而已,下面我们就来开始介绍完全背包问题。 📒博客主页:未见

    2023年04月22日
    浏览(49)
  • 高速铁路动车交路计划、运行图的优化规划问题

    感谢课程组老师的精彩授课与指导,题目来自课程组,仅作为学习记录使用! 仅供参考,欢迎共同探讨! 某个区域路网中有A、B和C三个高速铁路车站,A-B和B-C间距离分别为400km和900km,动车所1、2和3分别为车站A、B和C提供服务。提供列车时刻表中列车航空线图表示,横坐标为

    2024年02月02日
    浏览(9)
  • 机器人中的数值优化(十二)——带约束优化问题简介、LP线性规划

    机器人中的数值优化(十二)——带约束优化问题简介、LP线性规划

       本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会

    2024年02月09日
    浏览(26)
  • 从二维数组到一维数组——探索01背包问题的动态规划优化

    从二维数组到一维数组——探索01背包问题的动态规划优化

    本文将继续上一篇博客爬楼梯之后继续讲解同样用到了动态规划的 01背包问题 在解决动态规划问题时,我们经常面临着空间复杂度的挑战。01背包问题是一个典型的例子,通常使用二维数组来表示状态转移,但这样会带来额外的空间开销。在本文中,我们将探讨如何通过优化

    2024年04月11日
    浏览(11)
  • (四)路径规划算法---QP解决Minimum Snap轨迹优化问题

    (四)路径规划算法---QP解决Minimum Snap轨迹优化问题

    大佬的代码: https://github.com/KailinTong/Motion-Planning-for-Mobile-Robots 本文代码: https://github.com/tgj-maker/QP_Minimumn_Snap(gitee无法使用,转战GitHub) 对于单段轨迹,多项式的次数 N N N 确定如下 Minimum Jerk: 假如优化变量为 ( p , v , a ) (p,v,a) ( p , v , a ) ,那么 N = 2 ∗ 3 ( j e r k ) − 1 = 5 N=2*3(je

    2023年04月08日
    浏览(20)
  • 三十八、动态规划——背包问题( 01 背包 + 完全背包 + 多重背包 + 分组背包 + 优化)

    三十八、动态规划——背包问题( 01 背包 + 完全背包 + 多重背包 + 分组背包 + 优化)

    0 1 背包问题: 条件:N 个物品容量为 V 的背包,每件物品最多用 1 次,其中物品信息体积为 Vi,价值为 Wi。 目标:选出物品,使价值最大(不一定装满背包)。 特点:每件物品 最多只用 1 次 完全背包问题: 特点:每一件物品都有 无限个 多重背包问题: 特点:每个物品

    2024年02月07日
    浏览(14)
  • 动态规划:0-1背包、完全背包问题 | 详细原理解释 | 代码及优化(C++)

    动态规划:0-1背包、完全背包问题 | 详细原理解释 | 代码及优化(C++)

    目录 01背包 问题描述: 简单描述就是: 解析: 递推公式: dp数组的初始化: 遍历顺序: 图解: 实现代码: dp数组初始化: 遍历: 优化: 原理: 递推公式: 遍历顺序: 实现代码: 初始化: 遍历: 完全背包 问题描述: 解析: 实现代码:         01背包是在M件物品

    2024年02月11日
    浏览(14)
  • 【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)

    【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 ​ 随着

    2023年04月22日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包