凸优化的中复杂度分析方法(针对二阶锥和线性矩阵不等式)

凸优化的中复杂度分析方法(针对二阶锥和线性矩阵不等式)

本文介绍了多目标优化(凸优化)中的复杂度分析方法,针对是Linear Matrix Inequality(LMI)和Second Order Cone (SOC)的型约束条件。主要参考了文献Outage Constrained Robust Transmit Optimization for Multiuser MISO Downlinks: Tractable Approximations by Conic Optimization。

先补充一下,这是二阶锥形式:
SOC

复杂度计算主要包含三个大步骤

一. 确定迭代次数
β \sqrt{\beta } β 表示达到最优解所需迭代次数。其中 β = ∑ j = 1 p k j ⏟ L M I + 2 m ⏟ SOC \beta \text{=}\underbrace{\sum\limits_{j=1}^{p}{{{k}_{j}}}}_{LMI}+\underbrace{2m}_{\text{SOC}} β=LMI j=1pkj+SOC 2m p p p 是指的LMI约束的个数, k j {{k}_{j}} kj表示第 j j j个约束对应的维度, m m m指的是SOC约束的个数。因此迭代次数表示为: ∑ j = 1 p k j ⏟ L M I + 2 m ⏟ SOC \sqrt{\underbrace{\sum\limits_{j=1}^{p}{{{k}_{j}}}}_{LMI}+\underbrace{2m}_{\text{SOC}}} LMI j=1pkj+SOC 2m
二. 确定每次迭代的复杂度
使用 C f o r m + C f a c t {{\text{C}}_{form}}+{{C}_{fact}} Cform+Cfact表示每次迭代所需的复杂度。 C f o r m = n ∑ j = 1 p k j 3 + n 2 ∑ j = 1 p k j 2 ⏟ L M I + n ∑ j = 1 m k j 2 ⏟ SOC {{\text{C}}_{form}}\text{=}\underbrace{n\sum\limits_{j=1}^{p}{k_{j}^{3}}+{{n}^{2}}\sum\limits_{j=1}^{p}{k_{j}^{2}}}_{LMI}+\underbrace{n\sum\limits_{j=1}^{m}{k_{j}^{2}}}_{\text{SOC}} Cform=LMI nj=1pkj3+n2j=1pkj2+SOC nj=1mkj2
, 其中 n n n表示需要优化的总变量数目。 p p p是指的LMI约束的个数 m m m指的是SOC约束的个数, k j {{k}_{j}} kj表示第 个约束条件对应的维度。 C f a c t = n 3 {{C}_{fact}}={{n}^{3}} Cfact=n3
最终 C f o r m + C f a c t = n ∑ j = 1 p k j 3 + n 2 ∑ j = 1 p k j 2 ⏟ L M I + n ∑ j = 1 m k j 2 ⏟ SOC + n 3 {{\text{C}}_{form}}+{{C}_{fact}}=\underbrace{n\sum\limits_{j=1}^{p}{k_{j}^{3}}+{{n}^{2}}\sum\limits_{j=1}^{p}{k_{j}^{2}}}_{LMI}+\underbrace{n\sum\limits_{j=1}^{m}{k_{j}^{2}}}_{\text{SOC}}+{{n}^{3}} Cform+Cfact=LMI nj=1pkj3+n2j=1pkj2+SOC nj=1mkj2+n3
三. 总计算复杂度表示
∑ j = 1 p k j ⏟ L M I + 2 m ⏟ SOC ⋅ [ n ∑ j = 1 p k j 3 + n 2 ∑ j = 1 p k j 2 ⏟ L M I + n ∑ j = 1 m k j 2 ⏟ SOC + n 3 ] \quad\sqrt{\underbrace{\sum\limits_{j=1}^{p}{{{k}_{j}}}}_{LMI}+\underbrace{2m}_{\text{SOC}}}\centerdot [\underbrace{n\sum\limits_{j=1}^{p}{k_{j}^{3}}+{{n}^{2}}\sum\limits_{j=1}^{p}{k_{j}^{2}}}_{LMI}+\underbrace{n\sum\limits_{j=1}^{m}{k_{j}^{2}}}_{\text{SOC}}+{{n}^{3}}] LMI j=1pkj+SOC 2m [LMI nj=1pkj3+n2j=1pkj2+SOC nj=1mkj2+n3]
= n ⋅ ∑ j = 1 p k j ⏟ L M I + 2 m ⏟ SOC ⋅ [ ∑ j = 1 p k j 3 + n ∑ j = 1 p k j 2 ⏟ L M I + ∑ j = 1 m k j 2 ⏟ SOC + n 2 ] =n\centerdot \sqrt{\underbrace{\sum\limits_{j=1}^{p}{{{k}_{j}}}}_{LMI}+\underbrace{2m}_{\text{SOC}}}\centerdot [\underbrace{\sum\limits_{j=1}^{p}{k_{j}^{3}}+n\sum\limits_{j=1}^{p}{k_{j}^{2}}}_{LMI}+\underbrace{\sum\limits_{j=1}^{m}{k_{j}^{2}}}_{\text{SOC}}+{{n}^{2}}] =nLMI j=1pkj+SOC 2m [LMI j=1pkj3+nj=1pkj2+SOC j=1mkj2+n2]

