embotech / ecos

A lightweight conic solver for second-order cone programming.
GNU General Public License v3.0
471 stars 123 forks source link

Incorrect solution returned #85

Open mcg1969 opened 10 years ago

mcg1969 commented 10 years ago

ECOS (1.05; Mac OSX) is converging to a different solution than both SDPT3 and SeDuMi; the objective value is significantly higher. If I force CVX to dualize ECOS arrives at the right answer. An M-file containing the problem data, in the form of a CVX dumpfile, can be found at this link.

For reference here is the model, though without the specific data it's not too useful I suspect.

    cvx_begin
        cvx_precision best
        variable ZZ(N)
        minimize(norm(S.*ZZ));
        norm(ZZ) <= NRM;
        sum(real(A0.*(reshape(V*ZZ,NM,NT)*PHI))) >= ug;
    cvx_end

Yes, I'm aware there are some small numbers in here. I suspect scaling is an issue.

tiagoakle commented 9 years ago

@mcg1969 you might want to check now, the fix to the balancing might correct this.