mcga: Machine Coded Genetic Algorithms for Real-Valued Optimization Problems

Machine coded genetic algorithm (MCGA) is a fast tool for real-valued optimization problems. It uses the byte representation of variables rather than real-values. It performs the classical crossover operations (uniform) on these byte representations. Mutation operator is also similar to classical mutation operator, which is to say, it changes a randomly selected byte value of a chromosome by +1 or -1 with probability 1/2. In MCGAs there is no need for encoding-decoding process and the classical operators are directly applicable on real-values. It is fast and can handle a wide range of a search space with high precision. Using a 256-unary alphabet is the main disadvantage of this algorithm but a moderate size population is convenient for many problems. Package also includes multi_mcga function for multi objective optimization problems. This function sorts the chromosomes using their ranks calculated from the non-dominated sorting algorithm.

AuthorMehmet Hakan Satman
Date of publication2016-05-12 16:24:50
MaintainerMehmet Hakan Satman <mhsatman@istanbul.edu.tr>
LicenseGPL (>= 2)
Version3.0.1

View on CRAN

Man pages

arithmetic_crossover: Performs arithmetic crossover operation on a pair of two...

blx_crossover: Performs blx (blend) crossover operation on a pair of two...

ByteCodeMutation: Mutation operator for byte representation of double values

ByteCodeMutationUsingDoubles: Mutation operator for byte representation of double values

ByteCodeMutationUsingDoublesRandom: Mutation operator for byte representation of double values

byte_crossover: Performs crossover operation on a pair of two selected parent...

byte_crossover_1p: Performs one-point crossover operation on a pair of two...

byte_crossover_2p: Performs two-point crossover operation on a pair of two...

byte_mutation: Performs mutation operation on a given double vector

byte_mutation_dynamic: Performs mutation operation on a given double vector using...

byte_mutation_random: Performs mutation operation on a given double vector

byte_mutation_random_dynamic: Performs mutation operation on a given double vector with...

BytesToDouble: Converting 'sizeof(double)' bytes to a double value

ByteVectorToDoubles: Converting p * 'sizeof(double)' bytes to a vector of p double...

DoubleToBytes: Byte representation of a 'double' typed variable

DoubleVectorToBytes: Byte representation of a vector of 'double' typed variables

EnsureBounds: Altering vector of doubles to satisfy boundary constraints

flat_crossover: Performs flat crossover operation on a pair of two selected...

linear_crossover: Performs linear crossover operation on a pair of two selected...

MaxDouble: Maximum value of a 'double' typed variable

mcga: Performs machine coded genetic algorithms on a function...

mcga2: Performs a machine-coded genetic algorithm search for a given...

mcga-internal: Internal mcga objects

mcga-package: Machine Coded Genetic Algorithms for Real-valued Optimization...

multi_mcga: Performs multi objective machine coded genetic algorithms.

OnePointCrossOver: One Point Crossover operation on the two vectors of bytes

OnePointCrossOverOnDoublesUsingBytes: One-point Crossover operation on the two vectors of doubles...

sbx_crossover: Performs sbx (simulated binary) crossover operation on a pair...

SizeOfDouble: Byte-length of a 'double' typed variable

SizeOfInt: Byte-length of a 'int' typed variable

SizeOfLong: Byte-length of a 'long' typed variable

TwoPointCrossOver: Two Point Crossover operation on the two vectors of bytes

TwoPointCrossOverOnDoublesUsingBytes: Two-point Crossover operation on the two vectors of doubles...

unfair_average_crossover: Performs unfair average crossover operation on a pair of two...

UniformCrossOver: Uniform Crossover operation on the two vectors of bytes

UniformCrossOverOnDoublesUsingBytes: Uniform Crossover operation on the two vectors of doubles...

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.