Moead-framework
Moead-framework: a modular MOEA/D Python framework - Published in JOSS (2022)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
1 of 5 committers (20.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Keywords from Contributors
Repository
MOEA/D is a general-purpose algorithm framework. It decomposes a multi-objective optimization problem into a number of single-objective optimization sub-problems and then uses a search heuristic to optimize these sub-problems simultaneously and cooperatively.
Basic Info
- Host: GitHub
- Owner: moead-framework
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Homepage: https://moead-framework.github.io/framework/
- Size: 11.2 MB
Statistics
- Stars: 26
- Watchers: 1
- Forks: 8
- Open Issues: 0
- Releases: 15
Topics
Metadata Files
README.md
MOEA/D Framework
This python package moead-framework is a modular framework for multi-objective evolutionary algorithms by decomposition. The goal is to provide a modular framework for scientists and researchers interested in experimenting with MOEA/D and its numerous variants.
The documentation is available here: https://moead-framework.github.io/framework/ and can be edited in the folder docs of this repository.
Installation instructions
Create a virtual environment with conda or virtualenv
The package is available in pypi with a linux environment for python 3.6, 3.7, 3.8 and 3.9, you can install it with:
pip install moead-framework
Example
The example requires two files :
instance_fileis required by the problem. The file is available in the framework in "moead_framework/test/data/instances/" or can be downloaded from https://github.com/moead-framework/data/tree/master/problem/RMNK/Instancesweight_fileis required by the algorithm. The file is available in the framework in "moead_framework/test/data/weights/" or can be downloaded from https://github.com/moead-framework/data/tree/master/weights
```python
from moeadframework.aggregation import Tchebycheff
from moeadframework.algorithm.combinatorial import Moead
from moeadframework.problem.combinatorial import Rmnk
from moeadframework.tool.result import save_population
Initialize the problem
The file is available here : https://github.com/moead-framework/data/blob/master/problem/RMNK/Instances/rmnk021001_0.dat
Others instances are available here : https://github.com/moead-framework/data/tree/master/problem/RMNK/Instances
instancefile = "rmnk0210010.dat" rmnk = Rmnk(instancefile=instancefile)
Initialize the algorithm
numberofweight = 10 numberofweightneighborhood = 2 numberof_evaluations = 1000
The file is available here : https://github.com/moead-framework/data/blob/master/weights/SOBOL-2objs-10wei.ws
Others weights files are available here : https://github.com/moead-framework/data/tree/master/weights
weightfile = "SOBOL-" + str(rmnk.numberofobjective) + "objs-" + str(numberof_weight) + "wei.ws"
Execute the algorithm
moead = Moead(problem=rmnk, maxevaluation=numberofevaluations, numberofweightneighborhood=numberofweightneighborhood, weightfile=weightfile, aggregationfunction=Tchebycheff, )
population = moead.run()
Save the result
savefile = "moead-rmnk" + str(rmnk.numberofobjective) \ + "-N" + str(numberofweight) \ + "-T" + str(numberofweightneighborhood) \ + "-iter" + str(numberofevaluations) \ + ".txt"
savepopulation(savefile, population) ```
How to contribute
A guide is available to explain the process of contributing to the project. The contribution can be the report of a bug, the request for a new feature or modifying the code of the framework to improve it.
We have a code of conduct, please follow it in all your interactions with the project.
Support
If you have any questions about the project, don't hesitate to create a new discussion with GitHub Discussions. It is the space for our community to have conversations, ask questions and post answers without opening issues.
For developers
Requirements for developers
These requirements must be installed to use the commands in the following sections (unit test, documentation, package) :
pip install -r requirements.txt
pip install -r requirements-dev.txt
Tests:
You can execute unit tests with the following command in the git repository:
python3 -m unittest
Generate the documentation locally
The documentation can be generated locally if you want check changes. The documentation is generated with sphinx 2.4.4 (see the section 'Requirements for developers').
You can generate the documentation with the following commands :
cd docs/
make html
Build the package
The package is built with a github action. If you want to create manually a new package:
python3 setup.py sdist bdist_wheel
python3 -m twine upload dist/*
Owner
- Name: Moead Framework
- Login: moead-framework
- Kind: organization
- Repositories: 1
- Profile: https://github.com/moead-framework
JOSS Publication
Moead-framework: a modular MOEA/D Python framework
Authors
Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
Tags
optimization Multi-objective moead frameworkGitHub Events
Total
- Watch event: 5
- Fork event: 2
Last Year
- Watch event: 5
- Fork event: 2
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Geoffrey Pruvost | g****y@p****z | 197 |
| Sander van Rijn | s****3@g****m | 11 |
| chkoar | g****t@a****u | 2 |
| Daniel S. Katz | d****z@i****g | 1 |
| Arfon Smith | a****n | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 41
- Total pull requests: 37
- Average time to close issues: 3 months
- Average time to close pull requests: about 2 months
- Total issue authors: 3
- Total pull request authors: 5
- Average comments per issue: 3.17
- Average comments per pull request: 0.86
- Merged pull requests: 36
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- chkoar (19)
- sjvrijn (16)
- geoffreyp (6)
Pull Request Authors
- geoffreyp (28)
- sjvrijn (6)
- arfon (1)
- chkoar (1)
- danielskatz (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 74 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 19
- Total maintainers: 1
pypi.org: moead-framework
MOEA/D Framework in Python 3
- Homepage: https://github.com/moead-framework/framework
- Documentation: https://moead-framework.readthedocs.io/
- License: GNU General Public License v3 (GPLv3)
-
Latest release: 0.5.8
published almost 5 years ago
Rankings
Maintainers (1)
Dependencies
- pytest >=6.2.2 development
- pytest-cov >=2.11.1 development
- setuptools >=46.1.3 development
- sphinx ==v2.4.4 development
- sphinx_rtd_theme ==0.5.1 development
- sphinxcontrib-bibtex ==1.0.0 development
- numpy >=1.18
- actions/checkout v1 composite
- ad-m/github-push-action master composite
- ammaraskar/sphinx-action master composite
- actions/checkout v2 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout master composite
- actions/setup-python v2 composite
- codecov/codecov-action v1 composite
