R-GENetic Optimization Using Derivatives (RGENOUD)

Walter R. Mebane, Jr. and Jasjeet S. Sekhon

This webpage is for the distribution of the R version of GENOUD (GENetic Optimized Using Derivatives). Genoud is a function that combines evolutionary algorithm methods with a derivative-based (quasi-Newton) method to solve difficult optimization problems. Genoud may also be used for optimization problems for which derivatives do not exist.

For an introduction to the package with documentation and examples, please see "Genetic Optimization Using Derivatives: The rgenoud package for R" which is forthcoming in the Journal of Statistical Software.

The easiest way to install the latest version (5.4-7), if you have an active network connection, is to type in a R session:
> install.packages("rgenoud")

Alternatively, the package may be directly downloaded:
R Source Package: rgenoud_5.4-7.tar.gz
Windows binary Package: rgenoud_5.4-7.zip
Mac OS X universal binary package: rgenoud_5.4-7.tgz
Other binary Packages: http://www.cran.r-project.org/bin

The genoud() help page describes the package in detail. Examples are provided for how to use multiple chips on the same computer to perform parallel computations. Examples are also provided for how to use multiple computers to perform parallel computations. A change log is available which tracks changes across versions. For general R documentation click here.

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.



Return to Jasjeet Sekhon's Homepage