cvxr / TFOCS

A MATLAB toolbox for building first-order solvers for convex models.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AT doesn't reach required function value, other methods do

stefanks opened this issue · comments

I think the issue is a misinterpretation of the stopping condition. The built-in stopping conditions can only test things like the relative change in function value, since they don't know what the optimal function value is. If you have some side-information that you can use for a better stopping function, use the opts.stopFcn option (the opts.errFcn is also useful for recording and displaying errors).

So the fact that one method reached this criteria and the other method didn't is just chance.

Ah, sorry, there was a comment which is gone. The code is here:
http://users.iems.northwestern.edu/~sks144/script_tfocs_AT_fail.m
The data:
http://users.iems.northwestern.edu/~sks144/fdata-myrand.mat

I used the opts.stopFcn function. Problem with AT is that it reports that solution was found even though stop test was not satisfied.

Ok, I can confirm this was a bug (not with the AT method but with TFOCS overall). The issue is a bit complicated: there are two sequences of variables, and the stopping condition was applied to one of them and the output was from the other. It's now more consistent by default, and there are some options that allow you to tweak it further. This kind of bug doesn't show up much since the two sequences are usually quite close to each other.