forked from cvxr/TFOCS
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Some major changes to fix a bug and change behavior; most of the changes
are in tfocs_iterate and tfocs_initialize. To understand the changes, note that most algorithms use two sequences of variables, the "x" and the "y" sequence. The return value is the "x" iterate, but stopping criteria is via the "y" iterate often, since this value is in effect pre-computed. And if data recording was specified, this was done on the "x" variable at an additional cost. Now, the policy is to use whichever variable requries less computation (usually the "y" variable), but you can override this behavior if you wish: set opts.stopping_criteria_always_use_x = true to always use "x" to determine the stopping critier; set opts.data_collection_always_use_x = true to always use "x" for data collection; and set opts.output_always_use_x = true to always use "x" (and when appropriate, its corresponding dual variable). By default, we use whichever is cheaper, except for the output, in which case we use whichever gives a better objective value. Due to these major changes, many smaller changes were made to make the code work again. Also, the continuation script now uses the previous stepsize as the new stepsize. We have also added a new restart feature that uses the gradient, not function values. This is due to Brendan O'Donoghue's idea. This can be controlled by setting opts.autoRestart to either 'gra' or 'fun' for gradient or function criteria, respectively. These automatic restart criteria take effect whenever opts.restart < 0. Also new is opts.printRestart; if true (default), this will print output whenever a restart occurs.
- Loading branch information
1 parent
711f792
commit 8420adc
Showing
6 changed files
with
168 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.