RcppEnsmallen v0.2.14.2.1 Released - New NSGA2 optimizer and Bug Fixes!

software-releases
r
Author

TheCoatlessProfessor

Published

September 10, 2020

The RcppEnsmallen package brings to R a Header-Only C++ Mathematical Optimization Library for Armadillo. In particular, Ensmallen is a templated C++ mathematical optimization library (by the MLPACK team) that provides a simple set of abstractions for writing an objective function to optimize.

There are a lot of goodies in this release. Portions of the goodies are thanks to the excellent job done by the Ensmallen Development Team. For this update, they’ve add the NSGA2 optimizer and addressed a bunch of edge case bugs. Moreover, portions of this update further improves automation for releasing new versions of the library. Not to be outdone, on the R integration end, we’ve added a new GitHub Actions workflow based on Peter Evan’s create-pull-request action that will automatically create a Pull Request that updates the embedded Ensmallen library when a new release is issued upstream. For in-depth details, see the news entry for the package below.

RcppEnsmallen news file entry for version v0.2.14.2.1 (2020-09-10)

  • Upgraded to ensmallen 2.14.2: “No Direction Home” (2020-09-05)
    • Fix implementation of fonesca fleming problem function f1 and f2 type usage and negative signs. (#223)
    • Fix release script (remove hardcoded information, trim leading whitespaces introduced by wc -l in MacOS) (#216, #220).
    • Adjust tolerance for AugLagrangian convergence based on element type (#217).
    • Add NSGA2 optimizer for multi-objective functions (#149).
    • Update automatic website update release script (#207).
    • Clarify and fix documentation for constrained optimizers (#201).
    • Fix L-BFGS convergence when starting from a minimum (#201).
  • Switch GitHub Actions to use reference tags to always be up-to-date with CRAN’s check grid (oldrel, release, devel). (#29, #32)
  • Added a GitHub Action to automatically create a PR with the new version of Ensmallen when a new release is detected. (#30, #33)

GitHub Changelog