当前位置:   article > 正文

智能反射面——恒模约束及代码实现_智能反射面 matlab 代码

智能反射面 matlab 代码

解决恒模约束

恒模约束常出现在、智能反射面、混合波束形成等问题,是一种比较常见的非凸约束,对于这种约束的优化问题, 有很多种近似求解算法,比如SDR(半定松弛算法)
m a x x   x H A x s . t   ∣ x i ∣ = 1 , ∀ i max_x ~x^HAx\\ s.t ~ |x_i|=1, \forall i maxx xHAxs.t xi=1,i
其中A是半正定矩阵,目标函数是凸函数,约束时非凸的,定义矩阵 X = x x H ( X ⪰ 0 , r a n k ( X ) = 1 ) \mathbf{X}=\mathbf{x}\mathbf{x}^H(\mathbf{X}\succeq\mathbf{0},rank(\mathbf{X})=1) X=xxH(X0,rank(X)=1),优化问题(1)可以变为:
m a x X  Tr ( A X ) s . t   X ( i , i ) = 1 , ∀ i X ≥ 0 r a n k ( X ) = 1 max_X ~\text{Tr}(AX)\\ s.t ~ X(i,i)=1, \forall i\\ X \geq 0\\ rank(X) = 1 maxX Tr(AX)s.t X(i,i)=1,iX0rank(X)=1
针对优化问题(2),常常采用SDR算法松弛秩一约束,将其转换为SDP问题
m a x X  Tr ( A X ) s . t   X ( i , i ) = 1 , ∀ i X ≥ 0 max_X ~\text{Tr}(AX)\\ s.t ~ X(i,i)=1, \forall i\\ X \geq 0\\ maxX Tr(AX)s.t X(i,i)=1,iX0
该问题可以通过CVX进行求解。但是求得的解 X ∗ \mathbf{X}^* X未必是秩一的,通常采用高斯随机化的方法来获得一个高质量的秩一次优解。**高斯随机化得到的次优解未必满足其他约束,**这是SDR算法的缺点,后续有很多改进的SDR算法来克服这一缺点。

现在可以尝试使用下述方法进行求解。秩一约束可以被转换为下述凸约束:
λ m a x ( X ) ≥ w ( i ) Tr ( X ) \lambda_{max}(\mathbf{X}) \geq w_{(i)}\text{Tr}(\mathbf{X}) λmax(X)w(i)Tr(X)
其中 λ m a x ( X ) \lambda_{max}(\mathbf{X}) λmax(X)表示 X \mathbf{X} X最大特征值,并且 w ( i ) ∈ [ 0 , 1 ] w_{(i)}\in[0,1] w(i)[0,1]是松弛参数。

w ( i ) = 0 w_{(i)} = 0 w(i)=0 , 公式(4)意味着 λ m a x ( X ) ≥ 0 \lambda_{max}(\mathbf{X})\geq 0 λmax

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/399388
推荐阅读
相关标签
  

闽ICP备14008679号