This webpage is for the distribution of the R version of GENOUD
(GENetic Optimized Using Derivatives). Genoud is a function that combines evolutionary
search algorithms with derivative-based (Newton or quasi-Newton)
methods to solve difficult optimization problems. Genoud
may also be used for optimization problems for which derivatives do
not exist.
Genoud solves problems that are
nonlinear or perhaps even discontinuous in the parameters of the
function to be optimized. When a statistical model's estimating
function (for example, a log-likelihood) is nonlinear in the model's
parameters, the function to be optimized will generally not be
globally concave and may have irregularities such as saddlepoints or
discontinuities. Optimization methods that rely on derivatives of the
objective function may be unable to find any optimum at all. Multiple
local optima may exist, so that there is no guarantee that a
derivative-based method will converge to the global optimum. On the
other hand, algorithms that do not use derivative information (such as
pure genetic algorithms) are for many problems needlessly poor at
local hill climbing. Most statistical problems are regular in a
neighborhood of the solution. Therefore, for some portion of the
search space, derivative information is useful. Genoud,
via the cluster option, supports the use of multiple
computers, CPUs or cores to perform parallel computations.
Nine different R packages on CRAN rely on
rgenoud. For example, the Matching package
(for multivariate and propensity score matching for causal inference)
makes extensive use of the parallel and lexical optimization
functions. And the FAiR package (by Ben
Goodrich) for estimating factor analysis models with arbitrary
restrictions makes use of the transform option. Ben
Goodrich provided a patch to support this option. The other seven
packages on CRAN that rely on
rgenoud are: anchors, BARD, ivivc, multinomRob,
PKfit, qpcR, and Synth. Many other
software projects also depend on rgenoud, such as Bear
Braumoeller's Boolean
package.