# mcga v3.0.3

Monthly downloads

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

## Last month downloads

## Details

Type | Package |

Date | 2018-05-12 |

License | GPL (>= 2) |

LinkingTo | Rcpp |

NeedsCompilation | yes |

LazyLoad | yes |

Repository | CRAN |

Date/Publication | 2018-05-13 20:30:12 UTC |

Packaged | 2018-05-13 20:16:47 UTC; istar1 |

RoxygenNote | 5.0.1 |

depends | GA |

imports | Rcpp (>= 0.11.4) |

Contributors | Mehmet Satman |

#### Include our badge in your README

```
[![Rdoc](http://www.rdocumentation.org/badges/version/mcga)](http://www.rdocumentation.org/packages/mcga)
```