Status Failed: Too many tiny steps even after restarting

Dear all,

I am trying to solve a SOCP through CVX with SDPT3 with CVX 2.0 and MATLAB version: 8.0 (R2012b). You can find below the log file that depending on the parameters it leads to ‘Failed’ status.

Do you know how can I circumvent this problem?

Thank you in advance,


Calling SDPT3 4.0: 534 variables, 207 equality constraints

 num. of constraints = 207
 dim. of socp   var  = 270,   num. of socp blk  = 67
 dim. of linear var  = 263
 dim. of free   var  =  1 *** convert ublk to lblk
   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|7.2e+00|1.6e+01|5.1e+15| 2.215658e+14  0.000000e+00| 0:0:00| chol  1  2 
 1|0.000|0.000|7.2e+00|1.6e+01|5.1e+15| 2.494488e+14 -3.477605e+09| 0:0:00| chol  1  2 
 2|0.000|0.000|7.2e+00|1.6e+01|5.1e+15| 2.494531e+14 -1.007106e+10| 0:0:00| chol  1  2 
 3|0.000|0.000|7.2e+00|1.6e+01|5.1e+15| 2.494637e+14 -1.450035e+10| 0:0:00| chol  1  2 
 4|0.001|0.000|7.2e+00|1.6e+01|5.1e+15| 2.494802e+14 -2.442749e+10| 0:0:00|
 *** Too many tiny steps:  restarting with the following iterate.
 *** [X,y,Z] = infeaspt(blk,At,C,b,2,1e5); chol  1  2 
 5|0.000|0.000|4.2e+04|9.9e-01|1.0e+13| 9.299197e+14 -1.478006e+06| 0:0:00|
 *** Too many tiny steps even after restarting
  stop: steps too short consecutively*
 number of iterations   =  5
 primal objective value =  2.21565811e+14
 dual   objective value =  0.00000000e+00
 gap := trace(XZ)       = 5.07e+15
 relative gap           = 2.29e+01
 actual relative gap    = 1.00e+00
 rel. primal infeas     = 7.16e+00
 rel. dual   infeas     = 1.55e+01
 norm(X), norm(y), norm(Z) = 1.7e+06, 0.0e+00, 3.1e+09
 norm(A), norm(b), norm(C) = 1.5e+04, 1.3e+04, 1.9e+08
 Total CPU time (secs)  = 0.09  
 CPU time per iteration = 0.02  
 termination code       = -5
 DIMACS: 7.2e+00  0.0e+00  1.8e+02  0.0e+00  1.0e+00  2.3e+01
Status: Failed
Optimal value (cvx_optval): NaN

You haven’t shown us your CVX problem formulation, so we cannot say whether it has inherent numerical difficulties or could be improved.

Nevertheless, an obvious thing to try is using different solvers. You should be able to try sedumi. If you have CVX professional and access to the solvers, you could try GUROBI or MOSEK, which might be more numerically robust than SDPT3 or sedumi.

Thanks for your response,

I solved the problem: I realise that some of the parameters of the optimization problem where very large ( around 1e10). I rescale the problem and now it works. I guess it was a numerical resolution problem.

Thanks again,