Stop: progress is bad Status: Inaccurate/Solved

Hello, I encountered the following problem when using CVX to solve, please help me, my running result and code are as follows.

Calling SDPT3 4.0: 2737 variables, 1198 equality constraints
For improved efficiency, SDPT3 is solving the dual problem.

num. of constraints = 1198
dim. of sdp var = 1436, num. of sdp blk = 718
dim. of linear var = 579
dim. of free var = 4 *** convert ublk to lblk


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|2.7e+03|3.6e+00|8.0e+14|-1.721937e+12 0.000000e+00| 0:0:00| spchol 1 2
1|0.000|0.000|2.7e+03|3.6e+00|8.0e+14|-1.719450e+12 -1.750268e+09| 0:0:01| spchol 1 2
2|0.000|0.001|2.7e+03|3.6e+00|8.0e+14|-1.712777e+12 -1.030160e+10| 0:0:01| spchol 1 2
3|0.001|0.001|2.7e+03|3.5e+00|8.0e+14|-1.703278e+12 -2.851072e+10| 0:0:01| spchol 1 2
4|0.012|0.005|2.7e+03|3.5e+00|7.9e+14|-1.522982e+12 -1.078142e+11| 0:0:01| spchol 1 2
5|0.021|0.031|2.6e+03|3.4e+00|7.9e+14|-1.232288e+12 -5.321735e+11| 0:0:01| spchol 1 2
6|0.136|0.114|2.3e+03|3.0e+00|7.6e+14| 5.240341e+11 -1.887901e+12| 0:0:01| spchol 1 1
7|0.211|0.138|1.8e+03|2.6e+00|6.9e+14| 2.957219e+12 -3.161553e+12| 0:0:01| spchol 1 1
8|0.112|0.083|1.6e+03|2.4e+00|6.5e+14| 4.322290e+12 -3.804446e+12| 0:0:01| spchol 1 1
9|0.207|0.153|1.3e+03|2.0e+00|5.9e+14| 6.649379e+12 -4.847236e+12| 0:0:02| spchol 1 1
10|0.830|0.393|2.1e+02|1.2e+00|3.2e+14| 1.462691e+13 -6.218034e+12| 0:0:02| spchol 2 2
11|0.866|0.850|2.9e+01|1.8e-01|6.4e+13| 1.293633e+13 -2.844298e+12| 0:0:02| spchol 2 2
12|0.645|0.663|1.0e+01|6.2e-02|3.1e+13| 8.879237e+12 -1.764887e+12| 0:0:02| spchol 1 2
13|0.412|0.505|6.0e+00|3.1e-02|2.2e+13| 7.101976e+12 -1.266861e+12| 0:0:02| spchol 1 1
14|0.731|0.463|1.6e+00|1.6e-02|1.4e+13| 4.713261e+12 -9.388972e+11| 0:0:02| spchol 1 2
15|0.788|0.250|3.4e-01|1.2e-02|9.8e+12| 2.965894e+12 -7.805639e+11| 0:0:02| spchol 2 2
16|0.462|0.503|1.8e-01|6.1e-03|6.4e+12| 2.376495e+12 -4.767798e+11| 0:0:02| spchol 1 2
17|0.561|0.278|8.1e-02|4.4e-03|4.8e+12| 1.719915e+12 -3.787636e+11| 0:0:02| spchol 2 2
18|0.545|0.226|3.7e-02|3.4e-03|4.2e+12| 1.288020e+12 -3.142670e+11| 0:0:02| spchol 1 1
19|0.478|0.225|1.9e-02|2.7e-03|3.9e+12| 1.066915e+12 -2.620579e+11| 0:0:02| spchol 1 1
20|0.492|0.234|9.8e-03|2.0e-03|3.6e+12| 8.911277e+11 -2.168234e+11| 0:0:02| spchol 1 1
21|0.518|0.178|4.7e-03|1.7e-03|3.5e+12| 7.621685e+11 -1.892159e+11| 0:0:02| spchol 1 1
22|0.536|0.347|2.2e-03|1.1e-03|2.9e+12| 6.882062e+11 -1.441650e+11| 0:0:02| spchol 1 1
23|0.942|0.201|1.3e-04|8.7e-04|2.9e+12| 5.098702e+11 -1.243094e+11| 0:0:03| spchol 1 1
24|1.000|0.373|3.4e-11|5.5e-04|2.2e+12| 3.371025e+11 -8.857446e+10| 0:0:03| spchol 1 1
25|1.000|0.469|3.7e-11|2.9e-04|1.2e+12| 1.560154e+11 -5.211160e+10| 0:0:03| spchol 1 1
26|1.000|0.479|3.3e-11|1.5e-04|5.9e+11| 7.623513e+10 -2.895295e+10| 0:0:03| spchol 1 1
27|1.000|0.378|2.3e-11|9.4e-05|3.5e+11| 4.875882e+10 -1.873233e+10| 0:0:03| spchol 1 1
28|1.000|0.355|1.9e-11|6.1e-05|2.1e+11| 3.529628e+10 -1.247802e+10| 0:0:03| spchol 1 1
29|1.000|0.335|1.9e-11|4.0e-05|1.2e+11| 2.627138e+10 -8.547292e+09| 0:0:03| spchol 1 1
30|1.000|0.285|1.6e-11|2.9e-05|7.5e+10| 2.051661e+10 -6.286162e+09| 0:0:03| spchol 1 1
31|1.000|0.383|1.8e-11|1.8e-05|3.7e+10| 1.300532e+10 -4.006937e+09| 0:0:03| spchol 1 1
32|1.000|0.361|1.4e-11|1.1e-05|1.7e+10| 7.313618e+09 -2.632545e+09| 0:0:03| spchol 1 1
33|1.000|0.462|1.6e-11|6.1e-06|6.1e+09| 2.979396e+09 -1.450613e+09| 0:0:03| spchol 1 1
34|1.000|0.569|1.3e-11|2.6e-06|1.6e+09| 7.194788e+08 -6.347741e+08| 0:0:03| spchol 1 1
35|1.000|0.810|1.1e-11|5.0e-07|1.8e+08| 5.509373e+07 -1.215313e+08| 0:0:03| spchol 1 1
36|0.986|0.977|4.8e-12|1.1e-08|3.8e+06| 9.627000e+05 -2.768796e+06| 0:0:03| spchol 1 1
37|0.988|0.989|7.4e-13|1.3e-10|4.4e+04| 1.157266e+04 -3.132430e+04| 0:0:03| spchol 1 1
38|0.939|0.976|3.2e-12|3.8e-12|1.5e+03| 6.707232e+02 -7.870694e+02| 0:0:03| spchol 1 1
39|0.980|0.973|1.0e-12|3.6e-13|4.1e+01|-6.199716e+01 -5.875287e+01| 0:0:03| spchol 1 1
40|0.981|0.986|9.4e-13|1.8e-14|7.2e-01|-7.691361e+01 -3.864828e+01| 0:0:04| spchol 1 1
41|0.964|0.953|9.4e-13|1.3e-14|3.7e-02|-7.673854e+01 -3.830215e+01| 0:0:04| spchol 1 1
42|1.000|0.042|1.0e-12|1.4e-14|2.7e-02|-7.648537e+01 -3.829809e+01| 0:0:04| spchol 1 1
43|0.995|0.970|9.2e-13|1.3e-14|1.0e-03|-7.642355e+01 -3.820390e+01| 0:0:04| spchol 1 1
44|0.915|0.749|9.2e-13|1.4e-14|6.2e-04|-7.629441e+01 -3.814059e+01| 0:0:04| spchol 1 1
45|0.775|0.688|9.4e-13|1.3e-14|5.1e-04|-7.617377e+01 -3.808298e+01| 0:0:04| spchol 1 1
46|0.519|0.898|1.1e-12|1.1e-14|5.5e-04|-7.605891e+01 -3.800859e+01| 0:0:04| spchol 1 1
47|0.172|0.694|1.0e-12|1.3e-14|6.2e-04|-7.598588e+01 -3.795169e+01| 0:0:04|
stop: progress is bad

