{
  "_id": "6a27af2524555f66ed53506a",
  "Package": "mcga",
  "Type": "Package",
  "Title": "Machine Coded Genetic Algorithms for Real-Valued Optimization\nProblems",
  "Version": "3.0.9",
  "Date": "2025-12-10",
  "Author": "Mehmet Hakan Satman [aut, cre]",
  "Maintainer": "Mehmet Hakan Satman <mhsatman@istanbul.edu.tr>",
  "Description": "Machine coded genetic algorithm (MCGA) is a fast tool for\nreal-valued optimization problems. It uses the byte\nrepresentation of variables rather than real-values. It\nperforms the classical crossover operations (uniform) on these\nbyte representations. Mutation operator is also similar to\nclassical mutation operator, which is to say, it changes a\nrandomly selected byte value of a chromosome by +1 or -1 with\nprobability 1/2. In MCGAs there is no need for\nencoding-decoding process and the classical operators are\ndirectly applicable on real-values. It is fast and can handle a\nwide range of a search space with high precision. Using a\n256-unary alphabet is the main disadvantage of this algorithm\nbut a moderate size population is convenient for many problems.\nPackage also includes multi_mcga function for multi objective\noptimization problems. This function sorts the chromosomes\nusing their ranks calculated from the non-dominated sorting\nalgorithm.",
  "License": "GPL (>= 2)",
  "NeedsCompilation": "yes",
  "LazyLoad": "yes",
  "Packaged": {
    "Date": "2026-06-08 08:18:03 UTC",
    "User": "root"
  },
  "RoxygenNote": "5.0.1",
  "Authors@R": "person(given = c(\"Mehmet\", \"Hakan\"),\nfamily = \"Satman\",\nrole = c(\"aut\", \"cre\"),\nemail = \"mhsatman@istanbul.edu.tr\")",
  "Repository": "https://jbytecode.r-universe.dev",
  "Date/Publication": "2025-12-10 20:05:50 UTC",
  "RemoteUrl": "https://github.com/jbytecode/mcga",
  "RemoteRef": "HEAD",
  "RemoteSha": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
  "MD5sum": "c9f8b7eabd29eb2a1df4cdbe6a475bb2",
  "_user": "jbytecode",
  "_type": "src",
  "_file": "mcga_3.0.9.tar.gz",
  "_fileid": "ee10df490c3c2d0b0d1896785cc1e044a5f6bdcf197c9848dd68dc2819aa87e3",
  "_filesize": 174038,
  "_sha256": "ee10df490c3c2d0b0d1896785cc1e044a5f6bdcf197c9848dd68dc2819aa87e3",
  "_created": "2026-06-08T08:18:03.000Z",
  "_published": "2026-06-09T06:13:57.254Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 80256885381,
      "time": 157,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7474894374"
    },
    {
      "job": 80256885289,
      "time": 113,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7474879531"
    },
    {
      "job": 80256885403,
      "time": 154,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7474893289"
    },
    {
      "job": 80256885148,
      "time": 114,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7474880019"
    },
    {
      "job": 80256884938,
      "time": 180,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7499849301"
    },
    {
      "job": 80256884873,
      "time": 276,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7499833176"
    },
    {
      "job": 80256884910,
      "time": 134,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7499834326"
    },
    {
      "job": 80256885351,
      "time": 421,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7474960425"
    },
    {
      "job": 80256884812,
      "time": 233,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7474842088"
    },
    {
      "job": 80256885085,
      "time": 86,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7474870866"
    },
    {
      "job": 80256885107,
      "time": 119,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7474881456"
    },
    {
      "job": 80256884889,
      "time": 101,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7499528100"
    },
    {
      "job": 80256885235,
      "time": 133,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7474886190"
    }
  ],
  "_buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/jbytecode/mcga",
  "_commit": {
    "id": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
    "author": "jbytecode <mhsatman@gmail.com>",
    "committer": "jbytecode <mhsatman@gmail.com>",
    "message": "increase version in DESCRIPTION\n",
    "time": 1765397150
  },
  "_maintainer": {
    "name": "Mehmet Hakan Satman",
    "email": "mhsatman@istanbul.edu.tr",
    "login": "jbytecode",
    "uuid": 8011702
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "GA",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 0.11.4",
      "role": "Imports"
    }
  ],
  "_owner": "jbytecode",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-50",
      "n": 4
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "jbytecode",
      "count": 13,
      "uuid": 8011702
    }
  ],
  "_userbio": {
    "uuid": 8011702,
    "type": "user",
    "name": "Mehmet Hakan Satman",
    "description": "Professor of Numerical Methods @ Istanbul University"
  },
  "_downloads": {
    "count": 323,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/mcga"
  },
  "_devurl": "https://github.com/jbytecode/mcga",
  "_searchresults": 55,
  "_topics": [
    "cpp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/mcga.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/jbytecode/mcga",
  "_realowner": "jbytecode",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0",
      "date": "2010-12-13"
    },
    {
      "version": "1.1",
      "date": "2010-12-23"
    },
    {
      "version": "1.2",
      "date": "2011-01-11"
    },
    {
      "version": "1.2.1",
      "date": "2011-01-11"
    },
    {
      "version": "2.0",
      "date": "2011-06-21"
    },
    {
      "version": "2.0.1",
      "date": "2011-06-25"
    },
    {
      "version": "2.0.2",
      "date": "2011-10-17"
    },
    {
      "version": "2.0.3",
      "date": "2012-01-06"
    },
    {
      "version": "2.0.4",
      "date": "2012-01-06"
    },
    {
      "version": "2.0.5",
      "date": "2012-01-09"
    },
    {
      "version": "2.0.6",
      "date": "2012-10-31"
    },
    {
      "version": "2.0.7",
      "date": "2013-04-04"
    },
    {
      "version": "2.0.9",
      "date": "2014-03-25"
    },
    {
      "version": "3.0",
      "date": "2016-03-24"
    },
    {
      "version": "3.0.1",
      "date": "2016-05-12"
    },
    {
      "version": "3.0.3",
      "date": "2018-05-13"
    },
    {
      "version": "3.0.6",
      "date": "2023-08-20"
    },
    {
      "version": "3.0.7",
      "date": "2023-11-27"
    },
    {
      "version": "3.0.9",
      "date": "2025-12-11"
    }
  ],
  "_exports": [
    "arithmetic_crossover",
    "blx_crossover",
    "byte_crossover",
    "byte_crossover_1p",
    "byte_crossover_2p",
    "byte_mutation",
    "byte_mutation_dynamic",
    "byte_mutation_random",
    "byte_mutation_random_dynamic",
    "ByteCodeMutation",
    "ByteCodeMutationUsingDoubles",
    "ByteCodeMutationUsingDoublesRandom",
    "BytesToDouble",
    "ByteVectorToDoubles",
    "DoubleToBytes",
    "DoubleVectorToBytes",
    "EnsureBounds",
    "flat_crossover",
    "linear_crossover",
    "MaxDouble",
    "mcga",
    "mcga2",
    "multi_mcga",
    "OnePointCrossOver",
    "OnePointCrossOverOnDoublesUsingBytes",
    "sbx_crossover",
    "SizeOfDouble",
    "SizeOfInt",
    "SizeOfLong",
    "TwoPointCrossOver",
    "TwoPointCrossOverOnDoublesUsingBytes",
    "unfair_average_crossover",
    "UniformCrossOver",
    "UniformCrossOverOnDoublesUsingBytes"
  ],
  "_help": [
    {
      "page": "mcga-package",
      "title": "Machine Coded Genetic Algorithms for Real-valued Optimization Problems",
      "topics": [
        "mcga-package"
      ]
    },
    {
      "page": "arithmetic_crossover",
      "title": "Performs arithmetic crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "arithmetic_crossover"
      ]
    },
    {
      "page": "blx_crossover",
      "title": "Performs blx (blend) crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "blx_crossover"
      ]
    },
    {
      "page": "byte_crossover",
      "title": "Performs crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "byte_crossover"
      ]
    },
    {
      "page": "byte_crossover_1p",
      "title": "Performs one-point crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "byte_crossover_1p"
      ]
    },
    {
      "page": "byte_crossover_2p",
      "title": "Performs two-point crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "byte_crossover_2p"
      ]
    },
    {
      "page": "byte_mutation",
      "title": "Performs mutation operation on a given double vector",
      "topics": [
        "byte_mutation"
      ]
    },
    {
      "page": "byte_mutation_dynamic",
      "title": "Performs mutation operation on a given double vector using dynamic mutation probabilities",
      "topics": [
        "byte_mutation_dynamic"
      ]
    },
    {
      "page": "byte_mutation_random",
      "title": "Performs mutation operation on a given double vector",
      "topics": [
        "byte_mutation_random"
      ]
    },
    {
      "page": "byte_mutation_random_dynamic",
      "title": "Performs mutation operation on a given double vector with dynamic mutation probabilities",
      "topics": [
        "byte_mutation_random_dynamic"
      ]
    },
    {
      "page": "ByteCodeMutation",
      "title": "Mutation operator for byte representation of double values",
      "topics": [
        "ByteCodeMutation"
      ]
    },
    {
      "page": "ByteCodeMutationUsingDoubles",
      "title": "Mutation operator for byte representation of double values",
      "topics": [
        "ByteCodeMutationUsingDoubles"
      ]
    },
    {
      "page": "ByteCodeMutationUsingDoublesRandom",
      "title": "Mutation operator for byte representation of double values",
      "topics": [
        "ByteCodeMutationUsingDoublesRandom"
      ]
    },
    {
      "page": "BytesToDouble",
      "title": "Converting 'sizeof(double)' bytes to a double value",
      "topics": [
        "BytesToDouble"
      ]
    },
    {
      "page": "ByteVectorToDoubles",
      "title": "Converting p * 'sizeof(double)' bytes to a vector of p double values",
      "topics": [
        "ByteVectorToDoubles"
      ]
    },
    {
      "page": "DoubleToBytes",
      "title": "Byte representation of a 'double' typed variable",
      "topics": [
        "DoubleToBytes"
      ]
    },
    {
      "page": "DoubleVectorToBytes",
      "title": "Byte representation of a vector of 'double' typed variables",
      "topics": [
        "DoubleVectorToBytes"
      ]
    },
    {
      "page": "EnsureBounds",
      "title": "Altering vector of doubles to satisfy boundary constraints",
      "topics": [
        "EnsureBounds"
      ]
    },
    {
      "page": "flat_crossover",
      "title": "Performs flat crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "flat_crossover"
      ]
    },
    {
      "page": "linear_crossover",
      "title": "Performs linear crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "linear_crossover"
      ]
    },
    {
      "page": "MaxDouble",
      "title": "Maximum value of a 'double' typed variable",
      "topics": [
        "MaxDouble"
      ]
    },
    {
      "page": "mcga",
      "title": "Performs machine coded genetic algorithms on a function subject to be minimized.",
      "topics": [
        "mcga"
      ]
    },
    {
      "page": "mcga2",
      "title": "Performs a machine-coded genetic algorithm search for a given optimization problem",
      "topics": [
        "mcga2"
      ]
    },
    {
      "page": "multi_mcga",
      "title": "Performs multi objective machine coded genetic algorithms.",
      "topics": [
        "multi_mcga"
      ]
    },
    {
      "page": "OnePointCrossOver",
      "title": "One Point Crossover operation on the two vectors of bytes",
      "topics": [
        "OnePointCrossOver"
      ]
    },
    {
      "page": "OnePointCrossOverOnDoublesUsingBytes",
      "title": "One-point Crossover operation on the two vectors of doubles using their byte representations",
      "topics": [
        "OnePointCrossOverOnDoublesUsingBytes"
      ]
    },
    {
      "page": "sbx_crossover",
      "title": "Performs sbx (simulated binary) crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "sbx_crossover"
      ]
    },
    {
      "page": "SizeOfDouble",
      "title": "Byte-length of a 'double' typed variable",
      "topics": [
        "SizeOfDouble"
      ]
    },
    {
      "page": "SizeOfInt",
      "title": "Byte-length of a 'int' typed variable",
      "topics": [
        "SizeOfInt"
      ]
    },
    {
      "page": "SizeOfLong",
      "title": "Byte-length of a 'long' typed variable",
      "topics": [
        "SizeOfLong"
      ]
    },
    {
      "page": "TwoPointCrossOver",
      "title": "Two Point Crossover operation on the two vectors of bytes",
      "topics": [
        "TwoPointCrossOver"
      ]
    },
    {
      "page": "TwoPointCrossOverOnDoublesUsingBytes",
      "title": "Two-point Crossover operation on the two vectors of doubles using their byte representations",
      "topics": [
        "TwoPointCrossOverOnDoublesUsingBytes"
      ]
    },
    {
      "page": "unfair_average_crossover",
      "title": "Performs unfair average crossover operation on a pair of two selected parent candidate solutions",
      "topics": [
        "unfair_average_crossover"
      ]
    },
    {
      "page": "UniformCrossOver",
      "title": "Uniform Crossover operation on the two vectors of bytes",
      "topics": [
        "UniformCrossOver"
      ]
    },
    {
      "page": "UniformCrossOverOnDoublesUsingBytes",
      "title": "Uniform Crossover operation on the two vectors of doubles using their byte representations",
      "topics": [
        "UniformCrossOverOnDoublesUsingBytes"
      ]
    }
  ],
  "_rundeps": [
    "cli",
    "codetools",
    "crayon",
    "foreach",
    "GA",
    "iterators",
    "Rcpp",
    "RcppArmadillo"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_score": 2.740362689494244,
  "_indexed": true,
  "_nocasepkg": "mcga",
  "_universes": [
    "jbytecode"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "3.0.9",
      "date": "2026-06-08T08:21:33.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "026f8d4a189d617e22c92bb276efa6660aa943b55360c1962dba6cdeb917f6a8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "3.0.9",
      "date": "2026-06-08T08:20:44.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "0ec83f000633dbc3f82a3d26aed024f1c5e41982fc3cf701c02e217c4898c595",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "3.0.9",
      "date": "2026-06-08T08:21:28.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "3f54327bff2ce27b432bc06f60e65d16313ccef2613da132e81cdf877b7985bf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "3.0.9",
      "date": "2026-06-08T08:20:45.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "eca4ebf54279711d88adef971a3e85534bd75d417604c8e90fc30a643b281667",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "3.0.9",
      "date": "2026-06-09T06:12:53.000Z",
      "arch": "aarch64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "9c8fbe2c0b384f436c887cb15d3e17e6e333e53321972b0917d4b5fd0c0fcede",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "3.0.9",
      "date": "2026-06-09T06:11:35.000Z",
      "arch": "x86_64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "4975644f44d916a9a6608bc4960e6bc6521c3059bd6d0479fe727ce4cd3bff21",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "3.0.9",
      "date": "2026-06-09T06:11:50.000Z",
      "arch": "aarch64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "7bf4e50ecf9992f0c4de3cb12c4c777449a0720bd87bd37c20afabd7701ef8e7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "3.0.9",
      "date": "2026-06-08T08:23:25.000Z",
      "arch": "x86_64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "ae352b25f3951c27a3b2eb84252c909f362168cfb4cfec97d946103d1a57d378",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "3.0.9",
      "date": "2026-06-08T08:20:35.000Z",
      "arch": "emscripten",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "297744ae3f9189376839824adb64075f4c4fa8ae04d685f521c1cc5cd0eb7589",
      "status": "success",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "3.0.9",
      "date": "2026-06-08T08:20:09.000Z",
      "arch": "x86_64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "040ba7011dbba92d68cee99affda549028f355390d37d42d4ec58543ea334299",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "3.0.9",
      "date": "2026-06-09T05:50:26.000Z",
      "arch": "x86_64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "7851080f1e2115e87471ea6b36d814c043fa60727ab3842512d3f6ec1b82971a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "3.0.9",
      "date": "2026-06-08T08:20:25.000Z",
      "arch": "x86_64",
      "commit": "beaf0ef94d1578d40034898e9983fd8d5cc1c376",
      "fileid": "82a67f3ca071728973aa1cbf667920f4f683f7c08546308624b1e40726dc3519",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/jbytecode/actions/runs/27124677413"
    }
  ]
}