Reorganized optional arguments of vntrs().
Renamed argument tolerance to identical_tolerance to clarify that it
identifies identical optima.
Added argument scale. Its default "relative" applies scale-free distance,
objective-gap, duplicate-optimum, and gradient criteria; "absolute" applies
the corresponding unscaled measures used by Bierlaire et al. (2009).
Made duplicate-optimum detection scale-free by default, while retaining an
absolute comparison through scale = "absolute".
Added arguments known_optimum_radius and interruption_gradient_tolerance
to control the distance and gradient thresholds for premature interruption.
Added argument evaluation_limit to impose a maximum number of
objective-function calls.
Now samples initialization points across finite parameter bounds. init_min
and init_max remain the fallback for parameters without finite bounds.
Expanded the parameter documentation with explanations and recommended values.
Improved initialization when the objective is non-finite at a randomly generated starting point.
Now sorts returned optima from best to worst by objective value.
Reduced objective-function evaluations by delaying numerical gradients until a trial step is accepted and by reusing available values and gradients.
Replaced the absolute gradient convergence check with a scaled gradient criterion.
Reworked missing-derivative handling.
Added damped-BFGS trust-region models and reuse of local curvature across continued searches.
Improved documentation.
Removed renv.
Added optional bound constraints to the trust-region optimizer.
These are available through the lower and upper arguments.
Improved documentation.
Implemented the algorithm in Rcpp for faster execution.