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
hin
andhinjac
in the
wrapper functions which use them, bringing them into compliance with the main
nloptr
call. 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
testthat
withtinytest
(See
Issue #136); - Brought coverage of
is.nloptr
to 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
isres
or the warning innl.grad
).
Please see the commit logs for more detailed descriptions of the changes.