Package: mcga 3.0.7

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.

Authors:Mehmet Hakan Satman

mcga_3.0.7.tar.gz
mcga_3.0.7.zip(r-4.5)mcga_3.0.7.zip(r-4.4)mcga_3.0.7.zip(r-4.3)
mcga_3.0.7.tgz(r-4.4-x86_64)mcga_3.0.7.tgz(r-4.4-arm64)mcga_3.0.7.tgz(r-4.3-x86_64)mcga_3.0.7.tgz(r-4.3-arm64)
mcga_3.0.7.tar.gz(r-4.5-noble)mcga_3.0.7.tar.gz(r-4.4-noble)
mcga_3.0.7.tgz(r-4.4-emscripten)mcga_3.0.7.tgz(r-4.3-emscripten)
mcga.pdf |mcga.html
mcga/json (API)

# Install 'mcga' in R:
install.packages('mcga', repos = c('https://jbytecode.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/jbytecode/mcga/issues

Uses libs:
  • c++– GNU Standard C++ Library v3

On CRAN:

2.69 score 49 scripts 418 downloads 34 exports 8 dependencies

Last updated 12 months agofrom:e61a409f94. Checks:OK: 9. Indexed: yes.

TargetResultDate
Doc / VignettesOKNov 12 2024
R-4.5-win-x86_64OKNov 12 2024
R-4.5-linux-x86_64OKNov 12 2024
R-4.4-win-x86_64OKNov 12 2024
R-4.4-mac-x86_64OKNov 12 2024
R-4.4-mac-aarch64OKNov 12 2024
R-4.3-win-x86_64OKNov 12 2024
R-4.3-mac-x86_64OKNov 12 2024
R-4.3-mac-aarch64OKNov 12 2024

Exports:arithmetic_crossoverblx_crossoverbyte_crossoverbyte_crossover_1pbyte_crossover_2pbyte_mutationbyte_mutation_dynamicbyte_mutation_randombyte_mutation_random_dynamicByteCodeMutationByteCodeMutationUsingDoublesByteCodeMutationUsingDoublesRandomBytesToDoubleByteVectorToDoublesDoubleToBytesDoubleVectorToBytesEnsureBoundsflat_crossoverlinear_crossoverMaxDoublemcgamcga2multi_mcgaOnePointCrossOverOnePointCrossOverOnDoublesUsingBytessbx_crossoverSizeOfDoubleSizeOfIntSizeOfLongTwoPointCrossOverTwoPointCrossOverOnDoublesUsingBytesunfair_average_crossoverUniformCrossOverUniformCrossOverOnDoublesUsingBytes

Dependencies:clicodetoolscrayonforeachGAiteratorsRcppRcppArmadillo

Readme and manuals

Help Manual

Help pageTopics
Machine Coded Genetic Algorithms for Real-valued Optimization Problemsmcga-package
Performs arithmetic crossover operation on a pair of two selected parent candidate solutionsarithmetic_crossover
Performs blx (blend) crossover operation on a pair of two selected parent candidate solutionsblx_crossover
Performs crossover operation on a pair of two selected parent candidate solutionsbyte_crossover
Performs one-point crossover operation on a pair of two selected parent candidate solutionsbyte_crossover_1p
Performs two-point crossover operation on a pair of two selected parent candidate solutionsbyte_crossover_2p
Performs mutation operation on a given double vectorbyte_mutation
Performs mutation operation on a given double vector using dynamic mutation probabilitiesbyte_mutation_dynamic
Performs mutation operation on a given double vectorbyte_mutation_random
Performs mutation operation on a given double vector with dynamic mutation probabilitiesbyte_mutation_random_dynamic
Mutation operator for byte representation of double valuesByteCodeMutation
Mutation operator for byte representation of double valuesByteCodeMutationUsingDoubles
Mutation operator for byte representation of double valuesByteCodeMutationUsingDoublesRandom
Converting 'sizeof(double)' bytes to a double valueBytesToDouble
Converting p * 'sizeof(double)' bytes to a vector of p double valuesByteVectorToDoubles
Byte representation of a 'double' typed variableDoubleToBytes
Byte representation of a vector of 'double' typed variablesDoubleVectorToBytes
Altering vector of doubles to satisfy boundary constraintsEnsureBounds
Performs flat crossover operation on a pair of two selected parent candidate solutionsflat_crossover
Performs linear crossover operation on a pair of two selected parent candidate solutionslinear_crossover
Maximum value of a 'double' typed variableMaxDouble
Performs machine coded genetic algorithms on a function subject to be minimized.mcga
Performs a machine-coded genetic algorithm search for a given optimization problemmcga2
Performs multi objective machine coded genetic algorithms.multi_mcga
One Point Crossover operation on the two vectors of bytesOnePointCrossOver
One-point Crossover operation on the two vectors of doubles using their byte representationsOnePointCrossOverOnDoublesUsingBytes
Performs sbx (simulated binary) crossover operation on a pair of two selected parent candidate solutionssbx_crossover
Byte-length of a 'double' typed variableSizeOfDouble
Byte-length of a 'int' typed variableSizeOfInt
Byte-length of a 'long' typed variableSizeOfLong
Two Point Crossover operation on the two vectors of bytesTwoPointCrossOver
Two-point Crossover operation on the two vectors of doubles using their byte representationsTwoPointCrossOverOnDoublesUsingBytes
Performs unfair average crossover operation on a pair of two selected parent candidate solutionsunfair_average_crossover
Uniform Crossover operation on the two vectors of bytesUniformCrossOver
Uniform Crossover operation on the two vectors of doubles using their byte representationsUniformCrossOverOnDoublesUsingBytes