举例1:

例1
已知其中, Q i {{\mathbf{Q}}_{i}} Qi S i {{\mathbf{S}}_{i}} Si都是 N t × N t {{N}_{t}}\times {{N}_{t}} Nt×Nt的矩阵, r i {{\mathbf{r}}_{i}} ri N t × 1 {{N}_{t}}\times 1 Nt×1的向量, t i {{t}_{i}} ti是标量。
按照步骤写:

1)计算迭代次数

图中约束条件(1)中包含 K K K N t + 1 {{N}_{t}}\text{+}1 Nt+1维LMI,(2)中包含 K K K N t {{N}_{t}} Nt维LMI, (3)中包含 K K K个 维LMI。所以得 β = ∑ j = 1 p k j ⏟ L M I + 2 m ⏟ SOC = ∑ j = 1 K ( N t + 1 ) + ∑ j = 1 K N t + ∑ j = 1 K 1 ⏟ L M I + 0 ⏟ SOC = K ( N t + 1 ) + K N t + K = 2 K ( N t + 1 ) \beta \text{=}\underbrace{\sum\limits_{j=1}^{p}{{{k}_{j}}}}_{LMI}+\underbrace{2m}_{\text{SOC}}\text{=}\underbrace{\sum\limits_{j=1}^{\text{K}}{({{N}_{t}}+1)}+\sum\limits_{j=1}^{\text{K}}{{{N}_{t}}}+\sum\limits_{j=1}^{\text{K}}{1}}_{LMI}+\underbrace{0}_{\text{SOC}}=K({{N}_{t}}+1)+K{{N}_{t}}+K=2K({{N}_{t}}+1) β=LMI j=1pkj+SOC 2m=LMI j=1K(Nt+1)+j=1KNt+j=1K1+SOC 0=K(Nt+1)+KNt+K=2K(Nt+1)所以得到迭代次数 β = 2 K ( N t + 1 ) \sqrt{\beta }\text{=}\sqrt{2K({{N}_{t}}+1)} β =2K(Nt+1)

2)每次迭代的复杂度

