出现:Status: Infeasible Optimal value (cvx_optval): -Inf

This is my code:

clear all
c0 = 0.6;
d0 = 0.11;
LoS = 1;
NLoS = 20;
%hmin = 350;
L = 1000;
N = 3; %
APs = [-84.5, -21.6, 0; 250.3, 5.9, 0; -331.5, 62.7, 0];
UAV = [0, 0, 0];
dud = [L, 0, 0];
Pmax = 1;
Bt = 1e6;
N_0 = 10^((-169 - 30) / 10);
P_s=1;
beta1 = 0.5; %
beta2 = 0.5; %
P_u=1;%P_u=Pmax

%
%rho0 = -0.011;
rho0=10^(-80/10); %
Omega_NLoS = 20;
Omega_LoS = 1;

%
A = rho0 * 10^(-0.1 * Omega_NLoS);
B = rho0 * (10^(-0.1 * Omega_LoS) - 10^(-0.1 * Omega_NLoS));

%
dm1 = norm(UAV - APs(1, :));
dm2 = norm(UAV - APs(2, :));
dm3 = norm(UAV - APs(3, :));
dm4 = L; %1000
hmin=max([dm1, dm2,dm3, dm4])/tan(pi/12);

%
alpha_var1_l=1.4e-16;alpha_var2_l=1.2e-18;
alpha_var3_l=1.2e-17;alpha_var4_l=1.e-19;
t_l=0.32;
h_u_l=300;
tau_var1_l=14.4e-12;tau_var2_l=13.24e-12;tau_var3_l=13.2e-12;

%
theta_mn = @(hu, dm) atan(hu / dm);
%
PLoS_mn = @(theta_mn) c0 * ( (180/pi * theta_mn) - 15 )^d0;
%
D_mn = @(dm, hu) sqrt(dm^2 + hu^2);
%
PNLoS_mn = @(PLoS_mn) 1 - PLoS_mn;
%
g_mn = @(dm, hu, PLoS_mn, PNLoS_mn) rho0 * D_mn(dm, hu)^(-2) * ( PLoS_mn * 10^(-0.1Omega_LoS) + PNLoS_mn * 10^(-0.1Omega_NLoS) );
%
rsu = @(Ps, giu, gsu) Bt * beta1 * log2(1 + (Ps * giu) / (sum(Ps * gsu) + Bt * beta1 * N_0));

