Recent Releases of nloptr
nloptr - nloptr 2.2.1
- Updates included nlopt sources to
v2.10.0(#194, @astamm). - Fix clang-UBSAN memory leak issue (#189, @astamm).
- Add link to blog post about nloptr
v2.2.0. - More CI to build against all versions of
nlopt>=2.7.0. - Use
NLOPT_LD_LBFGSin place ofNLOPT_LD_LBFGS_NOCEDALwhen the latter is not available (in nloptv2.9.x). - Add checks for
x0andeval_finnloptr(#191, @astamm).
- R
Published by astamm over 1 year ago
nloptr - nloptr 2.2.0
This release fixes a breaking bug which affects nloptr and its reverse dependencies and brings some minor tweaks and corrections along the way:
- Minimal patch for build against nlopt 2.9.x (#176, @jaganmn): specifically, the issuses were that (i) nlopt versions 2.9.x had one less algorithm in the enum list, namely
NLOPT_LD_LBFGS_NOCEDALwas removed in these versions and put back in 2.10 and (ii) we were usinginst/includein which we copied nlopt headers conditionally to build the package (e.g. listing it inPKG_CPPFLAGS) resulting in possible version conflicts. - Fix the 2 failed tests by adding one more termination criterion.
- Update GHA workflows to latest versions.
- Fix reverse
LinkingTodependencies by (i) unconditionally copying headers toinst/includeand (ii) fixingcmakepath search (#179, @astamm). - Fix for newly broken kergp package due to wrong usage of
ifstatement insidepaste()which works differently than when used insidec()(#180, @astamm). - Update artifact action to
v4(#174, @eddelbuettel). - Correcting some of the unit tests in
test-banana(#167, @aadler). - Correcting some of the unit tests in
test-global-wrapper(#166, @aadler). - Update the code in
nloptr.cfor compatibility with theRAPI, efficiency, and formatting (#169, @aadler). - Bugfix:
ranseedexpects an unsigned long but was passed as an integer, thus reducing the range of random seeds. It is now passed as a double and converted to a long (#169, @aadler).
- R
Published by astamm over 1 year ago
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.
- R
Published by astamm about 2 years ago
nloptr - 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 mainnloptrcall. 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.
- R
Published by astamm about 2 years ago
nloptr - nloptr 2.0.3
- Improved compatibility on RHEL/CentOS by first searching for a
cmake3binary on thePATH(#104). - Improved backward compatibility with older versions of
cmake(#119).
- R
Published by astamm about 4 years ago
nloptr - nloptr 2.0.2
This is a patch version in which:
- I link to the
nloptlibrary vianlopt/lib/libnlopt.ainstead of-Lnlopt/lib -lnloptwhen buildingnloptfrom included sources to avoid potential mess where-lnloptcould look for thenloptlibrary 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.
- R
Published by astamm about 4 years ago
nloptr - 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
SystemRequirementsdescription 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
cmakeis missing when needed with clearer message (#103, @eddelbuettel). - Ensure system-wide installation of
cmakein 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
cmake3binary in the current path beforecmakefor increasing compatibility with most RHEL/CentOS users (#104, @bhogan-mitre @HenrikBengtsson).
- R
Published by astamm about 4 years ago
nloptr - nloptr 2.0.0
Major changes
- Use CMake to build
nloptfrom 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
rwinlibon Windows current release (contributed by Jeroen Ooms, #92), or NLopt fromRtools42on Windows devel (contributed by Tomas Kalibera).
Minor changes
- Added a
NEWS.mdfile 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(jyypma/nloptr#81, @Tom-python0121). - Made NLopt algorithm
NLOPT_GN_ESCHavailable from R interface (contributed by Xiongtao Dai).
- R
Published by astamm over 4 years ago