Version 2.1 update
Major changes
Frank Wolfe
- A new general Frank Wolfe routine for writing new math solver modules. Math solver developers no longer have to write their own Frank Wolfe routines for each problem! Just provide it the objective function f(x), The gradient, grad[f](x), and the direction finding subproblem function.
- BREAKING CHANGE, the new Frank Wolfe solver splits off Frank Wolfe options into its own struct,
frankWolfeOptions
. Please move the following options (if present in your preset) tofrankWolfeOptions
:maxIter
maxGap
linearSearchPrecision
linearSearchMinStep
- A better method for perturbing the key rate lower bounds was found. No longer requires a costly continuity bound!
Parallel Processing Tools
- You can't run CVX problems in parallel, but you can run multiple instances of Matlab in parallel! We developed some tools to take advantage of this work around. See
JobConstructor.m
and the following scripts:- A very basic bash script named
ParallelExampleBash.sh
(previous namedBatchJobExample.sh
) to go over the basics. - New example scripts for running basic parallel pools using
xargs
in Bash, andForEach-Object -Parallel
in Windows Power Shell. These let you split the total number of runs from the total number of threads.
- A very basic bash script named
Global optimization
- Two new global parameter optimization routines:
PatternSearchAlgorithm.m
directSearchOptimization.m
- These will require additional Matlab global optimization toolboxes.
Some Select Minor changes
- Various small bug fixes for validation functions.
- Removed a few ancient functions that snuck into the V2.0.x builds.
isAnnouncement.m
isModuleStruct.m
mustBeAnAnnouncement.m
mustFollowPerturbationTheorem.m
- Corrected the spelling of
isBlockDimsWellFormatted.m
. The old spellingisBlockDimsWellFormated.m
remains for now but will be removed in the next major version. - Many spelling fixes.
More Information
Full Changelog: v2.0.1...v2.1.0