# mcga v3.0.3

0

0th

Percentile

## 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.

## Functions in mcga

 Name Description SizeOfInt Byte-length of a int typed variable byte_crossover Performs crossover operation on a pair of two selected parent candidate solutions sbx_crossover Performs sbx (simulated binary) crossover operation on a pair of two selected parent candidate solutions UniformCrossOverOnDoublesUsingBytes Uniform Crossover operation on the two vectors of doubles using their byte representations mcga2 Performs a machine-coded genetic algorithm search for a given optimization problem byte_mutation_dynamic Performs mutation operation on a given double vector using dynamic mutation probabilities byte_mutation Performs mutation operation on a given double vector byte_mutation_random Performs mutation operation on a given double vector mcga Performs machine coded genetic algorithms on a function subject to be minimized. multi_mcga Performs multi objective machine coded genetic algorithms. mcga-package Machine Coded Genetic Algorithms for Real-valued Optimization Problems byte_crossover_2p Performs two-point crossover operation on a pair of two selected parent candidate solutions unfair_average_crossover Performs unfair average crossover operation on a pair of two selected parent candidate solutions mcga-internal Internal mcga objects byte_crossover_1p Performs one-point crossover operation on a pair of two selected parent candidate solutions flat_crossover Performs flat crossover operation on a pair of two selected parent candidate solutions linear_crossover Performs linear crossover operation on a pair of two selected parent candidate solutions byte_mutation_random_dynamic Performs mutation operation on a given double vector with dynamic mutation probabilities OnePointCrossOver One Point Crossover operation on the two vectors of bytes ByteVectorToDoubles Converting p * sizeof(double) bytes to a vector of p double values ByteCodeMutation Mutation operator for byte representation of double values EnsureBounds Altering vector of doubles to satisfy boundary constraints MaxDouble Maximum value of a double typed variable ByteCodeMutationUsingDoubles Mutation operator for byte representation of double values ByteCodeMutationUsingDoublesRandom Mutation operator for byte representation of double values BytesToDouble Converting sizeof(double) bytes to a double value SizeOfLong Byte-length of a long typed variable DoubleVectorToBytes Byte representation of a vector of double typed variables UniformCrossOver Uniform Crossover operation on the two vectors of bytes TwoPointCrossOverOnDoublesUsingBytes Two-point Crossover operation on the two vectors of doubles using their byte representations TwoPointCrossOver Two Point Crossover operation on the two vectors of bytes arithmetic_crossover Performs arithmetic crossover operation on a pair of two selected parent candidate solutions DoubleToBytes Byte representation of a double typed variable SizeOfDouble Byte-length of a double typed variable OnePointCrossOverOnDoublesUsingBytes One-point Crossover operation on the two vectors of doubles using their byte representations blx_crossover Performs blx (blend) crossover operation on a pair of two selected parent candidate solutions No Results!