Package: mcga 3.0.9

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 [aut, cre]

mcga_3.0.9.tar.gz
mcga_3.0.9.zip(r-4.7)mcga_3.0.9.zip(r-4.6)mcga_3.0.9.zip(r-4.5)
mcga_3.0.9.tgz(r-4.6-x86_64)mcga_3.0.9.tgz(r-4.6-arm64)mcga_3.0.9.tgz(r-4.5-x86_64)mcga_3.0.9.tgz(r-4.5-arm64)
mcga_3.0.9.tar.gz(r-4.7-arm64)mcga_3.0.9.tar.gz(r-4.7-x86_64)mcga_3.0.9.tar.gz(r-4.6-arm64)mcga_3.0.9.tar.gz(r-4.6-x86_64)
mcga_3.0.9.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
mcga/json (API)

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

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

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

On CRAN:

Conda:

cpp

2.74 score 55 scripts 323 downloads 34 exports 8 dependencies

Last updated from:beaf0ef94d. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK157
linux-devel-x86_64OK113
source / vignettesOK233
linux-release-arm64OK154
linux-release-x86_64OK114
macos-release-arm64OK134
macos-release-x86_64OK421
macos-oldrel-arm64OK180
macos-oldrel-x86_64OK276
windows-develOK119
windows-releaseOK133
windows-oldrelOK101
wasm-releaseOK86

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