number of iterations = 47
primal objective value = -7.61737739e+01
dual objective value = -3.80829803e+01
gap := trace(XZ) = 5.14e-04
relative gap = 4.46e-06
actual relative gap = -3.30e-01
rel. primal infeas (scaled problem) = 9.38e-13
rel. dual " " " = 1.27e-14
rel. primal infeas (unscaled problem) = 0.00e+00
rel. dual " " " = 0.00e+00
norm(X), norm(y), norm(Z) = 3.7e+08, 5.1e+07, 6.5e+07
norm(A), norm(b), norm© = 5.3e+03, 4.5e+06, 8.4e+05
Total CPU time (secs) = 3.96
CPU time per iteration = 0.08
termination code = -5
DIMACS: 8.4e-12 0.0e+00 7.6e-14 0.0e+00 -3.3e-01 4.5e-06


Status: Inaccurate/Solved
Optimal value (cvx_optval): +38.083

indent preformatted text by 4 spaces
K=4;
N=20;
delta=1;
alpha_k_n=0.5;             %offload ratio
V_max=30;
B=1*10^6;                  %bandwidth=1MHZ
beta0=1*10^(-6);           %-60dB
P=1;                       %user power=1W
noise_p=1*10^(-14);        %noise power=-110dBm
H=50;
w_k=[50,70,330,350;180,210,210,180];          %user location
w_e=[200,50];              %eavesdropper location
L=1*10^6;                  %task size
M=30;

