mcga: R Implementation of the Machine-coded Genetic Algorithms
Mehmet Hakan Satman *
Department of Econometrics, Istanbul University, Istanbul, Turkey.
Emre Akadal
Department of Informatics, Istanbul University, Istanbul, Turkey.
*Author to whom correspondence should be addressed.
Abstract
Genetic Algorithms (GAs) are global optimization and search algorithms that mimic the natural selection and genetic processes. Floating-point GAs (FPGAs) are other type of GAs which directly operate on real-vectors without requiring a geno-type − pheno-type distinction and encoding-decoding processes. However, the classical crossover and mutation operators are not directly applicable on the real-vectors. As a result of this, new types of genetic operators are developed for FPGAs. Machine-coded GAs (MCGAs) apply byte-based genetic operators on the byte representations of the candidate solutions. This natural encoding scheme makes classical crossover operators applicable on the real-vectors. Addition to this, MCGAs report more precise results in larger domains of decision variables. Mutation operation on the byte representations of variables have also similar e ects with its binary counterpart. The R package mcga defines plug-in versions of byte-based operators that can be integrated with the recently developed function ga in package GA. Low level utility functions are written in C++ and wrapped with the Rcpp and .Call interface of R. Advantages and disadvantages of using byte-based operators are discussed and demonstrated on some univariate and multivariate optimization problems.
Keywords: Genetic algorithms, real-valued optimization, R