1、原始问题
2、先展开,再去掉常数项
3、改成最小化 优化问题(取反)
4、引入辅助变量,变成高一维
5、放松约束
6、恢复问题解
本文以武庆庆老师的Intelligent Reflecting Surface Enhanced Wireless
Network: Joint Active and Passive Beamforming
Design这篇文章为例来求解二次优化问题。
hd_x = h_d_all(:,nnnum_subset);
G_x = G_all(:,:,nnnum_subset);
hd_x_H = hd_x';
Phi=diag(hr_H)*G_x;
R_=[Phi*Phi' Phi*hd_x;hd_x_H*Phi' 0];
r=round(log10(mean(mean(R_))));
R=R_;
ishermitian(R);
cvx_begin
variable V(N+1,N+1) symmetric
maximize(trace(R*V))
subject to
for n=1:N+1
V(n,n)==1;
end
V == semidefinite(N+1);
cvx_end
[U,W,Z] = svd(V);%U==Z
obj_max=-100;
n=length(W);
for j=1:1000
r=sqrt(1/2)*(randn(n,1)+1i*randn(n,1));%sqrt(var/2)*(randn(1,N)+1i*randn(1,N))
v_=U*sqrt(W)*r;
obj=(v_'*R*v_);
if obj>=obj_max
obj_max=obj;
v_max=v_;
end
end
t=v_max(N+1);
for j=1:N
v(j,:)=exp(1i*angle(v_max(j)/t));
%v(j,:)=v_max(j)/t;
end