Skip to content

Commit 04bf41d

Browse files
committed
Merge branch 'dev'
2 parents 4711fec + 113c985 commit 04bf41d

5 files changed

Lines changed: 188 additions & 1 deletion

File tree

moead_framework/test/test_genetic_mating.py

Whitespace-only changes.

moead_framework/test/test_genetic_selector.py

Whitespace-only changes.

paper.bib

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
2+
@article{moead_de,
3+
title = {{{MOEA}}/{{D}}-{{DE}} : {{Multiobjective Optimization Problems With Complicated Pareto Sets}}, {{MOEA}}/{{D}} and {{NSGA}}-{{II}}},
4+
author = {Li, H. and Zhang, Q.},
5+
year = {2009},
6+
month = apr,
7+
volume = {13},
8+
pages = {284--302},
9+
journal = {IEEE Transactions on Evolutionary Computation},
10+
keywords = {Aggregation,Computer science,decomposition,differential evolution,evolutionary algorithms,evolutionary computation,Evolutionary computation,MOEA/D,multiobjective optimization,multiobjective optimization problems,NSGA-II,Pareto optimality,Pareto optimisation,Pareto optimization,Pareto sets,Performance evaluation,set theory,Shape control,test problems,Testing},
11+
number = {2}
12+
}
13+
14+
@article{moead,
15+
title = {{{MOEA}}/{{D}}: {{A Multiobjective Evolutionary Algorithm Based}} on {{Decomposition}}},
16+
shorttitle = {{{MOEA}}/{{D}}},
17+
author = {{Qingfu Zhang} and {Hui Li}},
18+
year = {2007},
19+
volume = {11},
20+
pages = {712--731},
21+
journal = {IEEE Transactions on Evolutionary Computation},
22+
language = {en},
23+
number = {6}
24+
}
25+
26+
@inproceedings{moead_dra,
27+
title = {{{MOEA}}/{{D}}-{{DRA}}: {{The}} Performance of a New Version of {{MOEA}}/{{D}} on {{CEC09}} Unconstrained {{MOP}} Test Instances},
28+
booktitle = {2009 {{IEEE Congress}} on {{Evolutionary Computation}}},
29+
author = {Zhang, Qingfu and Liu, Wudong and Li, Hui},
30+
year = {2009},
31+
month = may,
32+
pages = {203--208},
33+
publisher = {{IEEE}},
34+
address = {{Trondheim, Norway}},
35+
language = {en}
36+
}
37+
38+
@inproceedings{gpruvost_gecco2020,
39+
author = {Pruvost, Geoffrey and Derbel, Bilel and Liefooghe, Arnaud and Verel, S\'{e}bastien and Zhang, Qingfu},
40+
title = {Surrogate-Assisted Multi-Objective Combinatorial Optimization Based on Decomposition and Walsh Basis},
41+
year = {2020},
42+
isbn = {9781450371285},
43+
publisher = {Association for Computing Machinery},
44+
address = {New York, NY, USA},
45+
url = {https://doi.org/10.1145/3377930.3390149},
46+
doi = {10.1145/3377930.3390149},
47+
booktitle = {Proceedings of the 2020 Genetic and Evolutionary Computation Conference},
48+
pages = {542–550},
49+
numpages = {9},
50+
keywords = {discrete surrogates, decomposition, multi-objective optimization},
51+
location = {Canc\'{u}n, Mexico},
52+
series = {GECCO ’20}
53+
}
54+
55+
@InProceedings{gpruvost_evocop2020,
56+
author="Pruvost, Geoffrey and Derbel, Bilel and Liefooghe, Arnaud and Li, Ke and Zhang, Qingfu",
57+
editor="Paquete, Lu{\'i}s
58+
and Zarges, Christine",
59+
title="On the Combined Impact of Population Size and Sub-problem Selection in MOEA/D",
60+
booktitle="Evolutionary Computation in Combinatorial Optimization",
61+
year="2020",
62+
publisher="Springer International Publishing",
63+
address="Cham",
64+
pages="131--147",
65+
abstract="This paper intends to understand and to improve the working principle of decomposition-based multi-objective evolutionary algorithms. We review the design of the well-established Moea/d framework to support the smooth integration of different strategies for sub-problem selection, while emphasizing the role of the population size and of the number of offspring created at each generation. By conducting a comprehensive empirical analysis on a wide range of multi- and many-objective combinatorial NK landscapes, we provide new insights into the combined effect of those parameters on the anytime performance of the underlying search process. In particular, we show that even a simple random strategy selecting sub-problems at random outperforms existing sophisticated strategies. We also study the sensitivity of such strategies with respect to the ruggedness and the objective space dimension of the target problem.",
66+
isbn="978-3-030-43680-3"
67+
}
68+
69+
@article{Campelo_2020,
70+
title={The MOEADr Package: A Component-Based Framework for Multiobjective Evolutionary Algorithms Based on Decomposition},
71+
volume={92},
72+
ISSN={1548-7660},
73+
url={http://dx.doi.org/10.18637/jss.v092.i06},
74+
DOI={10.18637/jss.v092.i06},
75+
number={6},
76+
journal={Journal of Statistical Software},
77+
publisher={Foundation for Open Access Statistic},
78+
author={Campelo, Felipe and Batista, Lucas S. and Aranha, Claus},
79+
year={2020}
80+
}
81+
82+
@ARTICLE{pymoo,
83+
author={J. {Blank} and K. {Deb}},
84+
journal={IEEE Access},
85+
title={Pymoo: Multi-Objective Optimization in Python},
86+
year={2020},
87+
volume={8},
88+
number={},
89+
pages={89497-89509},
90+
}
91+
92+
@article{pygmo,
93+
doi = {10.21105/joss.02338},
94+
url = {https://doi.org/10.21105/joss.02338},
95+
year = {2020},
96+
publisher = {The Open Journal},
97+
volume = {5},
98+
number = {53},
99+
pages = {2338},
100+
author = {Francesco Biscani and Dario Izzo},
101+
title = {A parallel global multiobjective framework for optimization: pagmo},
102+
journal = {Journal of Open Source Software}
103+
}
104+
105+
@inproceedings{jmetal,
106+
author = {Nebro, Antonio J. and Durillo, Juan J. and Vergne, Matthieu},
107+
title = {Redesigning the JMetal Multi-Objective Optimization Framework},
108+
year = {2015},
109+
isbn = {9781450334884},
110+
publisher = {Association for Computing Machinery},
111+
address = {New York, NY, USA},
112+
url = {https://doi.org/10.1145/2739482.2768462},
113+
doi = {10.1145/2739482.2768462},
114+
abstract = {jMetal, an open source, Java-based framework for multi-objective optimization with metaheuristics, has become a valuable tool for many researches in the area as well as for some industrial partners in the last ten years. Our experience using and maintaining it during that time, as well as the received comments and suggestions, have helped us improve the jMetal design and identify significant features to incorporate. This paper revisits the jMetal architecture, describing its refined new design, which relies on design patterns, principles from object-oriented design, and a better use of the Java language features to improve the quality of the code, without disregarding jMetal ever goals of simplicity, facility of use, flexibility, extensibility and portability. Among the newly incorporated features, jMetal supports live interaction with running algorithms and parallel execution of algorithms.},
115+
booktitle = {Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary Computation},
116+
pages = {1093–1100},
117+
numpages = {8},
118+
keywords = {open source, multi-objective metaheu- ristics, optimization framework, jmetal},
119+
location = {Madrid, Spain},
120+
series = {GECCO Companion '15}
121+
}

paper.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: 'A modular MOEA/D python framework'
3+
tags:
4+
- Python
5+
- optimization
6+
- Multi-objective
7+
- moead
8+
- framework
9+
authors:
10+
- name: Geoffrey Pruvost
11+
affiliation: "1, 2"
12+
- name: Bilel Derbel
13+
affiliation: "1, 2"
14+
- name: Arnaud Liefooghe
15+
affiliation: "1, 2"
16+
affiliations:
17+
- name: Univ. Lille, CNRS, Centrale Lille, UMR 9189 CRIStAL, F-59000 Lille, France
18+
index: 1
19+
- name: Inria Lille - Nord Europe
20+
index: 2
21+
22+
date: 1 December 2020
23+
bibliography: paper.bib
24+
25+
# Optional fields if submitting to a AAS journal too, see this blog post:
26+
# https://blog.joss.theoj.org/2018/12/a-new-collaboration-with-aas-publishing
27+
# aas-doi: 10.3847/xxxxx <- update this with the DOI from AAS once you know it.
28+
# aas-journal: Astrophysical Journal <- The name of the AAS journal.
29+
---
30+
31+
# Summary
32+
33+
MOEA/D (Multi-objective evolutionary algorithm based on decomposition) is a general-purpose
34+
algorithm framework. It decomposes a multi-objective optimization problem into a number of
35+
single-objective optimization sub-problems and then uses a search heuristic to optimize these
36+
sub-problems simultaneously and cooperatively. MOEA/D is a state-of-art framework in aggregation-based
37+
approaches for multi-objective optimization.
38+
39+
The goal of this python package is to provide a modular framework for researchers who
40+
are working on variants of MOEA/D.
41+
42+
43+
# Motivation
44+
45+
The first version of MOEA/D [@moead] and its most famous variants [@moead_de; @moead_dra] are implemented in recent multi-objective
46+
optimization software such as pymoo [@pymoo], pygmo [@pygmo] and jMetal [@jmetal]. These software bring a lot of algorithms and problems but
47+
don't allow us to test and analyse in detail each algorithms.
48+
The modular R package MOEADr [@Campelo_2020] allows to use each components of MOEA/D with some variants but is not enough flexible
49+
to add, remove or update the behavior of these components.
50+
51+
With this python package, we want to bring the modularity of the MOEADr package by using the flexibility of Python to
52+
allow users to update the behavior of MOEA/D components in their research works to propose new variants without
53+
be limited by the software. For example, the paper [@gpruvost_evocop2020] uses this package to add a new component
54+
in MOEA/D (the sub-problem selection strategy) and this paper [@gpruvost_gecco2020] uses
55+
the package to rewrite the offspring_generator component to implement a new framework to use surrogate models
56+
in combinatorial optimization with multi-objective optimization and decomposition technics.
57+
58+
59+
60+
# Acknowledgements
61+
62+
This work was supported by the French national research agency(ANR-16-CE23-0013-01)
63+
and the Research Grants Council of HongKong (RGC Project No. A-CityU101/16).
64+
65+
66+
# References

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setuptools.setup(
77
name="moead-framework",
8-
version="0.5.5",
8+
version="0.5.6",
99
author="Geoffrey Pruvost",
1010
author_email="geoffrey@pruvost.xyz",
1111
description="MOEA/D Framework in Python 3",

0 commit comments

Comments
 (0)