cvxgrp / scs

Splitting Conic Solver
MIT License
547 stars 134 forks source link

anderson acceleration #91

Closed ghost closed 6 years ago

ghost commented 6 years ago

Brendan,

thanks for adding the anderson acceleration, it is great.

it works on regular problem, but i encountered this issue on a trivial one:

x = cvx.Variable()
cvx.Problem(cvx.Minimize(x), [x>=0]).solve(solver=cvx.SCS, verbose=True)

which gives

----------------------------------------------------------------------------
    SCS v2.0.0 - Splitting Conic Solver
    (c) Brendan O'Donoghue, Stanford University, 2012-2017
----------------------------------------------------------------------------
Lin-sys: sparse-indirect, nnz in A = 1, CG tol ~ 1/iter^(2.00)
eps = 1.00e-06, alpha = 1.50, max_iters = 5000, normalize = 1, scale = 1.00
acceleration_lookback = 20, rho_x = 1.00e-03
Variables n = 1, constraints m = 1
Cones:  linear vars: 1
Setup time: 1.31e-04s
----------------------------------------------------------------------------
 Iter | pri res | dua res | rel gap | pri obj | dua obj | kap/tau | time (s)
----------------------------------------------------------------------------
     0| 1.33e+00  1.00e+03  5.71e-01 -1.33e+00 -0.00e+00  1.71e-16  1.03e-04 
    posv ran into numerical issues, info 4, switching to gels
    20| 8.03e-20  0.00e+00  4.62e-20  4.62e-20 -0.00e+00  1.17e-19  3.56e-02 
python(37729,0x7fffba43a3c0) malloc: *** error for object 0x7f7f7c2cf928: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
ghost commented 6 years ago

solved on 2.0.2