nloptr 2.1.0
This release deprecates the default behavior of the inequality equations in any
wrapper function which uses them. Currently, they are calibrated to be >= 0.
This version allows for the equations to be consistent with the main nloptr
function, which requires <= 0. In a future release, the default behavior will
switch to assuming the calibration is <= 0, and eventually, the >= 0 behavior
will be removed. It also includes a large number of safety and efficiency
changes, and an expansion of the unit tests to 100% coverage for all files but
one. The major changes include:
- Reversed the direction of the inequality equations
hinandhinjacin the
wrapper functions which use them, bringing them into compliance with the main
nloptrcall. This addresses
Issue #148; - Cleaned the Hock-Schittkowski problem no. 100, Hartmann 6-dimensional, and
Powell exponential examples. This addresses
Issue #152 and
Issue #156; - Updated roxygen version;
- Updated maintainer email;
- Deal with NA returns from
parallel::detectCores()(contributed by @jeroen in
PR #150); - Setup rhub v2 checks;
- Update cmake installation instructions on Mac with brew (#146);
- Allow use of equality constraints with COBYLA (#135);
- Replaced the unit testing framework of
testthatwithtinytest(See
Issue #136); - Brought coverage of
is.nloptrto 100%. The only file not completely covered
by unit tests isnloptr.c. The uncovered calls are error messages which get
trapped by tests in R before the call gets to C; - Linted package for code correctness and consistency;
- Updated vignette, DESCRIPTION, and NEWS;
- Updated package website to use bootstrap 5;
- Expanded unit tests: coverage now over 97% with no file below 90%;
- Removed forcing
C++11; - Added safety checks to C code;
- Added many safety and efficiency enhancements to R code;
- Most R code style made self-consistent;
- Updated documentation and messages for accuracy and mathematical formatting
- Updated Github actions;
- Some bugfixes (e.g. in
isresor the warning innl.grad).
Please see the commit logs for more detailed descriptions of the changes.