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.