Moead-framework

Moead-framework: a modular MOEA/D Python framework - Published in JOSS (2022)

https://github.com/moead-framework/framework

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

framework modular-framework moea moead multi-objective multi-objective-optimization operations-research pypi python

Keywords from Contributors

drone pde
Last synced: 4 months ago · JSON representation

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
Statistics
  • Stars: 26
  • Watchers: 1
  • Forks: 8
  • Open Issues: 0
  • Releases: 15
Topics
framework modular-framework moea moead multi-objective multi-objective-optimization operations-research pypi python
Created over 5 years ago · Last pushed about 3 years ago
Metadata Files
Readme Contributing Code of conduct

README.md

MOEA/D Framework

status Python application codecov PyPI GitHub build status

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 :

```python from moeadframework.aggregation import Tchebycheff
from moead
framework.algorithm.combinatorial import Moead
from moeadframework.problem.combinatorial import Rmnk
from moead
framework.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

JOSS Publication

Moead-framework: a modular MOEA/D Python framework
Published
October 17, 2022
Volume 7, Issue 78, Page 2974
Authors
Geoffrey Pruvost
Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
Bilel Derbel
Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
Arnaud Liefooghe
Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
Editor
Melissa Weber Mendonça ORCID
Tags
optimization Multi-objective moead framework

GitHub Events

Total
  • Watch event: 5
  • Fork event: 2
Last Year
  • Watch event: 5
  • Fork event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 212
  • Total Committers: 5
  • Avg Commits per committer: 42.4
  • Development Distribution Score (DDS): 0.071
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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
Ready for JOSS review (26) documentation (4) add new component (4) Next release : ready to merge (2) enhancement (1) bug (1)
Pull Request Labels
Ready for JOSS review (1)

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

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 74 Last month
Rankings
Dependent packages count: 10.1%
Stargazers count: 14.6%
Forks count: 15.4%
Average: 20.0%
Dependent repos count: 21.6%
Downloads: 38.2%
Maintainers (1)
Last synced: 4 months ago

Dependencies

requirements-dev.txt pypi
  • 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
requirements.txt pypi
  • numpy >=1.18
.github/workflows/docs.yml actions
  • actions/checkout v1 composite
  • ad-m/github-push-action master composite
  • ammaraskar/sphinx-action master composite
.github/workflows/draft-pdf.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/python-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/pythonapp_push.yml actions
  • actions/checkout master composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v1 composite
setup.py pypi