%SCA local point q_r
q_r=zeros([2,N]);
c_ini_x=200;
c_ini_y=80;
r_ini=80;
ang=2*pi/(N-1);
for n=1:N
    q_r(1,n)=c_ini_x+r_ini*cos((n-1)*ang-pi/2);
    q_r(2,n)=c_ini_y+r_ini*sin((n-1)*ang-pi/2);
end

%SCA local point v1_r,v2_r
v1_r=zeros([K,N]);
v2_r=zeros([1,N]);
for k=1:K
    for n=1:N
        v1_r(k,n)=sqrt((q_r(1,n)-w_k(1,k))^2+(q_r(2,n)-w_k(2,k))^2+H^2);
    end
end

for n=1:N
    v2_r(n)=sqrt((q_r(1,n)-w_e(1))^2+(q_r(2,n)-w_e(2))^2+H^2);
end

%constant dke,A_k,B_k,C
dke=zeros([1,K]);                %||wk-we||
A_k=zeros([1,K]);
B_k=zeros([1,K]);
for k=1:K
    dke(k)=sqrt((w_k(1,k)-w_e(1))^2+(w_k(2,k)-w_e(2))^2);
    A_k(k)=beta0/(dke(k)^4);
    B_k(k)=(2*M*beta0^(1.5))/(dke(k)^2);
end
C=(M^2)*(beta0^2);

%SCA local point eta_r
eta_r=zeros([K,N]);
for k=1:K
    for n=1:N
        eta_r(k,n)=log(1+(P/noise_p)*(A_k(k)-B_k(k)/(v1_r(k,n)*v2_r(n))+C/((v1_r(k,n)^2)*(v2_r(n)^2))));
    end
end

%constant D_l,E_l,dku_l_horizon2,due_l_horizon2
D_r=zeros([K,N]);
E_r=zeros([K,N]);
dku_r_horizon2=zeros([K,N]);    %||qr[n]-wk||2
due_r_horizon2=zeros([1,N]);    %||qr[n]-we||2
for k=1:K
    for n=1:N
        dx_uav_ue2=(q_r(1,n)-w_k(1,k))^2;
        dy_uav_ue2=(q_r(2,n)-w_k(2,k))^2;
        dku_r_horizon2(k,n)=dx_uav_ue2+dy_uav_ue2;

        d_uav_ue2=H^2+dx_uav_ue2+dy_uav_ue2;
        D_r(k,n)=B*log2(1+(P*beta0)/(noise_p*(H^2+dku_r_horizon2(k,n))));
        E_r(k,n)=(B*P*beta0)/(log(2)*d_uav_ue2*(noise_p*d_uav_ue2+P*beta0));
    end
end
for n=1:N
    due_r_horizon2(n)=(q_r(1,n)-w_e(1))^2+(q_r(2,n)-w_e(2))^2;
end

