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.

Author | Mehmet Hakan Satman |

Date of publication | 2016-05-12 16:24:50 |

Maintainer | Mehmet Hakan Satman <mhsatman@istanbul.edu.tr> |

License | GPL (>= 2) |

Version | 3.0.1 |

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

mcga

mcga/inst

mcga/inst/CITATION

mcga/src

mcga/src/mcga.h

mcga/src/rwrapper.c

mcga/src/mcga.c

mcga/src/multi_mcga.h

mcga/src/mcgatypes.h

mcga/src/multi_mcga.c

mcga/src/typeconversations.cpp

mcga/src/RcppExports.cpp

mcga/NAMESPACE

mcga/R

mcga/R/newmcga.r

mcga/R/RcppExports.R
mcga/R/zzz.r

mcga/R/oplibrary.R
mcga/MD5

mcga/DESCRIPTION

mcga/man

mcga/man/byte_mutation_random.Rd
mcga/man/byte_crossover_1p.Rd
mcga/man/flat_crossover.Rd
mcga/man/UniformCrossOver.Rd
mcga/man/SizeOfDouble.Rd
mcga/man/BytesToDouble.Rd
mcga/man/multi_mcga.Rd
mcga/man/ByteCodeMutation.Rd
mcga/man/OnePointCrossOverOnDoublesUsingBytes.Rd
mcga/man/ByteVectorToDoubles.Rd
mcga/man/mcga.Rd
mcga/man/unfair_average_crossover.Rd
mcga/man/TwoPointCrossOverOnDoublesUsingBytes.Rd
mcga/man/arithmetic_crossover.Rd
mcga/man/UniformCrossOverOnDoublesUsingBytes.Rd
mcga/man/byte_crossover.Rd
mcga/man/EnsureBounds.Rd
mcga/man/SizeOfInt.Rd
mcga/man/blx_crossover.Rd
mcga/man/ByteCodeMutationUsingDoubles.Rd
mcga/man/DoubleToBytes.Rd
mcga/man/MaxDouble.Rd
mcga/man/sbx_crossover.Rd
mcga/man/OnePointCrossOver.Rd
mcga/man/byte_mutation_dynamic.Rd
mcga/man/mcga2.Rd
mcga/man/TwoPointCrossOver.Rd
mcga/man/DoubleVectorToBytes.Rd
mcga/man/byte_mutation_random_dynamic.Rd
mcga/man/linear_crossover.Rd
mcga/man/byte_mutation.Rd
mcga/man/mcga-package.Rd
mcga/man/byte_crossover_2p.Rd
mcga/man/SizeOfLong.Rd
mcga/man/mcga-internal.Rd
mcga/man/ByteCodeMutationUsingDoublesRandom.Rd
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

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