需要优化的变量 S i {{\mathbf{S}}_{i}} Si, t i {{t}_{i}} ti, i = 1 , . . . , K i=1,...,K i=1,...,K,所以需要优化的元素 K N t 2 + K KN_{t}^{2}+K KNt2+K,所以 n = K N t 2 + K = O ( K N t 2 ) n\text{=}KN_{t}^{2}+K\text{=}\mathcal{O}(KN_{t}^{2}) n=KNt2+K=O(KNt2)
C f o r m = n ( ∑ j = 1 K ( N t + 1 ) 3 + ∑ j = 1 K N t 3 + ∑ j = 1 K 1 3 ⏟ L M I + n 2 ( ∑ j = 1 K ( N t + 1 ) 2 + ∑ j = 1 K N t 2 + ∑ j = 1 K 1 2 ⏟ L M I + 0 ⏟ SOC {{\text{C}}_{form}}\text{=}\underbrace{n(\sum\limits_{j=1}^{\text{K}}{{{({{N}_{t}}+1)}^{3}}}+\sum\limits_{j=1}^{\text{K}}{N_{t}^{3}}+\sum\limits_{j=1}^{\text{K}}{{{1}^{3}}}}_{LMI}+\underbrace{{{n}^{2}}(\sum\limits_{j=1}^{\text{K}}{{{({{N}_{t}}+1)}^{2}}}+\sum\limits_{j=1}^{\text{K}}{N_{t}^{2}}+\sum\limits_{j=1}^{\text{K}}{{{1}^{2}}}}_{LMI}+\underbrace{0}_{\text{SOC}} Cform=LMI n(j=1K(Nt+1)3+j=1KNt3+j=1K13+LMI n2(j=1K(Nt+1)2+j=1KNt2+j=1K12+SOC 0
C f a c t = n 3 {{C}_{fact}}={{n}^{3}} Cfact=n3
C f o r m + C f a c t = n ⋅ [ K ( ( N t + 1 ) 3 + N t 3 + 1 ) + K n ( ( N t + 1 ) 2 + N t 2 + 1 ) + n 2 ] {{\text{C}}_{form}}+{{C}_{fact}}=n\centerdot [K({{({{N}_{t}}+1)}^{3}}+N_{t}^{3}+1)+Kn({{({{N}_{t}}+1)}^{2}}+N_{t}^{2}+1)+{{n}^{2}}] Cform+Cfact=n[K((Nt+1)3+Nt3+1)+Kn((Nt+1)2+Nt2+1)+n2]

3)总计算复杂度表示

2 K ( N t + 1 ) n ⋅ [ K ( ( N t + 1 ) 3 + N t 3 + 1 ) + K n ( ( N t + 1 ) 2 + N t 2 + 1 ) + n 2 ] \sqrt{2K({{N}_{t}}+1)}n\centerdot [K({{({{N}_{t}}+1)}^{3}}+N_{t}^{3}+1)+Kn({{({{N}_{t}}+1)}^{2}}+N_{t}^{2}+1)+{{n}^{2}}] 2K(Nt+1) n[K((Nt+1)3+Nt3+1)+Kn((Nt+1)2+Nt2+1)+n2]
Where n = K N t 2 + K = O ( K N t 2 ) n\text{=}KN_{t}^{2}+K\text{=}\mathcal{O}(KN_{t}^{2}) n=KNt2+K=O(KNt2).

举例2:

举例2:
举例2
已知其中, Q i {{\mathbf{Q}}_{i}} Qi S i {{\mathbf{S}}_{i}} Si都是 N t × N t {{N}_{t}}\times {{N}_{t}} Nt×Nt的矩阵, r i {{\mathbf{r}}_{i}} ri N t × 1 {{N}_{t}}\times 1 Nt×1的向量, t i {{t}_{i}} ti是标量。
按照步骤写:

1)计算迭代次数

图中约束条件(1)中包含 K K K个1维LMI,(2)中包含 K K K N t + 1 {{N}_{t}}+1 Nt+1维SOC( 为什么是 N t + 1 {{N}_{t}}\text{+}1 Nt+1,看前文的SOC补充), (3)中包含 K K K N t 2 + 1 N_{t}^{2}+1 Nt2+1维SOC,(4)中包含 K K K N t {{N}_{t}} Nt维LMI。所以得
β = ∑ j = 1 p k j ⏟ L M I + 2 m ⏟ SOC = ∑ j = 1 K 1 + ∑ j = 1 K N t ⏟ L M I + 2 × 2 K ⏟ SOC = K ( N t + 5 ) \beta \text{=}\underbrace{\sum\limits_{j=1}^{p}{{{k}_{j}}}}_{LMI}+\underbrace{2m}_{\text{SOC}}\text{=}\underbrace{\sum\limits_{j=1}^{\text{K}}{1}+\sum\limits_{j=1}^{\text{K}}{{{N}_{t}}}}_{LMI}+\underbrace{2\times 2K}_{\text{SOC}}=K({{N}_{t}}+5) β=LMI j=1pkj+SOC 2m=LMI j=1K1+j=1KNt+SOC 2×2K=K(Nt+5),
所以得到迭代次数 β = K ( N t + 5 ) \sqrt{\beta }\text{=}\sqrt{K({{N}_{t}}+5)} β =K(Nt+5)

2)每次迭代的复杂度

需要优化的变量 S i {{\mathbf{S}}_{i}} Si, x i {{x}_{i}} xi, y i {{y}_{i}} yi, i = 1 , . . . , K i=1,...,K i=1,...,K,所以需要优化的元素总个数 K N t 2 + K + K KN_{t}^{2}+K\text{+}K KNt2+K+K,所以 n = K N t 2 + K + K = O ( K N t 2 ) n\text{=}KN_{t}^{2}+K\text{+}K\text{=}\mathcal{O}(KN_{t}^{2}) n=KNt2+K+K=O(KNt2)
C f o r m = n ( ∑ j = 1 K 1 3 + ∑ j = 1 K N t 3 ) ⏟ L M I + n 2 ( ∑ j = 1 K 1 2 + ∑ j = 1 K N t 2 ⏟ L M I + n ( ∑ j = 1 K ( N t + 1 ) 2 + ∑ j = 1 K ( N t 2 + 1 ) 2 ) ⏟ SOC {{\text{C}}_{form}}\text{=}\underbrace{n(\sum\limits_{j=1}^{\text{K}}{{{1}^{3}}}+\sum\limits_{j=1}^{\text{K}}{N_{t}^{3})}}_{LMI}+\underbrace{{{n}^{2}}(\sum\limits_{j=1}^{\text{K}}{{{1}^{2}}}+\sum\limits_{j=1}^{\text{K}}{N_{t}^{2}}}_{LMI}+\underbrace{n(\sum\limits_{j=1}^{\text{K}}{{{({{N}_{t}}+1)}^{2}}}+\sum\limits_{j=1}^{\text{K}}{{{(N_{t}^{2}+1)}^{2}})}}_{\text{SOC}} Cform=LMI n(j=1K13+j=1KNt3)+LMI n2(j=1K12+j=1KNt2+SOC n(j=1K(Nt+1)2+j=1K(Nt2+1)2)
= n K ( 1 + N t 3 ) + n 2 K ( 1 + N t 2 ) + n K ( ( N t + 1 ) 2 + ( N t 2 + 1 ) 2 ) \text{=}nK(1+N_{t}^{3})+{{n}^{2}}K(1+N_{t}^{2})+nK({{({{N}_{t}}+1)}^{2}}+{{(N_{t}^{2}+1)}^{2}}) =nK(1+Nt3)+n2K(1+Nt2)+nK((Nt+1)2+(Nt2+1)2)
= n ⋅ [ K ( 1 + N t 3 ) + n K ( 1 + N t 2 ) + K ( ( N t + 1 ) 2 + ( N t 2 + 1 ) 2 ) ] =n\centerdot [K(1+N_{t}^{3})+nK(1+N_{t}^{2})+K({{({{N}_{t}}+1)}^{2}}+{{(N_{t}^{2}+1)}^{2}})] =n[K(1+Nt3)+nK(1+Nt2)+K((Nt+1)2+(Nt2+1)2)]

C f a c t = n 3 {{C}_{fact}}={{n}^{3}} Cfact=n3
C f o r m + C f a c t = n ⋅ [ K ( 1 + N t 3 ) + n K ( 1 + N t 2 ) + K ( ( N t + 1 ) 2 + ( N t 2 + 1 ) 2 ) + n 2 ] {{\text{C}}_{form}}+{{C}_{fact}}=n\centerdot [K(1+N_{t}^{3})+nK(1+N_{t}^{2})+K({{({{N}_{t}}+1)}^{2}}+{{(N_{t}^{2}+1)}^{2}})+{{n}^{2}}] Cform+Cfact=n[K(1+Nt3)+nK(1+Nt2)+K((Nt+1)2+(Nt2+1)2)+n2]

3)总计算复杂度表示

K ( N t + 5 ) ⋅ n ⋅ [ K ( 1 + N t 3 ) + n K ( 1 + N t 2 ) + K ( ( N t + 1 ) 2 + ( N t 2 + 1 ) 2 ) + n 2 ] \sqrt{K({{N}_{t}}+5)}\centerdot n\centerdot [K(1+N_{t}^{3})+nK(1+N_{t}^{2})+K({{({{N}_{t}}+1)}^{2}}+{{(N_{t}^{2}+1)}^{2}})+{{n}^{2}}] K(Nt+5) n[K(1+Nt3)+nK(1+Nt2)+K((Nt+1)2+(Nt2+1)2)+n2]
Where n = K N t 2 + K + K = O ( K N t 2 ) n\text{=}KN_{t}^{2}+K\text{+}K\text{=}\mathcal{O}(KN_{t}^{2}) n=KNt2+K+K=O(KNt2).

**最后,第一次写博客,码字不易,多谢支持!**
  • 51
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值