Releases: astamm/nloptr
nloptr 2.1.1
This is a patch release to work around a bug in the CRAN checks. Specifically,
one of the unit tests for the isres()
algorithm was failing on some CRAN
builds because convergence is stochastic with slightly different results even
with the same fixed seed prior to calling the function.
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.
nloptr 2.0.3
nloptr 2.0.2
This is a patch version in which:
- I link to the
nlopt
library vianlopt/lib/libnlopt.a
instead of
-Lnlopt/lib -lnlopt
when buildingnlopt
from included sources to avoid
potential mess where-lnlopt
could look for thenlopt
library in other
places and possibly link with an existing too old system build ofnlopt
.
Additionally, we contacted Simon Urbanek for updating the nlopt
recipe for
macOS users so that it does now match the latest v2.7.1
, which should avoid
nlopt
to be built on the fly on CRAN machines.
nloptr 2.0.1
This is a release mainly for increasing direct compatibility with most user cases. In details, here is the list of changes that have been made:
- Update
SystemRequirements
description to make it clearer which minimal versions ofcmake
(>= 3.15.0
) andnlopt
(>= 2.7.0
) are required (#100, @HenrikBengtsson). - End configuration sooner and louder if
cmake
is missing when needed with clearer message (#103, @eddelbuettel). - Ensure system-wide installation of
cmake
in the list of suggestions to install it when missing. - Update GHA scripts to latest versions.
- Configure git to always use LF line endings for configure.ac file.
- Add CI for R-devel on Windows with Rtools42.
- Fix for compatibility with versions of R anterior to
4.0
(#111). - Look for a
cmake3
binary in the current path beforecmake
for increasing compatibility with most RHEL/CentOS users (#104, @bhogan-mitre @HenrikBengtsson).
nloptr 2.0.0
Major changes
- Use CMake to build
nlopt
from included sources on macOS and on Linux if no system build of NLopt (>= 2.7.0
) is found. - Update included sources of NLopt to latest version (2.7.1).
- Put back the ability on Linux platforms to re-use an existing external build of NLopt instead of building from the included sources (contributed by Dirk Eddelbuettel, #88).
- Now builds using NLopt from
rwinlib
on Windows current release (contributed by Jeroen Ooms, #92), or NLopt fromRtools42
on Windows devel (contributed by Tomas Kalibera).
Minor changes
- Added a
NEWS.md
file to track changes to the package. - Use markdown in Roxygen documentation.
- Added a logo and a proper nloptr website.
- Added coverage.
- Switch from Travis to Github Actions for CI.
- Use Catch for unit testing C/C++ code.
- Now tracking code coverage.
- Update NLopt-related URLs following migration of NLopt website.
- Fixed bug to avoid linking issues when using the C API via
#include <nloptrAPI.h>
in several source files. - Fix precision issue in test example
hs071
(#81, @Tom-python0121). - Made NLopt algorithm
NLOPT_GN_ESCH
available from R interface (contributed by Xiongtao Dai).