cvx_begin
    variable Q(2,N) nonnegative          %trajectory
    variable omega(K,N) nonnegative    %slack variable omega
    variable eta(K,N)                  %slack variable eta
    variable v1(K,N)                   %slack variable v1
    variable v2(1,N)                   %slack variable v2
    variable v3(K,N)                   %slack variable v3
    variable v4(1,N)                   %slack variable v4

    expressions R_lb(K,N) nonnegative          %lower boundary of Rk[n]
    for k=1:K
        for n=1:N
            dku_horizon2=(Q(1,n)-w_k(1,k))^2+(Q(2,n)-w_k(2,k))^2;
            R_lb(k,n)=D_r(k,n)-E_r(k,n)*(dku_horizon2-dku_r_horizon2(k,n));
        end
    end

    expressions F_lb(K,N)       %lower boundary of 1/v1k[n]v2[n] 
    for k=1:K
         for n=1:N
             F_lb(k,n)=3/(v1_r(k,n)*v2_r(n))-v1(k,n)/(v2_r(n)*v1_r(k,n)^2)...
                 -v2(n)/(v1_r(k,n)*v2_r(n)^2);
         end
    end

    G_lb=exp(eta_r)+(exp(eta_r).*(eta-eta_r));      %lower boundary of exp(eta)

    energy=P*L*alpha_k_n*inv_pos(omega);

    minimize(sum(sum(energy)))
    subject to
        Q(1,1)==q_r(1,1);
        Q(2,1)==q_r(2,1);
        Q(1,N)==Q(1,1);
        Q(2,N)==Q(2,1);

        for n=1:N-1
            (Q(1,n+1)-Q(1,n))^2+(Q(2,n+1)-Q(2,n))^2<=(delta*V_max)^2;
        end

        omega<=R_lb-eta*B/log(2);

        for k=1:K
            for n=1:N
                1+P*(A_k(k)-B_k(k)*F_lb(k,n)+C*prod_inv([v3(k,n),v4(1,n)]))/noise_p<=G_lb(k,n);

                (Q(1,n)-w_k(1,k))^2+(Q(2,n)-w_k(2,k))^2+H^2<=2*v1_r(k,n)*v1(k,n)-v1_r(k,n)^2;

                v3(k,n)<=H^2+dku_r_horizon2(k,n)+...
                    2*((q_r(1,n)-w_k(1,k))*(Q(1,n)-q_r(1,n))+(q_r(2,n)-w_k(2,k))*(Q(2,n)-q_r(2,n)));
            end
        end

        for n=1:N
            (Q(1,n)-w_e(1))^2+(Q(2,n)-w_e(2))^2+H^2<=2*v2_r(n)*v2(n)-v2_r(n)^2;

            v4(1,n)<=H^2+due_r_horizon2(n)+...
                2*((q_r(1,n)-w_e(1))*(Q(1,n)-q_r(1,n))+(q_r(2,n)-w_e(2))*(Q(2,n)-q_r(2,n))); 
        end
cvx_end
cvx_clear

see

thanks for your reply,i tried to use mosek,but it failed.this is result of its operation
Calling Mosek 9.1.9: 2737 variables, 1198 equality constraints
For improved efficiency, Mosek is solving the dual problem.

MOSEK Version 9.1.9 (Build date: 2019-11-21 11:34:40)
Copyright © MOSEK ApS, Denmark. WWW: mosek.com
Platform: Windows/64-X86

MOSEK warning 710: #1 (nearly) zero elements are specified in sparse col ‘’ (582) of matrix ‘A’.
Problem
Name :
Objective sense : min
Type : CONIC (conic optimization problem)
Constraints : 1198
Cones : 718
Scalar variables : 2737
Matrix variables : 0
Integer variables : 0

Optimizer started.
Presolve started.
Linear dependency checker started.
Linear dependency checker terminated.
Eliminator started.
Freed constraints in eliminator : 387
Eliminator terminated.
Eliminator started.
Freed constraints in eliminator : 0
Eliminator terminated.
Eliminator - tries : 2 time : 0.00
Lin. dep. - tries : 1 time : 0.00
Lin. dep. - number : 0
Presolve terminated. Time: 0.00
Problem
Name :
Objective sense : min
Type : CONIC (conic optimization problem)
Constraints : 1198
Cones : 718
Scalar variables : 2737
Matrix variables : 0
Integer variables : 0

