The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
ucminfcppR package that provides unconstrained nonlinear optimization through
a modern C++17 reimplementation of the classic
Fortran-based ucminf algorithm.
It is a drop-in replacement for
ucminf::ucminf(). The reimplementation of the C++ library
offers multi-language support for Python
and Julia
.
ucminf::ucminf() function.Install the latest development version from GitHub:
# Install directly from GitHub
devtools::install_github("alrobles/ucminfcpp")The example below optimises Rosenbrock’s Banana
Function and confirms that ucminfcpp and
ucminf produce identical results.
# Rosenbrock's Banana Function
banana <- function(x) {
100 * (x[2] - x[1]^2)^2 + (1 - x[1])^2
}
# Initial point
starting_point <- c(-1.2, 1)
# Optimization with ucminfcpp
result_cpp <- ucminfcpp::ucminf(starting_point, banana)
cat("ucminfcpp result:\n")
print(result_cpp$par)
# Optimization with ucminf
result_fortran <- ucminf::ucminf(starting_point, banana)
cat("ucminf result:\n")
print(result_fortran$par)
# Check similarity
identical_result <- all.equal(result_cpp$par, result_fortran$par)
cat("Are the results the same? ", identical_result, "\n")ucminfcpp provides the ucminf() function
for general-purpose unconstrained nonlinear optimization. The algorithm
is a quasi-Newton method with BFGS updating of the inverse Hessian and a
soft line search with adaptive trust-region radius monitoring.
It is designed as a drop-in replacement for the original
Fortran-based ucminf
ucminf::ucminf() function. The original algorithm was
written in Fortran by Hans Bruun Nielsen.
This reimplementation is based on the original repository ucminf.
The implementation and techniques are derived from the original Fortran-based algorithm described by: Nielsen, H. B. (2000) UCMINF - An Algorithm For Unconstrained, Nonlinear Optimization, Report IMM-REP-2000-19, Department of Mathematical Modelling, Technical University of Denmark.
Dr. Nielsen passed away in 2015; the code was later modified for
integration with R packages. The structure of ucminf in R
draws from the FortranCallsR package
by Diethelm Wuertz. Dr. Wuertz passed away in 2016
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.