Hello @all !

I hope everyone is doing well.

I have convert my optimization problem into a suitable form so that Cvx can solve it, but still the status shows infeasible, anyone have idea about this?

Code i made is;

clear,clc %Clear all

m=2; %number of Tx and Rx antennas

n=1;

P=1; %Transmitted Power

%rng(1);

%H=rand(m,m); %Channel matrix

G1=rand(n,m);

G2=rand(n,m);

W1=rand(m,n);

W2=rand(m,n);

T1=W1*W1’;
%t=0.5;
t=1/(trace(G2*G2’

*W1*W1’)+1);

%Arho = [0.3 0; 0 0.3]; %Fix Arho

I=eye(m,m) %Identity matrix

%Arhobar=I-Arho %Arhobar

cvx_clear %To clear models used before

cvx_begin %To begin a new CVX model

variable T1(m,m) Symmetric %S Variable

maximize (trace(G2*G2’ W2W2’)); %Objective Function
subject to
(trace(G2*G2’*T1))+t==1;

trace(G1*G1’ T1)>=0.5(trace(G1*G1’

*W2*W2’)+t*I);

trace(T1)+trace(W2*W2’)<= t*P

t>0;

T1==semidefinite(m);

W2*W2’>=0;

cvx_end %To end the CVX model

cvx_status

The status is:

## Calling SDPT3 4.0: 6 variables, 2 equality constraints

For improved efficiency, SDPT3 is solving the dual problem.

num. of constraints = 2

dim. of sdp var = 2, num. of sdp blk = 1

dim. of linear var = 3

SDPT3: Infeasible path-following algorithms

## version predcorr gam expon scale_data

HKM 1 0.000 1 0

it pstep dstep pinfeas dinfeas gap prim-obj dual-obj cputime

## 0|0.000|0.000|9.1e-11|1.3e+01|5.0e+02|-8.127156e+00 0.000000e+00| 0:0:00| chol 1 1

1|1.000|0.936|1.1e-07|9.1e-01|2.8e+01|-9.156551e+00 0.000000e+00| 0:0:00| chol 1 1

2|1.000|0.188|2.6e-08|7.4e-01|4.3e+01|-1.967381e+02 0.000000e+00| 0:0:00| chol 1 1

3|1.000|0.018|1.0e-08|7.3e-01|1.0e+03|-4.259003e+05 0.000000e+00| 0:0:00| chol 1 1

4|1.000|0.002|5.5e-09|7.3e-01|2.1e+07|-1.022235e+11 0.000000e+00| 0:0:00| chol 1 1

5|1.000|0.000|2.8e-09|7.3e-01|5.0e+13|-2.455185e+18 0.000000e+00| 0:0:00|

sqlp stop: dual problem is suspected of being infeasible

## number of iterations = 5

residual of dual infeasibility

certificate X = 1.14e-27

reldist to infeas. <= 3.44e-28

Total CPU time (secs) = 0.18

CPU time per iteration = 0.04

termination code = 2

DIMACS: 2.8e-09 0.0e+00 8.1e-01 0.0e+00 -1.0e+00 2.0e-05

Status: Infeasible

Optimal value (cvx_optval): -Inf

cvx_status =

Infeasible