Skip to content

Question: new scaling for dres in 0.10? #196

@sfetzel

Description

@sfetzel

I have a rather small convex problem which I described in cvxpy. It can be solved easily with clarabel version 0.9.0. When I upgrade to clarabel 0.10.0, the problem terminates with "InsufficientProgress". However, the final cost values seem to be equal in both versions. I can see that the scaling of dres has changed.
Is there any way to resolve this issue and have the problem solved with 0.10.0 as well? It would be great if I could get the solution of the last iteration anyways, even with the "InsufficientProgress" state.

Unfortunately, I cannot share my implementation.

Output from 0.9.0:

settings:
  linear algebra: direct / qdldl, precision: 64 bit
  max iter = 1000, time limit = 10.0,  max step = 0.990
  tol_feas = 1.0e-1, tol_gap_abs = 1.0e-12, tol_gap_rel = 1.0e-8,
  static reg : on, ϵ1 = 1.0e-8, ϵ2 = 4.9e-32
  dynamic reg: on, ϵ = 1.0e-13, δ = 2.0e-7
  iter refine: on, reltol = 1.0e-13, abstol = 1.0e-12,
               max iter = 10, stop ratio = 5.0
  equilibrate: on, min_scale = 1.0e-4, max_scale = 1.0e12
               max iter = 10

iter    pcost        dcost       gap       pres      dres      k/t        μ       step      
---------------------------------------------------------------------------------------------
  0  +1.6453e-01  +1.6453e-01  2.21e-09  1.00e+00  8.74e+10  1.00e+00  1.00e+00   ------   
  1  +1.6495e-01  +1.6407e-01  8.75e-04  1.00e-02  7.75e+10  1.00e-02  1.02e-02  9.90e-01  
  2  +1.6478e-01  +1.6424e-01  5.41e-04  6.11e-04  2.64e+10  8.92e-05  6.28e-04  9.39e-01  
  3  +1.6459e-01  +1.6446e-01  1.27e-04  1.10e-05  6.49e+08  2.85e-05  4.30e-05  9.90e-01  
  4  +1.6454e-01  +1.6451e-01  2.89e-05  1.13e-07  7.70e+06  7.41e-06  5.47e-06  9.90e-01  
  5  +1.6453e-01  +1.6453e-01  6.31e-06  1.27e-09  3.62e+05  1.84e-06  7.98e-07  9.90e-01  
  6  +1.6453e-01  +1.6453e-01  1.25e-06  1.28e-11  1.52e+04  4.00e-07  1.11e-07  9.90e-01  
  7  +1.6453e-01  +1.6453e-01  1.82e-07  2.20e-13  4.83e+02  6.20e-08  1.28e-08  9.83e-01  
  8  +1.6453e-01  +1.6453e-01  7.96e-08  9.35e-17  2.10e+02  2.99e-08  5.23e-09  6.42e-01  
  9  +1.6456e-01  +1.6448e-01  8.16e-05  7.71e-17  2.56e+02  5.81e-06  5.55e-09  7.12e-02  
 10  +1.6453e-01  +1.6451e-01  1.52e-05  2.65e-20  4.73e+00  2.33e-06  1.21e-10  9.84e-01  
 11  +1.6450e-01  +1.6438e-01  1.15e-04  2.51e-16  2.17e-01  1.21e-05  1.19e-11  9.47e-01  
 12  +3.6927e-01  -6.3679e-02  4.33e-01  1.77e-16  1.45e-02  1.48e-03  2.61e-12  9.67e-01  
 13  +2.0689e-01  +8.5482e-02  1.21e-01  2.75e-16  8.96e-04  7.12e-04  3.20e-13  9.31e-01  
 14  +5.5343e-01  -7.7046e-01  1.32e+00  2.03e-16  6.48e-05  3.33e-02  1.61e-13  9.90e-01  
 15  +1.1896e-01  -2.2383e-01  3.43e-01  8.95e-17  1.10e-06  8.67e-03  2.04e-14  9.90e-01  
 16  +2.6798e-02  -5.5945e-02  8.27e-02  7.38e-17  6.65e-07  1.37e-03  2.23e-15  9.90e-01  
 17  +1.3090e-02  -1.4854e-03  1.46e-02  7.25e-17  6.05e-07  7.21e-05  2.05e-16  9.90e-01  
 18  +1.2316e-02  +1.1504e-02  8.13e-04  7.25e-17  8.06e-07  8.65e-07  1.41e-17  9.90e-01  
 19  +1.2311e-02  +1.2301e-02  1.02e-05  2.90e-16  3.82e-06  8.63e-09  2.63e-19  9.90e-01  
 20  +1.2307e-02  +1.2306e-02  1.03e-07  2.29e-16  4.61e-06  8.63e-11  2.63e-21  9.90e-01  
 21  +1.2306e-02  +1.2306e-02  1.03e-09  2.29e-16  4.62e-06  8.63e-13  2.63e-23  9.90e-01  
---------------------------------------------------------------------------------------------
Terminated with status = Solved
solve time = 2.1364ms
-------------------------------------------------------------------------------
                                    Summary                                    