cvx_begin
cvx_solver sedumi
cvx_precision medium
variables h_u pi_var ;
expressions s(4) alpha_var(4) tau_var(3) theta t ;
theta1 = theta_mn(h_u_l, dm1);
theta2 = theta_mn(h_u_l, dm2);
theta3 = theta_mn(h_u_l, dm3);
theta4 = theta_mn(h_u_l, dm4);
PLoS1 = PLoS_mn(theta1);
PLoS2 = PLoS_mn(theta2);
PLoS3 = PLoS_mn(theta3);
PLoS4 = PLoS_mn(theta4);
%
g1 = g_mn(dm1, h_u_l, PLoS1, PNLoS_mn(PLoS1));
g2 = g_mn(dm2, h_u_l, PLoS2, PNLoS_mn(PLoS2));
g3 = g_mn(dm3, h_u_l, PLoS3, PNLoS_mn(PLoS3));
g4 = g_mn(dm4, h_u_l, PLoS4, PNLoS_mn(PLoS4));
%
rsu1 = rsu(P_s, g1, [g2, g3, g4]);
rsu2 = rsu(P_s, g2, [g3, g4]);
rsu3 = rsu(P_s, g3, g4);
rsu4 = rsu(P_s, g4, );
%
alpha_var(1)=g1;alpha_var(2)=g2;alpha_var(3)=g3;alpha_var(4)=g4;
tau_var(1)=g1;tau_var(2)=g2;tau_var(3)=g3;
s(1)=180/piatan(inv_pos(dm1t_l));s(2)=180/piatan(1/dm2t_l);s(3)=180/piatan(1/dm3t_l);s(4)=180/piatan(1/Lt_l);
t=1/h_u_l;
theta = min([rsu1, rsu2, rsu3, rsu4]);
maximize(pi_var)
subject to
%theta=-0.0214e10;
h_u >= hmin; % Constraint (6g) ok
% h_u<=1000;
pi_var <= Ntheta; % Constraint (8c) ok
%pi_var <= Bt
beta2log2(1 + (P_u * alpha_var(4)) / (Btbeta2N_0)); % Constraint (14c) ok
pi_var <= Bt
beta2*(-rel_entr(1,1 + (P_u * alpha_var(4)) / (Btbeta2N_0)) / log(2)); % Constraint (14c) ok
inv_pos(t) <= h_u; % Constraint (18) ok

    % Constraint (28c)ok
    %(D_su.^2)./(A + B*c0.*(s_s_u - 15).^d0) <= f_alpha_su
    (dm1^2+h_u^2)/(A + B*c0*pow_p((s(1) - 15),d0)) <= 2/alpha_var1_l-alpha_var(1)/alpha_var1_l^2;%
    (dm2^2+h_u^2)/(A + B*c0*pow_p((s(2) - 15),d0)) <= 2/alpha_var2_l-alpha_var(2)/alpha_var2_l^2;
    (dm3^2+h_u^2)/(A + B*c0*pow_p((s(3) - 15),d0)) <= 2/alpha_var3_l-alpha_var(3)/alpha_var3_l^2;
   
    % Constraint (28d)OK
    15 <= s(1) ; s(1) <= (180*inv_pos(pi))*(atan(inv_pos(dm1*t_l))-dm1*inv_pos(1+dm1^2*t_l^2)*(t-t_l));
    15 <= s(2) ; s(2) <= (180*inv_pos(pi))*(atan(inv_pos(dm2*t_l))-dm2/(1+dm2^2*t_l^2)*(t-t_l));
    15 <= s(3) ; s(3) <= (180*inv_pos(pi))*(atan(inv_pos(dm3*t_l))-dm3/(1+dm3^2*t_l^2)*(t-t_l));
  
    % Constraint (28e)ok
    (L^2+h_u^2)/(A + B*c0*pow_p((s(4) - 15),d0)) <= (2/alpha_var4_l-alpha_var(4)/alpha_var4_l^2);
    
    % Constraint (28f)ok
    15 <= s(4) ;  s(4) <= (180*inv_pos(pi))*(atan(inv_pos(L*t_l))-dm3/(1+L^2*t_l^2)*(t-t_l));
    
    % Constraint (28g) 
  
    % log(tau_var(1)) + log(dm1^2+1/(t_l)^2)-(2*(t-t_l))/(dm1^2*(t_l)^3+t_l) >= ...
    %     log(A+B*c0*((180/pi_var)*atan(h_u_l/dm1) - 15)^d0) + (h_u-h_u_l) * (((180/pi_var)*B*c0*d0*((180/pi_var)*atan(h_u_l/dm1)-15)^(d0-1)*(dm1/(dm1^2+h_u_l^2))) ...
    %         /(A+B*c0*((180/pi_var)*atan(h_u_l/dm1)-15)^d0));  
   
    f41 = ((180*inv_pos(pi))*(B)*(c0)*(d0)*pow_p((180*inv_pos(pi)*atan(h_u_l/dm2)-15),(d0-1))*(dm2/(dm2^2+h_u_l^2)))...
    /(A+B*c0*((180*inv_pos(pi))*atan(h_u_l/dm2)-15)^(d0));
   -rel_entr(1,tau_var(2)) + -rel_entr(1,dm2^2+inv_pos((t_l)^2))-(2*(t-t_l))/(dm2^2*(t_l)^3+t_l) >= ...
        -rel_entr(1,A+B*c0*pow_p((180*inv_pos(pi)*atan(h_u_l/dm2) - 15),d0))+ f41*h_u-f41*h_u_l  ;%
             

   -rel_entr(1,tau_var(3)) + -rel_entr(1,dm3^2+1/(t_l)^2)-(2*(t-t_l))/(dm3^2*(t_l)^3+t_l)  >= ...
        -rel_entr(1,A+B*c0*pow_p((180*inv_pos(pi)*atan(h_u_l/dm3) - 15),d0)) + (h_u-h_u_l) * ...
   ((180*inv_pos(pi))*B*c0*d0*pow_p((180*inv_pos(pi)*atan(h_u_l/dm3)-15),(d0-1))*(dm3/(dm3^2+h_u_l^2))) ...%
                 /(A+B*c0*((180*inv_pos(pi))*atan(h_u_l/dm3)-15)^(d0)) ;%

    % Constraint (28h)
    theta <= Bt*beta1*-rel_entr(1,sum(P_s*alpha_var(1)+P_s*alpha_var(2)+P_s*alpha_var(3))+Bt*beta1*N_0)/log(2)-Bt*beta1 ...
        * (-rel_entr(1,sum(P_s*tau_var2_l+P_s*tau_var3_l)+Bt*beta1*N_0)/log(2)+(1/log(2))*(sum(P_s*(tau_var(2)-tau_var2_l)+P_s*(tau_var(3)-tau_var3_l))) ...
          /(sum(P_s*tau_var2_l+P_s*tau_var3_l)+Bt*beta1*N_0)) ; %i=1
      
    theta <= Bt*beta1*-rel_entr(1,sum(P_s*alpha_var(2)+P_s*alpha_var(3))+Bt*beta1*N_0)/log(2)-Bt*beta1 ...
        * (-rel_entr(1,sum(P_s*tau_var3_l)+Bt*beta1*N_0)/log(2)+(1/log(2))*(sum(P_s*(tau_var(3)-tau_var3_l))) ...
          /(sum(P_s*tau_var3_l)+Bt*beta1*N_0) ); %i=2
    
    theta <= Bt*beta1*-rel_entr(1,sum(P_s*alpha_var(3))+Bt*beta1*N_0)/log(2)-Bt*beta1 ...
        * (-rel_entr(1,Bt*beta1*N_0)/log(2)+(1/log(2))* 0); %i=3

