R interface to the Java CMA-ES of Niko Hansen
CMA-ES R-to-Java interface package
Package: | rCMA |
Type: | Package |
Version: | 1.1 |
Date: | 2015-04-30 |
License: | GPL (>= 3) |
LazyLoad: | yes |
rCMA is a package to perform CMA-ES optimization, using the Java implementation by Niko Hansen [Hansen2009].
CMA-ES [HansOst96, Hansen13] is the Covariance Matrix Adapting Evolutionary Strategy for numeric black box optimization.
The main features of rCMA are:
Abiltiy to start the Java CMA-ES optimization with fitness functions defined in R.
Constraint handling: Arbitrary constraints can be incorporated, see function parameter isFeasible
in cmaOptimDP
.
Extensibility: Full access to all methods of the Java class CMAEvolutionStrategy
through package list("rJava"). New methods can be added easily. See the documentation of cmaEvalMeanX
for further details, explanation of JNI types and a full example.
Test and Debug: The access of Java methods from R allows for easy debugging and test of programs using CMAEvolutionStrategy
through R scripts without the necessity to change the underlying JAR file.
The main entry point functions are cmaNew
, cmaInit
and cmaOptimDP
.
Note: To install rJava
properly on some Unix systmes, it might be necessary to issue as root the command R CMD javareconf
once, or, as normal user to issue the command R CMD javareconf -e
prior to installing package rJava
or prior to loading library rJava
.
Wolfgang Konen (wolfgang.konen@fh-koeln.de )
[HansOst96] Hansen, N. and Ostermeier, A.: Adapting arbitrary normal mutation distributions in evolution strategies: The covariance matrix adaptation. In Proceedings of the 1996 IEEE International Conference on Evolutionary Computation, pp. 312-317, 1996. PDF.
[Hansen09] https://www.lri.fr/~hansen/javadoc Nikolaus Hansen: Javadoc for CMA-ES Java package fr.inria.optimization.cmaes, 2009.
[Hansen13] https://www.lri.fr/~hansen/cmaesintro.html Nikolaus Hansen: The CMA Evolution Strategy Web Page, 2013.
[Urbanek13] http://cran.r-project.org/web/packages/rJava
Urbanek, S.: rJava: Low-level R to Java interface, 2013.
[Oracle14] http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html
Oracle: The Java Native Interface. Programmer's Guide and Specification, 2014.
Useful links