Skip to content

Version 2.1.0 Frank Wolfe and Parallel Processing

Latest
Compare
Choose a tag to compare
@JBurniston JBurniston released this 14 Jul 16:51
· 2 commits to main since this release
06e64ab

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) to frankWolfeOptions:
    • 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 named BatchJobExample.sh) to go over the basics.
    • New example scripts for running basic parallel pools using xargs in Bash, and ForEach-Object -Parallel in Windows Power Shell. These let you split the total number of runs from the total number of threads.

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 spelling isBlockDimsWellFormated.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