Documentation improvements.
Removed renv.
Added a safeguard if computation of (numerical) gradient or Hessian fails. (#5)
Additional arguments passed to optimization methods now go only to the objective function. (#1)
Small fixes.
Added private helper function .check_arguments_complete() to the
Objective object. It checks whether all required arguments are specified.
Added functionality to the Objective object that can compute a numerical
gradient and Hessian.
Gradient, Hessian, and parameter bounds can now be passed to Optimizer
objects.
The old S3 interface has been removed. The functions define_optimizer(),
optimizer_nlm(), optimizer_optim(), new_optimizer(),
validate_optimizer(), and apply_optimizer() are no longer available.
Please use the R6 interface via Optimizer$new() and the corresponding
methods. See help("Optimizer", "optimizeR") for details.
ParameterSpaces now allows users to specify parameters that are not used
for transformations. This can be useful when one general ParameterSpaces
object is defined for nested sets of parameters.ParameterSpaces R6 object to transform parameters between
optimization and interpretation space.Objective object now allows different output structures for the
objective function. A template can be provided via the $output_template
field.The Optimizer object has a new method optimize, which can be used for
minimization and maximization by setting the argument direction.
In method Objective$initialize(), renamed argument objective to f.
In method Objective$initialize(), if target = NULL (the new default),
the first argument from f is taken as the target argument.
install_optimizer_packages().NULL.Fixed a bug in creating the error message for a timeout.
Added checks for the objective, initial, and ellipsis arguments of the optimizer function.
Added a verbose argument to the $get_argument() and
$remove_argument() methods of the Objective object.
Added field fixed_arguments to the Objective object. It returns the
names of the fixed arguments.
Fixed a bug in backward compatibility.
Small bug fixes.
Backward compatibility with {optimizeR} version 0.3.3.
"out_value" and "out_parameter" in the optimizer
dictionary entry for stats::optim.Removed package start-up message.
Added the .direction argument to define_optimizer() to specify whether
the optimizer minimizes or maximizes.
Added a dot before the argument names for define_optimizer() to avoid
clashes with the ... argument.
Removed dependency on {glue}.
Used TestFunctions::TF_ackley instead of the package's own implementation
of the Ackley function for validation.
define_optimizer(), now validate = FALSE by default.Function set_optimizer() was renamed to define_optimizer().
Inputs for define_optimizer() were renamed for clarity:
opt_fun -> optimizer
f -> objectivep -> initialv -> valuez -> parameterout_ign -> output_ignoretest_par -> validation_settings
Elements for input validation_settings have been simplified. Please see
the documentation of define_optimizer().
Elements in the output of apply_optimizer() were renamed for clarity:
v -> value
z -> parametertime -> seconds (now just a numeric)
Element initial (the starting parameter vector) was added to the output of
apply_optimizer().
Some functions were renamed:
optimizeR() -> apply_optimizer()
set_optimizer_nlm() -> optimizer_nlm()set_optimizer_optim() -> optimizer_optim()
Functions is_number(), try_silent(), timed(), and
do.call_timed() are no longer exported.
Function try_silent_timed() was removed.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.