cvx_end

The running result is:
CVX Warning:
Models involving “rel_entr” or other functions in the log, exp, and entropy
family are solved using an experimental successive approximation method.
This method is slower and less reliable than the method CVX employs for
other models. Please see the section of the user’s guide entitled
The successive approximation method
for more details about the approach, and for instructions on how to
suppress this warning message in the future.

Calling SeDuMi 1.3.4: 33 variables, 6 equality constraints
For improved efficiency, SeDuMi is solving the dual problem.

SeDuMi 1.3.4 by AdvOL, 2005-2008 and Jos F. Sturm, 1998-2003.
Alg = 2: xz-corrector, Adaptive Step-Differentiation, theta = 0.250, beta = 0.500
eqs m = 6, order n = 30, dim = 34, blocks = 5
nnz(A) = 18 + 0, nnz(ADA) = 14, nnz(L) = 10
it : by gap delta rate t/tP t/tD* feas cg cg prec
0 : 3.00E-11 0.000
1 : -1.48E+25 6.54E-26 0.000 0.0000 0.9900 0.9900 -0.60 2 1 7.8E+00
2 : -6.32E+25 1.54E-26 0.000 0.2358 0.9000 0.9000 -0.99 4 6 7.7E+00
3 : -2.41E+26 3.97E-27 0.000 0.2570 0.9000 0.9000 -1.00 5 5 7.5E+00
4 : -8.92E+26 1.04E-27 0.000 0.2633 0.9000 0.9000 -1.00 5 5 7.3E+00
5 : -3.30E+27 2.75E-28 0.000 0.2639 0.9000 0.9000 -1.00 5 5 7.2E+00
6 : -1.23E+28 7.26E-29 0.000 0.2635 0.9000 0.9000 -1.00 5 5 7.0E+00
7 : -4.62E+28 1.91E-29 0.000 0.2626 0.9000 0.9000 -1.00 6 6 6.9E+00
8 : -1.76E+29 4.97E-30 0.000 0.2607 0.9000 0.9000 -1.00 6 6 6.9E+00
9 : -6.82E+29 1.27E-30 0.000 0.2556 0.9000 0.9000 -1.00 6 7 6.8E+00
10 : -2.85E+30 3.02E-31 0.000 0.2381 0.9000 0.9000 -1.00 6 7 6.8E+00
11 : -1.13E+31 3.35E-32 0.000 0.1106 0.9155 0.9000 -1.00 6 7 6.7E+00
12 : -1.28E+32 6.73E-33 0.000 0.2013 0.9000 0.9000 -1.72 6 7 1.4E+01
13 : -2.47E+32 2.84E-33 0.000 0.4215 0.9000 0.6106 -1.53 9 9 1.3E+01

Dual infeasible, primal improving direction found.
iter seconds |Ax| [Ay]_+ |x| |y|
13 0.4 1.4e-32 4.3e+14 2.0e-23 1.7e+23

Detailed timing (sec)
Pre IPM Post
6.800E-02 3.920E-01 1.001E-02
Max-norms: ||b||=1, ||c|| = 4.668225e+23,
Cholesky |add|=0, |skip| = 5, ||L.L|| = 1.

Status: Infeasible
Optimal value (cvx_optval): -Inf

Hope you all can help, thank you.

You need to change units to improve numerical scaling, so that all non-zero input data is within a small number of orders of magnitude of 1.

If after doing that, the problem is still reported as infeasible, follow the advice at Debugging infeasible models - YALMIP, all but section 1 of which also applies to CVX.

OK, thank you for your answer,Let me try numerical scaling.