Optimizer - threads : 16
Optimizer - solved problem : the primal
Optimizer - Constraints : 725
Optimizer - Cones : 716
Optimizer - Scalar variables : 2364 conic : 2148
Optimizer - Semi-definite variables: 0 scalarized : 0
Factor - setup time : 0.00 dense det. time : 0.00
Factor - ML order time : 0.00 GP order time : 0.00
Factor - nonzeros before factor : 3385 after factor : 4438
Factor - dense dim. : 0 flops : 5.43e+04
ITE PFEAS DFEAS GFEAS PRSTATUS POBJ DOBJ MU TIME
0 3.5e+05 2.0e+05 2.0e+07 0.00e+00 1.896008213e+03 -2.000000000e+07 1.0e+00 0.05
1 9.7e+04 5.4e+04 1.0e+07 -1.00e+00 1.141997884e+07 -8.581758914e+06 2.7e-01 0.05
2 4.9e+04 2.7e+04 7.5e+06 -1.00e+00 1.033093224e+07 -9.670207220e+06 1.4e-01 0.05
3 1.6e+04 8.6e+03 4.2e+06 -1.00e+00 1.090390748e+07 -9.093915246e+06 4.4e-02 0.05
4 3.8e+03 2.1e+03 2.1e+06 -9.99e-01 1.189373959e+07 -8.086780825e+06 1.1e-02 0.05
5 7.6e+02 4.2e+02 9.2e+05 -9.98e-01 1.459900599e+07 -5.281119985e+06 2.2e-03 0.05
6 2.5e+02 1.4e+02 5.2e+05 -9.87e-01 1.484694708e+07 -4.779386795e+06 7.1e-04 0.05
7 1.3e+02 7.1e+01 3.7e+05 -9.62e-01 1.488994974e+07 -4.389152597e+06 3.6e-04 0.06
8 3.7e+01 2.0e+01 1.8e+05 -9.28e-01 1.417578031e+07 -3.496229778e+06 1.0e-04 0.06
9 1.6e+01 9.1e+00 1.1e+05 -7.61e-01 1.258036743e+07 -2.733002846e+06 4.6e-05 0.06
10 4.8e+00 2.7e+00 3.7e+04 -5.02e-01 8.002566727e+06 -1.411123248e+06 1.4e-05 0.06
11 8.0e-01 4.5e-01 3.8e+03 1.59e-01 2.050085952e+06 -2.716410305e+05 2.3e-06 0.06
12 1.2e-01 6.9e-02 2.2e+02 8.21e-01 3.408535123e+05 -4.465794100e+04 3.5e-07 0.06
13 2.7e-02 1.5e-02 2.3e+01 9.47e-01 7.372789117e+04 -1.118212410e+04 7.5e-08 0.06
14 5.9e-03 3.3e-03 2.4e+00 9.85e-01 1.557258972e+04 -3.416023605e+03 1.7e-08 0.06
15 1.2e-03 6.7e-04 2.3e-01 9.77e-01 2.484230192e+03 -1.434980271e+03 3.4e-09 0.06
16 3.4e-04 1.9e-04 3.6e-02 9.50e-01 4.479458176e+02 -6.992134973e+02 9.7e-10 0.08
17 1.6e-04 9.1e-05 1.3e-02 8.86e-01 1.547263278e+02 -4.401473392e+02 4.6e-10 0.08
18 6.7e-05 3.7e-05 3.5e-03 9.95e-01 -1.394174315e+02 -3.881598473e+02 1.9e-10 0.08
19 4.4e-05 5.5e-05 2.3e-03 5.79e-01 -1.714680176e+01 -2.244252630e+02 1.2e-10 0.08
20 1.2e-05 3.3e-05 3.6e-04 8.93e-01 -1.444806131e+02 -2.064728042e+02 3.5e-11 0.08
21 5.6e-06 2.1e-04 1.6e-04 4.85e-01 -7.180036644e+01 -1.122565891e+02 1.6e-11 0.08
22 1.7e-06 2.5e-04 2.9e-05 7.83e-01 -8.199319561e+01 -9.546821730e+01 4.7e-12 0.08
23 7.5e-07 1.5e-03 1.3e-05 4.46e-01 -4.716349701e+01 -5.610532683e+01 2.1e-12 0.08
24 2.3e-07 1.2e-03 2.6e-06 7.25e-01 -4.423225783e+01 -4.745833101e+01 6.5e-13 0.08
25 1.1e-07 6.4e-03 1.2e-06 3.62e-01 -2.573900429e+01 -2.800605340e+01 3.0e-13 0.08
26 3.2e-08 5.1e-03 2.2e-07 7.00e-01 -2.294567850e+01 -2.372082336e+01 8.7e-14 0.08
27 1.4e-08 2.1e-03 9.3e-08 3.60e-01 -1.390969831e+01 -1.441013353e+01 3.6e-14 0.09
28 4.7e-09 1.9e-02 1.9e-08 6.43e-01 -1.156324237e+01 -1.174259106e+01 1.1e-14 0.09
29 2.5e-09 8.3e-03 7.1e-09 3.59e-01 -7.378595741e+00 -7.486044728e+00 4.3e-15 0.09
30 1.7e-09 9.4e-02 1.7e-09 6.32e-01 -6.196545707e+00 -6.239822448e+00 1.5e-15 0.09
31 2.0e-09 2.6e-01 3.4e-10 5.54e-01 -4.698341532e+00 -4.713944426e+00 4.1e-16 0.09
32 1.5e-09 2.0e-01 8.1e-11 7.59e-01 -4.253918973e+00 -4.260198080e+00 1.5e-16 0.09
33 1.4e-09 2.4e-01 1.8e-11 8.78e-01 -4.053705360e+00 -4.056073102e+00 5.6e-17 0.09
34 1.6e-09 2.6e-01 4.2e-12 9.13e-01 -3.968855107e+00 -3.969745085e+00 2.1e-17 0.11
35 2.0e-09 1.2e-01 1.4e-12 9.03e-01 -3.908236428e+00 -3.908661418e+00 1.2e-17 0.11
36 2.0e-09 1.2e-01 1.4e-12 9.45e-01 -3.908236428e+00 -3.908661418e+00 1.2e-17 0.11
37 2.0e-09 1.2e-01 1.4e-12 9.91e-01 -3.908236428e+00 -3.908661418e+00 1.2e-17 0.13
Optimizer terminated. Time: 0.13

