I get this alert message only when I vary the total bandwidth B. For example when I use a 5 MHz band, the warning disappear but I need to test with other values. thank you for helping me.
Here is my code.
clc
clear all
rng(‘default’) % For reproducibility
I = 50;
eps1 = 10^-2;
eps2 = 10^-2;
fmax = 20 * 10^9;
s = normrnd(1000, 100, I, 1) * 8000 ;
c = normrnd(1000, 100, I, 1) * 10^6 ;
fl = c;
B = 10 * 10^6;
rfix = [0.5, 1, 1.5, 2, 2.5, 2.5, 2, 1.5, 1, 0.5];
cvx_begin
variable a(I) nonnegative
variable beta(I) nonnegative
variable fs(I) nonnegative
variable b(I) nonnegative
variable mu(I) nonnegative
variable omega(I) nonnegative
variable gamma(I) nonnegative
maximize sum(a)
subject to
0 <= a <= 1;
1./ (a * fmax + eps2) <= gamma <= 1/ eps1;
sum(inv_pos(gamma)) <= (fmax + I * eps2);
inv_pos(a .* B + eps1) <= beta <= 1/ eps1;
sum(inv_pos(beta)) <= B + I * eps1;
mu - a./ (B +eps1) >= 0;
beta - 1/(B + eps1) - mu + a/(B + eps1) >= 0;
a/eps1 - mu >= 0;
1/eps1 - beta - a/eps1 + mu >= 0;
omega - a/(fmax + eps2) >= 0;
gamma - 1/(fmax + eps2) - omega + a/(fmax +eps2) >=0;
a/eps2 - omega >= 0;
1/eps2 - gamma - a/eps2 + omega >=0;
(s .* mu / rfix(1) + c .* omega) + (1 - a) .* c ./ fl <= 4;
cvx_end
The results of the execution and the warnings
Calling SDPT3 4.0: 1502 variables, 450 equality constraints
For improved efficiency, SDPT3 is solving the dual problem.
num. of constraints = 450
dim. of socp var = 600, num. of socp blk = 200
dim. of linear var = 902
number of nearly dependent constraints = 400
To remove these constraints, re-run sqlp.m with OPTIONS.rmdepconstr = 1.
SDPT3: Infeasible path-following algorithms
version predcorr gam expon scale_data
NT 1 0.000 1 0
it pstep dstep pinfeas dinfeas gap prim-obj dual-obj cputime
0|0.000|0.000|2.1e+11|1.4e+01|4.1e+13| 2.450775e+10 0.000000e+00| 0:0:00| chol 2 3
1|0.968|0.890|6.8e+09|1.6e+00|4.2e+12| 2.442247e+10 3.302277e+01| 0:0:00| chol 3 3
2|0.947|0.924|3.6e+08|1.2e-01|3.7e+11| 1.802260e+10 5.021911e+01| 0:0:00| chol 2 2
3|0.700|0.953|1.1e+08|5.6e-03|2.5e+10| 6.103069e+09 1.024624e+02| 0:0:01| chol 2 2
4|0.960|0.958|4.4e+06|2.3e-04|1.0e+09| 2.690918e+08 1.284588e+02| 0:0:01| chol 2 2
5|0.984|0.982|7.0e+04|4.2e-06|2.2e+07| 8.711726e+06 1.302271e+02| 0:0:01| chol 1 1
6|0.973|0.934|1.9e+03|2.8e-07|1.6e+06| 8.461857e+05 6.013296e+01| 0:0:01| chol 1 1
7|0.984|0.889|3.1e+01|3.0e-08|1.8e+05| 1.298459e+05 4.316344e+01| 0:0:01| chol 1 1
8|0.846|0.588|4.7e+00|1.3e-08|5.1e+04| 3.143642e+04 3.967161e+01| 0:0:01| chol 1 1
9|0.815|0.723|8.8e-01|3.5e-09|2.3e+04| 1.642223e+04 2.828335e+01| 0:0:01| chol 1 1
10|0.983|0.938|1.5e-02|2.2e-10|1.2e+03| 9.357944e+02 2.741408e+01| 0:0:01| chol 1 1
11|0.961|0.986|5.9e-04|3.3e-12|4.5e+01| 6.535298e+01 2.887973e+01| 0:0:01| chol 1 1
12|1.000|0.910|7.5e-09|3.4e-13|6.5e+00| 5.271521e+01 4.770450e+01| 0:0:01| chol 1 1
13|0.932|0.980|5.9e-09|8.9e-15|2.9e-01| 5.018289e+01 4.995254e+01| 0:0:01| chol 1 1
14|0.985|0.988|9.6e-10|9.1e-16|5.5e-03| 5.000224e+01 4.999943e+01| 0:0:01| chol 1 1
15|0.981|0.944|7.8e-10|1.1e-15|2.7e-04| 5.000000e+01 4.999997e+01| 0:0:01| chol 1 1
16|0.979|1.000|2.7e-10|7.8e-16|7.2e-05| 5.000004e+01 4.999998e+01| 0:0:01| chol 1 1
17|0.774|1.000|7.4e-10|7.6e-16|2.5e-05| 5.000001e+01 4.999999e+01| 0:0:02| chol
linsysolve: Schur complement matrix not positive definite
switch to LU factor. lu Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 47)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
Warning: Matrix is singular, close to singular or badly scaled. Results may be inaccurate. RCOND = NaN.
In linsysolvefun (line 29)
In symqmr>precond (line 122)
In symqmr (line 69)
In linsysolve (line 220)
In NTpred (line 60)
In sqlpmain (line 345)
In sdpt3 (line 267)
In cvx_run_solver (line 56)
In cvx_sdpt3>solve (line 288)
In cvx_solve (line 399)
In cvx_finish (line 57)
In cvx_end (line 11)
In p5 (line 47)
30
stop: steps in predictor too short: pstep = 0.00e+00, dstep = 1.00e+00
18|0.000|1.000|7.4e-10|7.6e-16|2.5e-05| 5.000001e+01 4.999999e+01| 0:0:02|
number of iterations = 18
primal objective value = 5.00000109e+01
dual objective value = 4.99999940e+01
gap := trace(XZ) = 2.47e-05
relative gap = 2.45e-07
actual relative gap = 1.67e-07
rel. primal infeas (scaled problem) = 7.44e-10
rel. dual " " " = 7.57e-16
rel. primal infeas (unscaled problem) = 0.00e+00
rel. dual " " " = 0.00e+00
norm(X), norm(y), norm(Z) = 3.5e+02, 1.4e+11, 1.4e+11
norm(A), norm(b), norm(C) = 7.1e+09, 1.0e+00, 2.0e+10
Total CPU time (secs) = 1.92
CPU time per iteration = 0.11
termination code = -2
DIMACS: 7.4e-10 0.0e+00 1.1e-15 0.0e+00 1.7e-07 2.4e-07
Status: Inaccurate/Solved
Optimal value (cvx_optval): +50