{"id":32207548,"url":"https://github.com/fcampelo/moeadr","last_synced_at":"2025-10-22T05:54:46.945Z","repository":{"id":51371770,"uuid":"61828989","full_name":"fcampelo/MOEADr","owner":"fcampelo","description":"R package MOEADr, a modular implementation of the Multiobjective Evolutionary Algorithm with Decomposition (MOEA/D) framework","archived":false,"fork":false,"pushed_at":"2023-06-10T14:03:54.000Z","size":5446,"stargazers_count":22,"open_issues_count":17,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-22T05:54:29.537Z","etag":null,"topics":["moead","multiobjective-optimization","r-package"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fcampelo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-06-23T18:50:55.000Z","updated_at":"2025-08-15T07:45:27.000Z","dependencies_parsed_at":"2023-02-06T02:46:13.581Z","dependency_job_id":"20645b8c-a44d-4c18-a354-9abb762acc09","html_url":"https://github.com/fcampelo/MOEADr","commit_stats":{"total_commits":224,"total_committers":3,"mean_commits":74.66666666666667,"dds":0.2723214285714286,"last_synced_commit":"0ac9b1962ef0c76eb1eedfa63756eeeec147135a"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/fcampelo/MOEADr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcampelo%2FMOEADr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcampelo%2FMOEADr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcampelo%2FMOEADr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcampelo%2FMOEADr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fcampelo","download_url":"https://codeload.github.com/fcampelo/MOEADr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fcampelo%2FMOEADr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280389299,"owners_count":26322507,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-22T02:00:06.515Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["moead","multiobjective-optimization","r-package"],"created_at":"2025-10-22T05:54:42.287Z","updated_at":"2025-10-22T05:54:46.940Z","avatar_url":"https://github.com/fcampelo.png","language":"R","readme":"## MOEADr package\n[![Build Status](https://api.travis-ci.org/fcampelo/MOEADr.png)](https://travis-ci.org/fcampelo/MOEADr) [![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/MOEADr)](https://CRAN.R-project.org/package=MOEADr)\n[![CRAN Downloads](https://cranlogs.r-pkg.org/badges/MOEADr)](https://CRAN.R-project.org/package=MOEADr)\n\n***\n\n[Felipe Campelo](mailto:fcampelo@ufmg.br) \nDepartment of Computer Science  \nAston University  \nBirmingham, UK\n\n[Lucas Batista](mailto:lusoba@ufmg.br)  \nOperations Research and Complex Systems Laboratory - ORCS Lab  \nUniversidade Federal de Minas Gerais  \nBelo Horizonte, Brazil\n\n  \n[Claus Aranha](mailto:caranha@cs.tsukuba.ac.jp)  \nFaculty of Engineering, Information and Systems  \nUniversity of Tsukuba  \nTsukuba, Japan\n\n***\n\n**R** package containing a component-based, modular implementation of the Multiobjective Evolutionary Algorithm with Decomposition (MOEA/D) framework. \n\nThe MOEA/D framework is seen as a combination of specific design decisions regarding several independent modules:\n\n- Decomposition strategy;  \n- Aggregation function;  \n- Objective scaling strategy;  \n- Neighborhood assignment strategy;  \n- Variation Stack;  \n- Update strategy;  \n- Constraint handling method;  \n- Termination criteria.\n\nThis package provides several options for each module, as explained in the documentation of its main function, `MOEADr::moead()`. The input structure of this function is also explained in its documentation. More details on the component-based approach behind the `MOEADr` package are available in our paper, _The MOEADr Package - A Component-Based Framework for Multiobjective Evolutionary Algorithms Based on Decomposition_, available on the ArXiv: [https://arxiv.org/abs/1807.06731](https://arxiv.org/abs/1807.06731).\n\nTo install the current release version in your system, simply use:\n\n```\ninstall.packages(\"MOEADr\")\n```\n\nFor the most up-to-date development version, install the github version using:\n\n```\n# install.packages(\"devtools\")\ndevtools::install_github(\"fcampelo/MOEADr\")\n```\n\n## Example\n\nAs a simple example, we can reproduce the original MOEA/D (Zhang and Li, 2007) and run it on a 30-variable ZDT1 function:\n\n```\n ## 1: prepare test problem\n library(smoof)\n ZDT1 \u003c- make_vectorized_smoof(prob.name  = \"ZDT1\",\n                               dimensions = 30)\n\n ## 2: set input parameters\n problem   \u003c- list(name       = \"ZDT1\",\n                   xmin       = rep(0, 30),\n                   xmax       = rep(1, 30),\n                   m          = 2)\n decomp    \u003c- list(name       = \"SLD\", H = 99)\n neighbors \u003c- list(name       = \"lambda\",\n                   T          = 20,\n                   delta.p    = 1)\n aggfun    \u003c- list(name       = \"wt\")\n variation \u003c- list(list(name  = \"sbx\",\n                        etax  = 20, pc = 1),\n                   list(name  = \"polymut\",\n                        etam  = 20, pm = 0.1),\n                   list(name  = \"truncate\"))\n update    \u003c- list(name       = \"standard\", \n                   UseArchive = FALSE)\n scaling   \u003c- list(name       = \"none\")\n constraint\u003c- list(name       = \"none\")\n stopcrit  \u003c- list(list(name  = \"maxiter\",\n                     maxiter  = 200))\n showpars  \u003c- list(show.iters = \"dots\",\n                   showevery  = 10)\n seed      \u003c- NULL\n\n ## 3: run MOEA/D\n out1 \u003c- moead(problem = problem, \n               decomp = decomp, aggfun = aggfun, neighbors = neighbors, variation = variation, \n               update = update, constraint = constraint, scaling = scaling, stopcrit = stopcrit,\n               showpars = showpars, seed = seed)\n\n ## 3.1: For your convenience, you can also use the preset_moead() function to reproduce the above setup, \n ##      and only modify the desired parts:\n \n out2 \u003c- moead(problem = problem,\n               preset = preset_moead(\"original\"), \n               stopcrit = list(list(name = \"maxiter\", maxiter = 1000)),\n               showpars = showpars, seed = 42)\n\n # 4: Plot output:\n plot(out1$Y[,1], out1$Y[,2], type = \"p\", pch = 20)\n```\n\nHave fun!  \nFelipe\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffcampelo%2Fmoeadr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffcampelo%2Fmoeadr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffcampelo%2Fmoeadr/lists"}