-------------------------------------------------------------------------------
(CVXPY) Jul 22 05:44:28 PM: Problem status: optimal
(CVXPY) Jul 22 05:44:28 PM: Optimal value: 1.228e-02
(CVXPY) Jul 22 05:44:28 PM: Compilation took 7.747e-02 seconds
(CVXPY) Jul 22 05:44:28 PM: Solver (including time spent in interface) took 3.000e-03 seconds

Output from 0.10.0:

problem:
  variables     = 407
  constraints   = 407
  nnz(P)        = 402
  nnz(A)        = 2017
  cones (total) = 2
    :        Zero = 1,  numel = 402
    : Nonnegative = 1,  numel = 5

settings:
  linear algebra: direct / qdldl, precision: 64 bit
  max iter = 1000, time limit = 10.0,  max step = 0.990
  tol_feas = 1.0e-1, tol_gap_abs = 1.0e-12, tol_gap_rel = 1.0e-8,
  static reg : on, ϵ1 = 1.0e-8, ϵ2 = 4.9e-32
  dynamic reg: on, ϵ = 1.0e-13, δ = 2.0e-7
  iter refine: on, reltol = 1.0e-13, abstol = 1.0e-12,
               max iter = 10, stop ratio = 5.0
  equilibrate: on, min_scale = 1.0e-4, max_scale = 1.0e12
               max iter = 10

iter    pcost        dcost       gap       pres      dres      k/t        μ       step      
---------------------------------------------------------------------------------------------
  0  +1.6453e-01  +1.6453e-01  2.21e-09  1.00e+00  1.43e+15  1.00e+00  1.00e+00   ------   
  1  +1.6495e-01  +1.6407e-01  8.75e-04  1.00e-02  1.43e+13  1.00e-02  1.02e-02  9.90e-01  
  2  +1.6478e-01  +1.6424e-01  5.41e-04  6.11e-04  7.80e+11  8.92e-05  6.28e-04  9.39e-01  
  3  +1.6459e-01  +1.6446e-01  1.27e-04  1.10e-05  1.36e+10  2.85e-05  4.30e-05  9.90e-01  
  4  +1.6454e-01  +1.6451e-01  2.89e-05  1.13e-07  1.68e+08  7.41e-06  5.47e-06  9.90e-01  
  5  +1.6453e-01  +1.6453e-01  6.31e-06  1.27e-09  2.07e+06  1.84e-06  7.98e-07  9.90e-01  
  6  +1.6453e-01  +1.6453e-01  1.25e-06  1.28e-11  2.51e+04  4.00e-07  1.11e-07  9.90e-01  
  7  +1.6453e-01  +1.6453e-01  1.82e-07  2.20e-13  4.96e+02  6.20e-08  1.28e-08  9.83e-01  
  8  +1.6453e-01  +1.6453e-01  7.96e-08  9.35e-17  2.16e+02  2.99e-08  5.23e-09  6.42e-01  
  9  +1.6456e-01  +1.6448e-01  8.16e-05  7.71e-17  2.15e+04  5.81e-06  5.55e-09  7.12e-02  
 10  +1.6453e-01  +1.6451e-01  1.52e-05  2.65e-20  5.37e+02  2.33e-06  1.21e-10  9.84e-01  
 11  +1.6450e-01  +1.6438e-01  1.15e-04  2.51e-16  2.36e+02  1.21e-05  1.19e-11  9.47e-01  
 12  +3.6927e-01  -6.3679e-02  4.33e-01  1.77e-16  8.07e+02  1.48e-03  2.61e-12  9.67e-01  
 13  +2.0689e-01  +8.5482e-02  1.21e-01  2.75e-16  1.22e+02  7.12e-04  3.20e-13  9.31e-01  
 14  +5.5343e-01  -7.7046e-01  1.32e+00  2.03e-16  7.47e+01  3.33e-02  1.61e-13  9.90e-01  
 15  +1.1896e-01  -2.2383e-01  3.43e-01  8.95e-17  2.19e+00  8.67e-03  2.04e-14  9.90e-01  
 16  +2.6798e-02  -5.5945e-02  8.27e-02  7.38e-17  1.97e+00  1.37e-03  2.23e-15  9.90e-01  
 17  +1.3090e-02  -1.4854e-03  1.46e-02  7.25e-17  1.58e+00  7.21e-05  2.05e-16  9.90e-01  
 18  +1.2316e-02  +1.1504e-02  8.13e-04  7.25e-17  2.02e+00  8.65e-07  1.41e-17  9.90e-01  
 19  +1.2311e-02  +1.2301e-02  1.02e-05  2.90e-16  9.57e+00  8.63e-09  2.63e-19  9.90e-01  
 20  +1.2307e-02  +1.2306e-02  1.03e-07  2.29e-16  1.15e+01  8.63e-11  2.63e-21  9.90e-01  
 21  +1.2306e-02  +1.2306e-02  1.03e-09  2.29e-16  1.16e+01  8.63e-13  2.63e-23  9.90e-01  
 22  +1.2306e-02  +1.2306e-02  1.03e-11  7.25e-17  1.16e+01  8.63e-15  2.63e-25  9.90e-01  
---------------------------------------------------------------------------------------------
Terminated with status = InsufficientProgress
solve time = 2.264ms

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions