nloptr provides an R interface to NLopt, a free/open-source library for nonlinear optimization providing a common interface to a number of different optimization routines which can handle nonlinear constraints and lower and upper bounds for the controls.
This will address issue #168. The commit log is a bit wonky since in my experiments I set the five-point estimation as the sole version and then @astamm suggested we make 3/5 a user option. We can do that easily in all cases except when check_derivatives = TRUE is passed in nloptr since all options are overwritten by nloptr.add.default.options/nloptr.get.default.options inside of nloptr and I didn't want to start playing with those. So in the "automatic" case, the five point option is used. Otherwise, the default is three unless the user passes five. Synopsis of changes:
nl.grad, nl.jacobian, and check.derivatives now all use the same algorithm.
finite.differences has been removed.
nloptr passes points = 5 to check.derivatives if the check_derivatives option is set to TRUE.
heps defaults to NULL and is set to the optimum value (based on Sauer) given points. If a values is passed to heps, that is used.
Update documentation and unit tests as needed.
Bump minor version since this is new functionality that does not break the old.
Unrelated Removed nloptr.show.inequality.warning setting option in zzz.R given release 2.1.0. It should have been removed there; my error.
This will address issue #168. The commit log is a bit wonky since in my experiments I set the five-point estimation as the sole version and then @astamm suggested we make 3/5 a user option. We can do that easily in all cases except when
check_derivatives = TRUE
is passed innloptr
since all options are overwritten bynloptr.add.default.options
/nloptr.get.default.options
inside ofnloptr
and I didn't want to start playing with those. So in the "automatic" case, the five point option is used. Otherwise, the default is three unless the user passes five. Synopsis of changes:nl.grad
,nl.jacobian
, andcheck.derivatives
now all use the same algorithm.finite.differences
has been removed.nloptr
passespoints = 5
tocheck.derivatives
if thecheck_derivatives
option is set toTRUE
.heps
defaults toNULL
and is set to the optimum value (based on Sauer) givenpoints
. If a values is passed toheps
, that is used.nloptr.show.inequality.warning
setting option inzzz.R
given release 2.1.0. It should have been removed there; my error.