This paper describes jMet alPy, an object-oriented Python-based framework for multi-objective optimization with metaheuristic techniques. Building upon our experiences with the well-known jMet al framework, we have developed a new multi-objective optimization software platform aiming not only at replicating the former one in a different programming language, but also at taking advantage of the full feature set of Python, including its facilities for fast prototyping and the large amount of available libraries for data processing, data analysis, data visualization, and high-performance computing. As a result, jMet alPy provides an environment for solving multi-objective optimization problems focused not only on traditional metaheuristics, but also on techniques supporting preference articulation and dynamic problems, along with a rich set of features related to the automatic generation of statistical data from the results generated, as well as the real-time and interactive visualization of the Pareto front approximations produced by the algorithms. jMet alPy offers additionally support for parallel computing in multicore and cluster systems. We include some use cases to explore the main features of jMet alPy and to illustrate how to work with it.
In the last two decades, a number of software frameworks devoted to the implementation of multi-objective metaheuristics has been contributed to the community, such as ECJ @cite_18 , EvA @cite_30 , JCLEC-MO @cite_0 , jMet al @cite_7 @cite_27 , MOEA Framework @cite_1 , and Opt4J @cite_21 , which are written in Java; ParadisEO-MOEO @cite_48 , and PISA @cite_39 , developed in C C++; and PlatEMO @cite_3 , implemented in Matlab. They all have in common the inclusion of representative algorithms from the the state of the art, benchmark problems and quality indicators for performance assessment.
@cite_30 @cite_18 @cite_7 @cite_48 @cite_21 @cite_1 @cite_3 @cite_39 @cite_0 @cite_27
1561599800 2085837260 2764251381 1977232778
This chapter presents ParadisEO-MOEO, a white-box object-oriented software framework dedicated to the flexible design of metaheuristics for multi-objective optimization. This paradigm-free software proposes a unified view for major evolutionary multi-objective metaheuristics. It embeds some features and techniques for multi-objective resolution and aims to provide a set of classes allowing to ease and speed up the development of computationally efficient programs. It is based on a clear conceptual distinction between the solution methods and the problems they are intended to solve. This separation confers a maximum design and code reuse. This general-purpose framework provides a broad range of fitness assignment strategies, the most common diversity preservation mechanisms, some elitistrelated features as well as statistical tools. Furthermore, a number of state-of-the-art search methods, including NSGA-II, SPEA2 and IBEA, have been implemented in a user-friendly way, based on the fine-grained ParadisEO-MOEO components. This paper performs an unprecedented comparative study of Metaheuristic optimization frameworks. As criteria for comparison a set of 271 features grouped in 30 characteristics and 6 areas has been selected. These features include the different metaheuristic techniques covered, mechanisms for solution encoding, constraint handling, neighborhood specification, hybridization, parallel and distributed computation, software engineering best practices, documentation and user interface, etc. A metric has been defined for each feature so that the scores obtained by a framework are averaged within each group of features, leading to a final average score for each framework. Out of 33 frameworks ten have been selected from the literature using well-defined filtering criteria, and the results of the comparison are analyzed with the aim of identifying improvement areas and gaps in specific frameworks and the whole set. Generally speaking, a significant lack of support has been found for hyper-heuristics, and parallel and distributed computing capabilities. It is also desirable to have a wider implementation of some Software Engineering best practices. Finally, a wider support for some metaheuristics and hybridization capabilities is needed. Over the last three decades, a large number of evolutionary algorithms have been developed for solving multi-objective optimization problems. However, there lacks an upto-date and comprehensive software platform for researchers to properly benchmark existing algorithms and for practitioners to apply selected algorithms to solve their real-world problems. The demand of such a common tool becomes even more urgent, when the source code of many proposed algorithms has not been made publicly available. To address these issues, we have developed a MATLAB platform for evolutionary multi-objective optimization in this paper, called PlatEMO, which includes more than 50 multiobjective evolutionary algorithms and more than 100 multi-objective test problems, along with several widely used performance indicators. With a user-friendly graphical user interface, PlatEMO enables users to easily compare several evolutionary algorithms at one time and collect statistical results in Excel or LaTeX files. More importantly, PlatEMO is completely open source, such that users are able to develop new algorithms on the basis of it. This paper introduces the main features of PlatEMO and illustrates how to use it for performing comparative experiments, embedding new algorithms, creating new test problems, and developing performance indicators. Source code of PlatEMO is now available at: http: bimk.ahu.edu.cn index.php?s= Index Software index.html. The ongoing advances in multi-objective optimisation (MOO) are improving the way that complex real-world optimisation problems, mostly characterised by the definition of many conflicting objectives, are currently addressed. To put it into practice, developers require flexible implementations of these algorithms so that they can be adapted to the problem-specific needs. Here, metaheuristic optimisation frameworks (MOFs) are essential tools to provide end-user oriented development solutions. Even though consolidated MOFs are continuously evolving, they seem to have paid little attention to the new trends in MOO. Recently, new frameworks have emerged with the aim of providing support to these approaches, but they often offer less variety of basic functionalities like diversity of encodings and operators than other general-purpose solutions. In this paper we identify a number of relevant features serving to satisfy the requirements demanded by MOO nowadays, and propose a solution, called JCLEC-MOEA, on the basis of the JCLEC framework. As a key contribution, its architecture has been designed with a twofold purpose: reusing all the features already given by a mature framework like JCLEC, and extending it to enable new developments more flexibly than current alternatives.