Interior-point solution summary
Problem status : UNKNOWN
Solution status : UNKNOWN
Primal. obj: -3.9082364281e+00 nrm: 5e+05 Viol. con: 2e-06 var: 4e-11 cones: 2e-10
Dual. obj: -3.8886931052e+00 nrm: 2e+07 Viol. con: 0e+00 var: 3e+05 cones: 8e-09
Optimizer summary
Optimizer - time: 0.13
Interior-point - iterations : 38 time: 0.13
Basis identification - time: 0.00
Primal - iterations : 0 time: 0.00
Dual - iterations : 0 time: 0.00
Clean primal - iterations : 0 time: 0.00
Clean dual - iterations : 0 time: 0.00
Simplex - time: 0.00
Primal simplex - iterations : 0 time: 0.00
Dual simplex - iterations : 0 time: 0.00
Mixed integer - relaxations: 0 time: 0.00


Status: Failed
Optimal value (cvx_optval): NaN

This

means some of your data are too small (but not zero, like noise_p=1*10^(-14) or too big, solvers cannot handle them stably. see Handling numerical issues section of
http://web.cvxr.com/cvx/doc/support.html#handling-numerical-issues
By the way, I’m wondering if CVX2.2 supports SCS solver.

thank you,i will try it.I only have sdpt3, sedumi, mosek and gurobi in my list of CVX solvers

I believe SCS is only supported in CVX 3.0beta. But that version of CVX is riddled with bugs, including not honoring some constraints, so i don’t recommend using it.

As for warnings about nearly zero numbers, you need to improve the scaling of your input data. Change the units to avoid such small numbers as 10^(-14),. 10^(-6) is not very wonderful, but you might get away with it.

2 Likes