# LMI Status: Infeasible sedumi unbounded

I need your help!

%parameters
B = 10^6; %bandwidth
c = 10^3; %CPU cycles
T = 0.1; %latency
zeta = 10^(-19); %effective capacitance coefficient
zeta1 = zeta*c^3/T^2;
N = 4; %发射端天线
E = 3; %Eve 天线
M = 5; % IRS反射元素
K = 3; %用户数
sigma = 10^(-12); %噪声
epsilon = 10^(-3); %所有算法的精度
epsilon_e = 1; % bounded error
epsilon_g = 1;
L = 300; %input bits

D_IB = 10;
alpha1 = 2;
P_IB = 10^(( - 10alpha1log10(D_IB))/10);
H_IB = (randn(N,M)+1jrandn(N,M))/sqrt(2). P_IB; %
% channel matrix Eve-IRS

D_IE = 20;
alpha2 = 2.5;
P_IE = 10^(( - 10alpha2log10(D_IE))/10);
H_IE = (randn(E,M)+1jrandn(E,M))/sqrt(2). P_IE;

% channel matrix Use-IRS 分布在一个圆内
D_UI = sqrt(5000);
alpha3 = 2.2;
P_UI = 10^(( - 10alpha3log10(D_UI))/10);
H_UI = (randn(M,K)+1j*randn(M,K))/sqrt(2).*P_UI;

%channel matrix Use-Eve
D_UE = sqrt(5000);
alpha4 = 5;
P_UE = 10^((- 10alpha4log10(D_UE))/10);
H_UE = (randn(E,K)+1j*randn(E,K))/sqrt(2).*P_UE;

% channel matrix Use-BS
D_UB = 70;
alpha5 = 4;
P_UB = 10^((- 10alpha5log10(D_UB))/10);
H_UB = (randn(N,K)+1j*randn(N,K))/sqrt(2).*P_UB;

r_max = 100;
error = 1; r=0;
for n=1:M
e(n)=exp(sqrt(-1)2pin/M);%等间隔离散相移，初始化相移
end
e = e’;
%信道排序
for k=1:K
h(:,k) = (H_UB(:,k) + H_IB
diag(H_UI(:,k))*e);
% e_old = zeros(M,1);
str(k) = h(:,k)’*h(:,k);
end
h_copy = h;
for j = 1:K
[s1,index] = max(str);
h(:,j) = h_copy(:,index);
str(index) = -inf;
end
%相位矩阵 没有IRS
W=ones(N,K); %多用户解码矩阵
obj = 7;

for k = 1:K
h(:,k) = (H_UB(:,k) + H_IB*diag(H_UI(:,k))*e)10^(6);
g(:,k) = (H_UE(:,k) + H_IE
diag(H_UI(:,k))*e);
end

## Cones | Errors | Mov/Act | Centering Exp cone Poly cone | Status --------±--------------------------------±-------- 2/ 2 | 8.000e+00 1.253e+01 0.000e+00 | Unbounded 1/ 1 | 8.000e+00 2.306e+00 0.000e+00 | Unbounded 0/ 0 | 0.000e+00 0.000e+00 0.000e+00 | Unbounded

Status: Infeasible
Optimal value (cvx_optval): +Inf

I think more of the problem was the LMI constrains。when I remove the LMI constraints, the code can run well. How should I handle it

CVX reported your problem to be infeasible (as seen in Status), not unbounded (it was solving the dual problem).

First: Rescale the input data so that all non-zero input data is within a small number of orders of magnitude of one.

Second: Use Mosek if available to you, otherwise follow the advice at CVXQUAD: How to use CVXQUAD's Pade Approximant instead of CVX's unreliable Successive Approximation for GP mode, log, exp, entr, rel_entr, kl_div, log_det, det_rootn, exponential cone. CVXQUAD's Quantum (Matrix) Entropy & Matrix Log related functions

Then see what happens. If the problem is still reported infeasible, follow the advice at https://yalmip.github.io/debugginginfeasible , all of which except for section 1 also applies to CVX. Of course if your problem really is infeasible, removing some constraints (for instance, the LMI constraints you mention) might make the problem feasible.

thank you very much. I rescale the input data, the code can run well

1 Like