Processes 12 00869
Processes 12 00869
Review
A Systematic Review of Multi-Objective Evolutionary
Algorithms Optimization Frameworks
Andrei Pătrăus, anu * , Adrian Florea                   , Mihai Neghină, Alina Dicoiu               and Radu Chis,
                                          Department of Computer Science and Electrical Engineering, Lucian Blaga University of Sibiu, 4 Emil Cioran, Str.,
                                          550025 Sibiu, Romania; adrian.florea@ulbsibiu.ro (A.F.); mihai.neghina@ulbsibiu.ro (M.N.);
                                          alina.dicoiu@ulbsibiu.ro (A.D.); radu.chis@ulbsibiu.ro (R.C.)
                                          * Correspondence: andrei.patrausanu@ulbsibiu.ro
                                          Abstract: The study of evolutionary algorithms (EAs) has witnessed an impressive increase during
                                          the last decades. The need to explore this area is determined by the growing request for design and
                                          the optimization of more and more engineering problems in society, such as highway construction
                                          processes, food and agri-technologies processes, resource allocation problems, logistics and trans-
                                          portation systems, microarchitectures, suspension systems optimal design, etc. All of these matters
                                          refer to specific highly computational problems with a huge design space, hence the obvious need for
                                          evolutionary algorithms and frameworks, or platforms that allow for the implementing and testing
                                          of such algorithms and methods. This paper aims to comparatively analyze the existing software
                                          platforms and state-of-the-art multi-objective optimization algorithms and make a review of what
                                          features exist and what features might be included next as further developments in such tools, from a
                                          researcher’s perspective. Additionally, it is essential for a framework to be easily extendable with
                                          new types of problems and optimization algorithms, metrics and quality indicators, genetic operators
                                          or specific solution representations and results analysis and comparison features. After presenting
                                          the most relevant existing features in these types of platforms, we suggest some future steps and the
                                          developments we have been working on.
                          antagonist behavior. The improvement of one of these objectives might lead to a decrease
                          in the performance of the other objectives, which makes the optimization process more
                          difficult to achieve.
                                There are four major categories of MOEAs which differ depending on the problem
                          representation model:
                          -    Evolutionary strategies: Proposed and developed starting in 1970 by Ingo Reichenberg
                               and Hans-Paul Schwefel [1]. The representation of individuals consists of floating-
                               point numbers and the main characteristic is the variable step of mutation.
                          -    Genetic programming: Developed from 1990 by John Koza [2]. Data is represented as
                               trees with crossover being accomplished through prune and graft operations. It fits
                               very well in languages such as LISP.
                          -    Evolutionary programming: Introduced in 1960 by J.L Fogel [3]. It is very similar to
                               genetic programming but the representation is performed by the use of a finite state
                               machine and is mutation based (no crossover).
                          -    Genetic algorithms: These algorithms are the most widely known type of evolutionary
                               algorithms. The mechanism for formalizing the prediction of individuals’ quality in
                               successive generations, the so-called Schemata Theory was introduced, with their
                               help, by John Holland in 1970 [4].
                               Given the wide interest of researchers in the current scientific community [5,6] for
                          genetic algorithms it is really necessary to have one or more software tools that provide the
                          chance to analyze and compare these algorithms. Our goal is to increase awareness about
                          the importance of developing such tools by emphasizing the needs that the researchers’
                          community might find relevant to be included by the framework software developers.
                          Moreover, it is essential to have a common platform for benchmarking existing algorithms.
                          Also, such a platform might offer some very important details about the actual imple-
                          mentations of the algorithms, since their code is very rarely made public by the authors.
                          Therefore, we present a systematic review of the current state-of-the-art frameworks, ana-
                          lyzing their features from multiple perspectives such as algorithms and problems library,
                          quality indicators, and possibilities of parallelization, but also their limitations and niches
                          to be exploited in future research and development, etc.
                               All of these algorithms and developments are perfectly applicable to smart industrial
                          engineering processes. Industry 5.0 integrates more and more optimization and automatiza-
                          tion methods in different fields, such as quality control, energy management, human–robots
                          collaboration, food and agri-technology processes, physical or human resource allocation
                          problems in cloud computing, construction or manufacturing industries, logistics and trans-
                          portation systems, the design of microarchitectures and 3D micro-architected implants, etc.
                               The rest of this paper is structured as follows: Section 2 presents the research strategy
                          and how this work might prove to be useful for all researchers who are studying this
                          area; Section 3 briefly describes some state-of-the art evolutionary algorithms; the most
                          well-known multi-objective optimization frameworks are presented in Section 4. This
                          is divided in five categories, each of them corresponding to the description of one such
                          framework; the last section is a short summary of what these tools currently provide, the
                          limitations and constraints they have and future developments (e.g., new MOEAs) we
                          intend to integrate in FADSE 2.0 (Framework for Automatic Design Space Exploration)
                          software tool [7].
                          1.2. Objectives
                                We have two goals: (1) to identify the most used and cited frameworks in the scientific
                          literature that are used to develop and test evolutionary algorithms and, (2) to perform
                          a review of these frameworks and multi-objective optimization evolutionary algorithms
                          regarding benefits, constraints, and limitations. Based on our experience with these tools,
                          we built the analysis around the following research questions:
Processes 2024, 12, 869                                                                                                   3 of 23
                                  RQI: Which are the most useful tools/platforms available for working with Multi-Objective
                                         Optimization Evolutionary Algorithms and their target problems?
                                  RQII: What essential features do they provide?
                                  RQIII: Which are the constraints and limitations?
                                  RQIV: How easily to extensible and maintainable are these tools from a software perspective?
                                  2. Research Strategy
                                       To address the issues presented above, we searched and analyzed several MOEA
                                  frameworks from the Scopus database, based on their popularity (number of references) in
                                  the scientific community. In Table 1, we present the 10 most cited works ([8–17]) from the
                                  Scopus database related to multi-objective optimization algorithms and platforms.
                                  Table 1. Top 10 most cited papers from Scopus database related to multi-objective optimization
                                  algorithms and platforms.
Table 1. Cont.
                                        Apart from those already mentioned, there are many more frameworks proposed
                                  in the literature, each of them trying to overcome the weaknesses of its predecessors. In
                                  the work presented in [18], the authors proposed Java-based open-source Design Space
                                  Explorer, which includes a series of state-of-the art algorithms. In the original paper an
                                  automotive domain case-study is shown in order to demonstrate the applicability of the tool.
                                  The FADSE (Framework for Automatic Design Space Exploration) software tool, developed
                                  by the researchers in [7] is focused on automatic design space exploration for multicore
                                  and manycore systems, taking into account the continuing growth of computing systems
                                  complexity. Developed in Java, the framework is flexible and provides easy extension and
                                  portability. Most of the applications developed in our research group were mapped on
                                  FADSE and we are currently in the process of extending it with new algorithms, problems,
                                  or quality indicators. In the work presented in [19], a C++ template library, which provides
                                  multi-objective optimization, is presented. Due to its object-oriented design, it enhances
                                  easy extensibility for developing different hybrid optimization methods. Moreover, the
                                  integration of new real-world problems is facilitated by the interfaces and template design.
                                  The work presented in [20] introduced the idea of a so-called AutoMOEA algorithm. The
                                  goal is to achieve and develop new algorithms that might outperform the existing MOEAs in
                                  terms of performance and quality on continuous and combinatorial optimization problems.
                                        The analyzed frameworks are not limited to the engineering and computer science
                                  field. Multi-objective optimization platforms are proposed in the literature for many differ-
                                  ent other domains, such as molecular drug-design evolution—AIDD [21]—or metabolism
                                  absorption and toxicology analysis—ChemMORT [22]. In Section 5.2, we broaden the dis-
                                  cussion to present applications in additional fields such as health, bioinformatics, or finance.
                                        Some other notable such tools are implemented in the following programming lan-
                                  guages: Java—[23,24]; C/C++—[25,26]; C#—[27].
                                  Bibliometric Study
                                       In order to achieve a thorough analysis of the presented aim, we also conducted a
                                  bibliometric study of the papers published in this area. Figure 1 summarizes the main steps
                                  we employed as follows:
                                  1.   Choosing the research criteria: We decided to select research papers from the Scopus
                                       database referring to “multi-objective”, “algorithms”, “optimization” and “platforms”.
                                  2.   Choosing the time period: We selected the “2005–present” period to provide our
                                       study a higher relevance. Prior to 2005, there was a significantly smaller number of
                                       publications than after 2005.
                                  3.   Analysis of results: An investigation of over 1760 papers returned by the criteria from
                                       steps 1 and 2. This analysis included the number of citations, the interest, and the
                                       relevance of the paper subject and the most frequent of the selected keywords.
Processes 2024, 12, 869                                                                                                                       5 of 23
                          Processes 2024, 12, x FOR PEER REVIEW                                                                                            5 of
                                        4.    Pre-processing data: Before using the data gathered from Scopus, we had to prepro-
                                              cess some of4. thePre-processing
                                                                 keywords anddata:    syntaxes.
                                                                                          Before In   most
                                                                                                  using  thecases,  we aggregated
                                                                                                              data gathered              two orwe
                                                                                                                                from Scopus,     more
                                                                                                                                                    had to prepr
                                              terms referring cess
                                                                to thesomesameof concept,   but still
                                                                                 the keywords    andkept    the total
                                                                                                       syntaxes.       number
                                                                                                                  In most    cases,ofwe
                                                                                                                                      occurrences
                                                                                                                                         aggregatedoftwo or mo
                                              all of them. For terms
                                                                example,      we combined
                                                                         referring            “genetic
                                                                                    to the same  concept,algorithm”     andthe
                                                                                                            but still kept    “genetic-algorithms”
                                                                                                                                  total number of occurrences
                                              as “genetic algorithm”.
                                                                all of them.Similarly,  instead
                                                                                For example,  weofcombined
                                                                                                    “energy “genetic
                                                                                                               consumption”,
                                                                                                                         algorithm” “energy  distribu-
                                                                                                                                        and “genetic-algorithm
                                              tion”, “energy optimization”         we used Similarly,
                                                                as “genetic algorithm”.      “energy utilization”.
                                                                                                         instead of “energy consumption”, “energy dist
                                        5.                      bution”, “energy
                                              Analysis of occurrences:                optimization”
                                                                             An investigation    of thewekey
                                                                                                           used  “energy
                                                                                                              terms         utilization”.
                                                                                                                      to have    strong correlations
                                                          5.    Analysis     of occurrences:  An  investigation
                                              with each other, as indicated by authors from the Scopus database.  of the key   terms toWe have strong
                                                                                                                                            used   thecorrelatio
                                                                with   each    other,  as indicated   by authors   from    the
                                              VOSviewer tool [28] in order to perform these advanced clustering correlations. We Scopus   database.  We used t
                                                                VOSviewer       tool [28] in order  to perform   these   advanced
                                              selected only the keywords that occurred at least 35 times. Moreover, by using the      clustering  correlations. W
Processes 2024, 12, x FOR PEER REVIEW                           selected    only  the  keywords    that occurred   at  least  35  times.        5 of 23
                                                                                                                                          Moreover,   by using  t
                                              same tool, we generated in Figure 2 a map of the current research trends in scientific
                                                                same    tool, we  generated   in Figure  2 a
                                              literature. The 4 clusters obtained are presented in Tables 2–5.map  of  the current    research trends  in scienti
                                                                  literature. The 4 clusters obtained are presented in Tables 2–5.
                                        Figure 1.
                                        Figure 1. Steps of Figure
                                                               bibliometric  study.
                                                                  1. Steps ofstudy.
                                                           the bibliometric   the bibliometric study.
                                                          Figure 2.
                                        Figure 2. Map of current    Map of trends.
                                                                 research  current research trends.
                          decision-making or for product design with specific constraint problems. Finally, the fourth
                          cluster (yellow) focuses on evolutionary algorithms and other heuristics or learning algo-
                          rithms for problem solving and optimization, using benchmarking on standard platforms,
                          but this could also be applied in engineering education by simulation and virtual reality
                          environments required by digital twin transition (green and digital). Tables 2–5 shows the
                          clustering of frequent keywords in that 1769 articles found.
                               Apart from the main focus of each cluster, from Tables 2–5 we can also extract different
                          categories of problems which the provided algorithms can be applied on. These problems,
                          suggested by the VOSviewer analysis, are shown in Table 6. Certainly, the keywords in
                          Table 6 represent the general terms for such optimization areas. They can be divided into
                          many other sub-categories.
                          3. State-of-the-Art Algorithms
                                Among the evolutionary algorithms discussed in the literature, two of the most
                          successful are NSGA-II [29] and SPEA2 [30]. These two are part of the genetic algorithms
                          category, and, by using similar concepts, they both offer an output of a population of
                          non-dominated solutions. Despite this common non-dominated sorting and ranking
                          approach, it is interesting to notice that both algorithms provide two different mechanisms
                          for diversity preservation. After the current population is sorted in fronts of non-dominated
                          solutions, if the number of required solutions from one front is less than the total size of
                          that front, a diversity criterion is applied to select only the required number of individuals.
                          In NSGA-II, this mechanism is called crowding distance, whilst in SPEA2 it is called
                          environmental selection.
                                Over the time, a couple of improvements based on the idea of NSGA-II were proposed.
                          For example, in CNSGA-II [31], the authors proposed a geometric distribution when
                          selecting individuals from the non-dominated sorted population. This approach is intended
                          to help diversity. NSGA-III [32,33] comes with a different approach, that is to use a reference-
                          point based sorting approach. FD-NSGA-II [34] is a relatively new idea that incorporates
                          the fuzzy logic in NSGA-II and SPEA2 in order to obtain a fuzzy Pareto dominance
                          (FD) algorithm.
                                SMPSO [35] is another bio-inspired algorithm that aims to use the behavior of different
                          particles in nature. It consists mainly of two parts: a cognitive component—a particle trying
                          to improve its position in the swarm—relative to its own position; a social component—a
                          particle trying to improve its own position—relative to the swarm leader position.
                                There are also some new attractive and fertile algorithms recently published in the
                          literature, such as RDA—Red Deer Algorithm [36]—Gray-Wolf [37], or Hyena [38] which
Processes 2024, 12, 869                                                                                             8 of 23
                          4. Frameworks
                              Taking into consideration the number of citations per each tool and our continuous
                          experiences with them, we selected 5 frameworks for analysis: PlatEMO [8], PyMOO [45],
                          jMetal [46,47], Evolver [48], and FADSE [7].
                              It is worth mentioning that data from Table 7 were collected as of March 2024. Evolver
                          was published in December 2023, hence the lack of citations.
                            Framework     No. of Scopus Citations   First Publication Date   Current Version   Language
                               jMetal              969                      2006                   6.1           Java
                              FADSE                 43                      2010                   2.0           Java
                             PlatEMO               1372                     2017                   4.5         MATLAB
                             PyMOO                 748                      2020                  0.6.0         Python
                              Evolver                0                      2023                  1.0.1          Java
Processes 2024, 12, 869                                                                                           9 of 23
                                Since the authors of jMetal have published several papers for each major update since
                          2011, such as the research presented in [49], they should be also taken into consideration
                          when counting the number of citations. There are other two interesting libraries published
                          by jMetal authors: jMetal.NET (2011, C#), whose development has been stopped and
                          jMetalPy (2017, Python), whose development is still on-going.
                                Regarding FADSE, the authors did not specify any versioning method, so we assume
                          that the current version is 2.0: version 1.0 corresponding to the work presented in [7,50]
                          and version 2.0 corresponding to the work presented in [51].
                                Despite the flexibility provided by programming languages, it is also important to take
                          into consideration the energy consumption, since evolutionary algorithms are usually run
                          on complex computational problems. In the work presented in [52], the author shows the
                          CO2 consumption of several programming languages over the course of a high-demanding
                          simulation in astrophysics. Based on this research, it is obvious that Python has a much
                          higher CO2 consumption level 10 times higher than Java and 100 times higher than C++.
                                In the work presented in [53], the authors presented comprehensive research over the
                          energy consumption of several programming languages. One of their research questions
                          was ‘Is faster, greener?’. According to the energy equation Energy (J) = Power (W) × Time (s),
                          a single general accepted answer cannot be given, since Power is not constant. Nevertheless,
                          a reduction in execution time would imply a reduction in Energy consumption. In the same
                          study, the authors present a Pareto set of optimal programming languages depending on
                          different minimization objectives such as memory and time, energy and time, etc. Their
                          conclusion is that compiled languages tend to be the fastest and most energy efficient ones.
                          In the work presented in [54], a benchmarked classification of programming languages
                          according to energy consumption is performed. The results show that C, C++, Rust, Ada
                          and Java are the top 5 from this point of view, having the lowest energy consumption. It
                          is also commonly known fact that C, C++ and Rust have been optimized and designed
                          in this way. Similar findings were reported in an earlier study [55] that conducted an
                          experiment on 14 compiled and interpreted programming languages by running tasks
                          from the Rosetta Code programming chrestomathy. Their findings show that, among the
                          compiled programming languages, C/C++ and Java offer the best performance, energy-
                          wise, while JavaScript exhibits the highest energy savings among the interpreted languages,
                          with Swift and Python being the most inefficient. The work presented in [56] performed
                          a comparison of four different sorting algorithms, implemented in three programming
                          languages, and concluded that both the choice of language and algorithm play a significant
                          role in energy efficiency. They also emphasize that a large part of energy consumption
                          is determined by the computational complexity of the solution. A comparison between
                          the carbon footprints of four different nature-inspired optimization algorithms (Genetic
                          Algorithm, Particle Swarm Optimization, Differential Evolution, Artificial Bee Colony)
                          implemented in MATLAB is presented in the work presented in [57]. Their findings show
                          Differential Evolution to be the greenest of the four, while Artificial Bee Colony has the
                          highest energy consumption. The algorithm implementation, as well as the configuration
                          parameters used when performing the experiment affect the overall environmental impact
                          of each simulation. Thus, to mitigate the environmental concerns and enhance computa-
                          tional efficiency, optimization techniques can be applied at the algorithm level in order to
                          reduce the computational complexity.
                                The presence of a graphical user interface (GUI) for frameworks represents an impor-
                          tant feature which allows the user to interact and customize the values for each parameter
                          in the application, to select and configure the problems and algorithms, perform the sim-
                          ulation, and inspect the results without having to write any new code. This improves
                          the usability and increases the accessibility of the tool to non-IT specialists as well, as it
                          eliminates the need for software development knowledge. Additionally, the GUI should
                          display the evolution of solutions around the true Pareto-front and the quality indicators
                          generation-by-generation over the entire run, which allows for the real-time assessment
                          of the algorithm’s behavior and the quality of solutions. The framework should provide
Processes 2024, 12, 869                                                                                                       10 of 23
                                   easy extensibility, meaning that the software architecture should be well structured, such
                                   that the interface level facilitates the easy integration of new algorithms and new problems
                                   that could enhance the tool. For example, in the work presented in [58] we designed a GUI
                                   framework for meta-optimization which can be easily used by any kind of user. In general,
                                   some of the essential software principles applied in UI design are: simplicity, usability,
                                   clarity and consistency.
                                         Additionally, it is important to address the community support for each framework.
                                   This support might consist of the free use of platforms and will provide links to open-source
                                   code for community development, such as forums, FAQ or GitHub.
                                         Moreover, despite the small or large number of optimization problems, a framework
                                   should also be reviewed from the type of problems perspective. The majority of the ana-
                                   lyzed frameworks consists only of synthetic benchmark problems. Ideally, a framework
                                   must provide real-world scenario optimization problems, such as turning processes [59]. In
                                   the manufacturing industry, travelling salesman problems are extended by vehicle routing
                                   problems and the optimization of fuel consumption and CO2 emissions [60], suspension de-
                                   sign optimization [58], multi-objective optimizations of multicore processors architectures
                                   Sniper [61], M-SIM [62], etc.
                                   4.1. PlatEMO
                                              PlatEMO is developed in MATLAB, so it can be easily run by any specialist from
                                        Industrial Engineering with less programming skills on any operating system, provided
                                        that the MATLAB tool is installed. It consists of a GUI (Figure 3) which allows users to
                      Processes 2024, 12,configure
                                          x FOR PEERand
                                                     REVIEW
                                                        run different simulations. The results are also displayed in a convenient          11 o
                                        visual way, as shown in Figure 3.
                                                   Figure
                                   Figure 3. PlatEMO GUI. 3. PlatEMO GUI.
                          4.2. PyMOO
                               PyMOO (Python Multi-Objective Optimization) has been developed in Python, a
                          language that has become very popular for research purposes due to its libraries and code
                          level syntax, which provides a very handy way to work with mathematical intelligence
                          or Artificial Intelligence concepts, such as: built-in functions, models selection, matrix
                          operations, and machine learning algorithms and so on.
                               Its main features are as follows:
                          •    It is an open-source framework. It is publicly available on GitHub for developers’
                               contributions.
                          •    It provides single-objective, multi-objective, and many-objective test problems.
                          •    Optimization constraints are also available for the user.
                          •    It contains gradient information provided by automatic differentiation [64].
                              The software architecture is divided in 3 main parts, each of them having separated
                          sub-modules, which makes it easy for further extension with new algorithms and problems:
                          •    Problems: single-, multi-, and many-objectives;
                          •    Optimization (genetic operations): Crossover, Mutation, Survival, etc.;
                          •    Analytics: Visualization, Performance Indicator, Decision Making. This extra feature,
                               called Decision Making, provides some options to select one solution from the final
                               Pareto-front, depending on different preferences.
                               PyMOO has strong parallelization of the solutions mechanism, such as: multi-threaded
                          execution, distributed computing and vectorized computations. This might also help with
                          integrating meta-optimization or superposition algorithms. As described earlier, for such
                          an implementation, a multi-threaded architecture is required.
                               The authors benchmarked their implementations against some existing resources
                          provided by the actual authors of state-of-the-art algorithms, as mentioned, so it can be
                          considered an error-free tool. It provides a visual representation of the results: Pareto-front,
                          solutions, and optimization problems characteristics.
                               Unfortunately, there are some weaknesses:
                          •    In order to run new simulations, the user has to write new code.
                          •    Every time a new algorithm or the same algorithm with different parameters needs to
                               be started, a new object has to be created.
                          •    This also applies to the other components: problems, quality indicators, etc. This is not
                               necessarily a major problem, but some researchers might be interested in black-box
                               usage of the tool: initial-config + results interpretation.
Processes 2024, 12, 869                                                                                                                12 of 23
                                                       4.3. jMetal
                                           A checkpointing      mechanism is missing and it might prove to be very useful.
                                                              jMetal is a Java library, originally created in 2006, which have gone through m
                                     4.3. jMetal       updates since its first publication. It is an open-source library rather than an applica
                                           jMetal is a itself,
                                                        Java library,
                                                                which canoriginally   created
                                                                             be included        inexisting
                                                                                            in an  2006, which    have gone
                                                                                                            application, or it through
                                                                                                                               be used asmajor
                                                                                                                                           starting poin
                                     updates since its    first publication.    It is an  open-source    library  rather than  an
                                                       a project. It is publicly available on GitHub for developers’ contributions.application
                                     itself, which can be included
                                                              It was alsoin ported
                                                                            an existing   application,
                                                                                    in Python,           or it be used as
                                                                                                 as a multi-objective     starting
                                                                                                                       library      point
                                                                                                                                called    for a [65].
                                                                                                                                       JMetalPy
                                     project. It is publiclyItsavailable   on GitHub
                                                                  main features    are asfor developers’ contributions.
                                                                                           follows:
                                           It was also •ported    in Python,
                                                              It contains      as a rich
                                                                            a very   multi-objective   libraryand
                                                                                           set of algorithms    called JMetalPy
                                                                                                                    problems,      [65]. 100 state-of-the
                                                                                                                                around
                                           Its main features    are  as follows:
                                                              algorithms.
                                     •     It contains •a very
                                                             Thererichareset3 of
                                                                              possible categories:
                                                                                 algorithms          single-objective,
                                                                                               and problems,     around multi-objective  andart
                                                                                                                           100 state-of-the  many-objec
                                           algorithms.       algorithms.
                                     •     There are 3•possible
                                                             The software
                                                                    categories: architecture  consistsmulti-objective
                                                                                   single-objective,    of a very good object-oriented     base design. E
                                                                                                                          and many-objective
                                           algorithms.       category of algorithms inherits its own specific path, making it easy to maintain
                                     •                       easy to use.consists
                                           The software architecture           Therefore,
                                                                                       of aa very
                                                                                             very good
                                                                                                    easy extensibility withbase
                                                                                                         object-oriented     newdesign.
                                                                                                                                   algorithms
                                                                                                                                           Eachand probl
                                                             is  possible.
                                           category of algorithms inherits its own specific path, making it easy to maintain and
                                           easy to use.• Therefore,
                                                             Documentation,        codeextensibility
                                                                         a very easy     snippets, and    examples
                                                                                                       with           of how toand
                                                                                                             new algorithms      useproblems
                                                                                                                                      different features
                                           is possible.      quality    indicators   are provided.
                                     •                  •
                                           Documentation,    It code
                                                                is relatively
                                                                       snippets, easy to integrate
                                                                                    and  examplesaof   meta-optimization    and super-position
                                                                                                         how to use different     features and mechan
                                           quality indicatorswithin    jMetal. The software design makes it feasible for such extensions.
                                                                 are provided.
                                     •     It is relatively easy
                                                             The to   integrate shown
                                                                   weaknesses      a meta-optimization
                                                                                           by the platformand are:super-position mechanism
                                           within jMetal.
                                                        •   The   software     design  makes    it feasible for
                                                             There is no parallelization mechanism addressed.   such extensions.
                                                      •
                                           The weaknesses    shown
                                                           There     by checkpointing
                                                                  is no  the platform are:
                                                                                         mechanism addressed.
                                     •                •    The  results  are  not displayed
                                           There is no parallelization mechanism addressed.   in a visual manner. As mentioned earlier, it migh
                                     •                     regarded asmechanism
                                           There is no checkpointing      a library, but  the end should be given a confirmation about the en
                                                                                      addressed.
                                     •                     the simulation
                                           The results are not  displayed andin a the obtained
                                                                                  visual        results.
                                                                                          manner.   As mentioned earlier, it might be
                                                      •    It does  not include   relatively new   proposed
                                           regarded as a library, but the end should be given a confirmationalgorithms
                                                                                                                  aboutsuch  as: Hyena,
                                                                                                                        the end  of the Gray-W
                                                           MOGBO,     etc.
                                           simulation and the obtained results.
                                                        4.4. Evolver
                                                             Evolver is a tool developed by a group of researchers that includes the authors o
                                                        original jMetal tool , as mentioned above. It implements the idea of meta-optimizatio
                                                        find, using evolutionary algorithms, the optimum parameters configuration for an ev
Processes 2024, 12, 869                                                                                               13 of 23
                          •    It does not include relatively new proposed algorithms such as: Hyena, Gray-Wolf,
                               MOGBO, etc.
                          4.4. Evolver
                                Evolver is a tool developed by a group of researchers that includes the authors of the
                          original jMetal tool, as mentioned above. It implements the idea of meta-optimization:
                          to find, using evolutionary algorithms, the optimum parameters configuration for an
                          evolutionary algorithm that aims to optimize a problem. The full code is hosted on GitHub
                          for contributions.
                                Since all the core of Evolver is in fact, the jMetal library, it comes with all the advantages
                          and weaknesses from jMetal. Therefore, in the next paragraph we are only focusing on the
                          extra features, such as meta-optimization, that Evolver provides.
                                Its main characteristics are:
                                A practical implementation idea of meta-optimization. It could very useful to know
                          what the optimal configuration for a specific algorithm is before starting it. The algorithm
                          itself might yield better or worse results, depending on the configuration. There are not
                          many such tools in the literature that approach the meta-optimization area so such a
                          concrete implementation is really useful.
                          •    The algorithm, whose optimal configuration is to be found and is referred to as a
                               Configurable Algorithm is given a training set. This set is actually a collection of
                               optimization problems; hence the diversity of training is provided.
                          •    It could be easily extended to work with any real-world engineering problem. As an
                               example, in the original paper, the authors present a case-study of an injector design
                               problem. As an objective of meta-optimization, a list of quality indicators is set to be
                               minimized. This list is configurable.
                               The project consists of two parts:
                          •    Evolver—the core of the meta-optimization approach (jMetal, problems, etc.);
                          •    Evolver Dashboard—a user-friendly web application built with Python, which allows
                               the user to configure and modify all of the parameters for meta-optimization. The web-
                               interface provides a very detailed and relevant visualization of the results: generation-
                               by-generation population, indicator values, time, evaluations, pareto-front, etc.
                          •    The project comes also as a pre-built docker package to ease the interaction with the
                               tool. It provides easy software extensibility.
                               The main weaknesses are as follows:
                          •    The algorithmic idea of meta-optimization might take a lot of time to run, typically
                               when the problem to optimize is very complex. An evolutionary algorithm itself might
                               require a significant amount of time, let alone an algorithm which uses a population
                               of such evolutionary algorithms.
                          •    Considering the previous idea, checkpointing, individual reusability mechanisms, and
                               evaluation parallelization should be addressed.
                          •    A logging feature to save the progress or status of simulation at some points in
                               time would be useful, as well. In the case of a long-run simulation, the evaluation
                               of some individuals may fail or the simulation itself may fail, therefore, leading to
                               unknown scenarios.
                          4.5. FADSE
                               FADSE (Framework for Automatic Design Space Exploration) is a Java framework
                          which focuses on multi-objective optimization algorithms. As mentioned earlier, it was
                          originally developed by Horia Calborean and further extended by Radu Chis within
                          the ACAPS (Advanced Computer Architecture and Processing Systems—https://centers.
                          ulbsibiu.ro/acaps/ (accessed on 12 March 2024) research group for his PhD thesis.
                               Its main features are as follows:
Processes 2024, 12, 869                                                                                        14 of 23
                          that by using an automatic design space exploration process, the solutions found are far
                          superior to a manual run. In the work presented in [50], the automatic DSE run on the
                          GAP simulator found configurations with twice the performance for the same energy con-
                          sumption compared to the manual runs, while in the work presented in [51], the authors
                          have shown that automatic DSE on complex actuator models has found configurations
                          with better operation characteristics (smoother curves) with a 5% decrease in size, which
                          translates into a more efficient design.
                                Although there are many quality indicators proposed in the literature [67,68], we
                          decided to compare these frameworks by considering 10 commonly used indicators: Hyper-
                          volume (HV) [69], Two Sets Hypervolume Difference (TSHD) [70], Epsilon (EP) [68], Spread
                          (SP) [29], Generalized Spread (GS) [71], NPS—Number of Pareto Solutions (NPS) [72], Mean
                          Ideal Distance (MID) [73], Generational Distance (GD) [74], Inverted Generational Distance
                          (IGD) [75], Coverage (C) [68]. Table 10 synthesizes the comparison among the framework
                          according to the previously mentioned quality indicators.
Processes 2024, 12, 869                                                                                           16 of 23
                          5. Discussions
                               We do not aim to criticize at all the work of the authors we presented, but just to make
                          a review from a researcher’s perspective of all these tools, in order to extract general useful
                          and handy features.. Therefore, the paragraphs in this section will not make any choice
                          among these frameworks, but they will point out the essential features we consider as the
                          most important ones.
                          programming language in which the framework was developed, even if users just want to
                          run some simulations, without further extending the library.
                               On the other hand, although FADSE does not yet have a GUI interface, it should
                          be mentioned that it offers parallelism and the possibility of running on HPC systems
                          and local distributed computer networks (LAN). One of the future developments aims to
                          introduce the GUI in FADSE.
                                   objective optimization, the difficult implementation, and the lack of availability are some
                                   limitations of the framework.
                                        In the work presented in [81], the authors used Genetic Algorithms and MATLAB
                                   software to develop a simulation-optimization framework that incorporates cash flow
                                   modelling and uncertainties in macroeconomic and microeconomic parameters in a 19
Processes 2024, 12, x FOR PEER REVIEW                                                                                   supply
                                                                                                                           of 23
                                   chain planning problem while measuring the profitability. One of the limitations of this is
                                   that the authors do not apply multi-objective optimization in their study.
                                    The
                                     The main
                                          main extension
                                                 extension of
                                                            of FADSE
                                                               FADSE consists
                                                                         consists ofof replacing
                                                                                       replacing jMetal
                                                                                                  jMetal 0.8
                                                                                                          0.8 with
                                                                                                              with jMetal
                                                                                                                     jMetal 6.2.
                                                                                                                            6.2. More-
                                                                                                                                  More-
                               over, we  are  continuously    extending    jMetal   with   recently introduced    algorithms
                               over, we are continuously extending jMetal with recently introduced algorithms such as:          such as:
                               RDA,   Gray-Wolf,    Hyena,    etc.  More  engineering       problems   will be  added:
                               RDA, Gray-Wolf, Hyena, etc. More engineering problems will be added: design space ex-     design   space
                               exploration
                               ploration of of   multi-
                                              multi-    and
                                                      and    many-core
                                                          many-core       architectures
                                                                        architectures    oror  hardware
                                                                                             hardware     accelerators,
                                                                                                       accelerators,     wine
                                                                                                                       wine     fermen-
                                                                                                                             fermenta-
                               tation  process   optimization,   energy    production      and  consumption
                               tion process optimization, energy production and consumption prediction, highway prediction,   highway
                               building
                               building process,
                                          process, suspension
                                                     suspension system
                                                                   system optimization.
                                                                             optimization. A   A benchmarked
                                                                                                 benchmarked implementation
                                                                                                                   implementation of  of
                               CAFZGA
                               CAFZGA [44], which uses the Apparent Front Ranking (AFR) approach instead
                                           [44], which   uses the  Apparent     Front  Ranking   (AFR)   approach    instead of
                                                                                                                              of classic
                                                                                                                                 classic
                               Pareto-based
                               Pareto-based algorithms,      will be
                                               algorithms, will    be included
                                                                      included in in FADSE.    Additionally, the
                                                                                     FADSE. Additionally,      the existing
                                                                                                                    existing problems
                                                                                                                             problems
                               will be  tested   once  more   using   the CAFZGA         algorithm   for more
                               will be tested once more using the CAFZGA algorithm for more than two objectives. than  two objectives.
                                                                                                                                   New
                               New variants of CAFZGA will be proposed, since the template function might change
                               variants of CAFZGA will be proposed, since the template function might change dynam-
                               dynamically or it could be constructed on the fly, without prior knowledge of it. From
                               ically or it could be constructed on the fly, without prior knowledge of it. From the paral-
                               the parallelization point of view, we aim to apply a load balancing mechanism to make
                               lelization point of view, we aim to apply a load balancing mechanism to make FADSE
                               FADSE distribute the simulations/individuals among the cores/machines across local area
                               distribute the simulations/individuals among the cores/machines across local area net-
                               networks and high-performance computing in a very efficient way by introducing a job
                               works and high-performance computing in a very efficient way by introducing a job
                               scheduling mechanism. One of the future developments aims to provide a graphical user
                               scheduling mechanism. One of the future developments aims to provide a graphical user
                               interface into the FADSE framework to increase its accessibility degree. A feature to be
                               interface into the FADSE framework to increase its accessibility degree. A feature to be
                               introduced in FADSE will try to distinguish between optimization problems (with one or
                               introduced in FADSE will try to distinguish between optimization problems (with one or
                               more objectives) according to their establishment before starting the optimization process
                               more objectives) according to their establishment before starting the optimization process
                               and to suggest potential algorithms.
                               and to suggest potential algorithms.
                                    The main extended architecture of jMetal included in FADSE is presented in Figure 6,
                               and weThehave
                                          main   extended
                                               already      architecture
                                                        started to implementof jMetal   included infeatures
                                                                                  the mentioned       FADSEwith
                                                                                                              is presented
                                                                                                                    red.      in Figure
                               6, and we have already started to implement the mentioned features with red.
Processes 2024, 12, x FOR PEER REVIEW
     Processes 2024, 12, 869                                                                                                     19 of 23
                                 Figure6.6.
                                 Figure     jMetal
                                         jMetal andand FADSE
                                                    FADSE       extensions.
                                                          extensions.
                                 6. Concluding Remarks
                                 6. Concluding  Remarks
                                     A comprehensive comparison of multi-objective optimization frameworks is presented,
                                 coveringA comprehensive
                                            5 of the most citedcomparison
                                                                     or promising of        multi-objective
                                                                                       platforms.     Obviously,optimization
                                                                                                                   none of the tools frameworks
                                                                                                                                        are
                                 accepted  as  perfect  by the  entire research   community.       Some  researchers
                                  sented, covering 5 of the most cited or promising platforms. Obviously, none of t   might  find that  one
                                 of the tools presents better for their needs than the others, or they might prefer a tool that
                                  are accepted as perfect by the entire research community. Some researchers mi
                                 has not even been mentioned in this review.
                                  thatHowever,
                                        one of the     toolssuch
                                                  features    presents     bettereasy
                                                                   as flexibility,    forextensibility,
                                                                                            their needsparallelization,
                                                                                                            than the others,      or they might
                                                                                                                           checkpointing,
                                 atool
                                   good that  has of
                                          variety  not   even been
                                                      metrics,          mentioned
                                                                 efficient                 in this review.
                                                                           energy consumption          and a reduced carbon footprint
                                 can beHowever,
                                         generally viewed      as necessary   and    relevant    in these
                                                       features such as flexibility, easy extensibility,  kinds of platforms.   Addition-
                                                                                                                          parallelization,     chec
                                 ally, prioritizing usability by implementing a GUI that facilitates intuitive configuration,
                                  ing, a good variety of metrics, efficient energy consumption and a reduced carb
                                 execution and result interpretation could also bring great benefits. Adherence to design
                                  print cansuch
                                 principles    be generally       viewed as
                                                   as clarity, consistency,  andnecessary
                                                                                    accessibilityand    relevant
                                                                                                     ensures        in these
                                                                                                             an optimal         kinds of platfor
                                                                                                                          user experience
                                  ditionally,
                                 and  increases prioritizing      usability by
                                                 efficiency in optimization          implementing
                                                                                research                   a GUI
                                                                                             across different       thatThe
                                                                                                              domains.    facilitates
                                                                                                                              comparison intuitive c
                                  ration,
                                 of        execution
                                    essential             and result
                                               features allows            interpretation
                                                                   for a good    overview of could        also frameworks,
                                                                                                   the existing bring greatasbenefits.
                                                                                                                                   well as Adhe
                                 being
                                  designa basis for evaluating
                                           principles      suchthe asextent  to which
                                                                       clarity,           other existing
                                                                                   consistency,        and(oraccessibility
                                                                                                              future) tools contain
                                                                                                                               ensuresthesean optim
                                 useful features. Although we highlighted important platforms available for working with
                                  experience and increases efficiency in optimization research across different doma
                                 Multi-Objective Optimization Evolutionary Algorithms, our analysis is not exhaustive in
                                  comparison
                                 finding           of essential
                                          other important           features
                                                               domains    where  allows       for a goodexist
                                                                                   such frameworks           overview     of the existing
                                                                                                                (bioinformatics,    health, fram
                                  as welletc.).
                                 finance,   as being
                                                 From a software
                                                           basis forperspective,
                                                                         evaluating        the
                                                                                       it is  notextent
                                                                                                  alwaysto   which
                                                                                                           easy        other
                                                                                                                to extend   andexisting
                                                                                                                                 maintain(or futu
                                 these  tools  due  to  new  software    versions    that   appear,   but also
                                  contain these useful features. Although we highlighted important platforms   due   to the new   types of avail
                                 complex problems that need to be solved.
                                 working with Multi-Objective Optimization Evolutionary Algorithms, our analys
                                 exhaustive in finding other important domains where such frameworks exist (b
                                 matics, health, finance, etc.). From a software perspective, it is not always easy to
                                 and maintain these tools due to new software versions that appear, but also du
                                 new types of complex problems that need to be solved.
                                 Funding: This work was partially developed in the project CoDEMO (Co-Creative Decision
Processes 2024, 12, 869                                                                                                              20 of 23
                                   Funding: This work was partially developed in the project CoDEMO (Co-Creative Decision-Makers for
                                   5.0 Organizations), grant number 101104819, an initiative supported by the Erasmus+ funding mecha-
                                   nism ERASMUS-EDU-2022-PI-ALL-INNO-EDU-ENTERP (Alliances for Education and Enterprises).
                                   Conflicts of Interest: The authors declare no conflict of interest.
References
1.    Beyer, H.-G.; Schwefel, H.-P. Evolution strategies—A comprehensive introduction. Nat. Comput. 2002, 1, 3–52. [CrossRef]
2.    Koza, J. Non-Linear Genetic Algorithms for Solving Problems. U.S. Patent No. 4,935,877, 19 June 1990.
3.    Fogel, L. Intelligence through Simulated Evolution: Forty Years of Evolutionary Programming; John Wiley & Sons, Inc.: Hoboken, NJ,
      USA, 1999.
4.    Holland, J. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial
      Intelligence; MIT Press: Cambridge, MA, USA, 1975.
5.    Sharma, S.; Chahar, V. A Comprehensive Review on Multi-objective Optimization Techniques: Past, Present and Future. Arch.
      Comput. Methods Eng. 2022, 29, 5605–5633. [CrossRef]
6.    Liu, H.; Li, Y.; Duan, Z.; Chen, C. A review on multi-objective optimization framework in wind energy forecasting techniques and
      applications. Energy Convers. Manag. 2020, 224, 113324. [CrossRef]
7.    Calborean, H.; Vintan, L. An automatic design space exploration framework for multicore architecture optimizations. In
      Proceedings of the 9th RoEduNet IEEE International Conference, Sibiu, Romania, 24–26 June 2010; pp. 202–207.
8.    Tian, Y.; Cheng, R.; Zhang, X.; Jin, Y. PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization. IEEE
      Comput. Intell. Mag. 2017, 12, 73–87. [CrossRef]
9.    Evins, R. A review of computational optimisation methods applied to sustainable building design. Renew. Sustain. Energy Rev.
      2013, 22, 230–245. [CrossRef]
10.   Altiparmak, F.; Gen, M.; Lin, L.; Paksoy, T. A genetic algorithm approach for multi-objective optimization of supply chain
      networks. Comput. Ind. Eng. 2006, 51, 196–215. [CrossRef]
11.   Zhu, Z.; Zhang, G.; Li, M.; Liu, X. Evolutionary Multi-Objective Workflow Scheduling in Cloud. IEEE Trans. Parallel Distrib. Syst.
      2016, 27, 1344–1357. [CrossRef]
12.   Kaur, K.; Garg, S.; Aujla, G.S.; Kumar, N.; Rodrigues, J.J.P.C.; Guizani, M. Edge Computing in the Industrial Internet of Things
      Environment: Software-Defined-Networks-Based Edge-Cloud Interplay. IEEE Commun. Mag. 2018, 56, 44–51. [CrossRef]
13.   Alba, E.; Luque, G.; Nesmachnow, S. Parallel metaheuristics: Recent advances and new trends. Int. Trans. Oper. Res. 2013, 20,
      1–48. [CrossRef]
14.   Liu, S.; Wang, S.; Zhu, F.; Zhang, J.; Krishnan, R. HYDRA: Large-scale social identity linkage via heterogeneous behavior modeling.
      In Proceedings of the ACM SIGMOD International Conference on Management of Data, Snowbird, UT, USA, 22–27 June 2014;
      pp. 51–62.
15.   Wang, Y.; Liu, H.; Zheng, W.; Xia, Y.; Li, Y.; Cheng, P.; Guo, K.; Xie, H. Multi-objective workflow scheduling with deep-Q-network-
      based multi-agent reinforcement learning. IEEE Access 2019, 7, 39974–39982. [CrossRef]
16.   Liu, Q.; Cai, W.; Shen, J.; Fu, Z.; Liu, X.; Linge, N. A speculative approach to spatial-temporal efficiency with multi-objective
      optimization in a heterogeneous cloud environment. Secur. Commun. Netw. 2016, 9, 4002–4012. [CrossRef]
17.   Zhou, X.; Zhang, G.; Sun, J.; Zhou, J.; Wei, T.; Hu, S. Minimizing cost and makespan for workflow scheduling in cloud using
      fuzzy dominance sort based HEFT. Future Gener. Comput. Syst. 2019, 93, 278–289. [CrossRef]
18.   Lukasiewycz, M.; Glaß, M.; Reimann, F.; Teich, J. Opt4J: A modular framework for meta-heuristic optimization. In Proceedings of
      the 13th Annual Conference Genetic and Evolutionary, Dublin, Ireland, 12–16 July 2011; pp. 1723–1730.
19.   Shen, R.; Zheng, J.; Li, M. A hybrid development platform for evolutionary multi-objective optimization. In Proceedings of the
      2015 IEEE Congress on Evolutionary Computation (CEC), Sendai, Japan, 25–28 May 2015; pp. 1885–1892.
20.   Bezerra, L.C.T.; Lopez-Ibanez, M.; Stutzle, T. Automatic Component-Wise Design of Multiobjective Evolutionary Algorithms.
      IEEE Trans. Evol. Comput. 2016, 20, 403–417. [CrossRef]
21.   Jones, J.; Clark, R.D.; Lawless, M.S.; Miller, D.W.; Waldman, M. The AI-driven Drug Design (AIDD) platform: An interactive
      multi-parameter optimization system integrating molecular evolution with physiologically based pharmacokinetic simulations. J.
      Comput. Mol. Des. 2024, 38, 1–20. [CrossRef]
22.   Yi, J.-C.; Yang, Z.-Y.; Zhao, W.-T.; Yang, Z.-J.; Zhang, X.-C.; Wu, C.-K.; Lu, A.-P.; Cao, D.-S. ChemMORT: An automatic ADMET
      optimization platform using deep learning and multi-objective particle swarm optimization. Brief. Bioinform. 2024, 25, bbae008.
      [CrossRef]
23.   Kronfeld, M.; Planatscher, H.; Zell, A. The EvA2 Optimization Framework. In Learning and Intelligent Optimization; Springer:
      Berlin/Heidelberg, Germany, 2010; pp. 247–250.
24.   Ventura, S.; Romero, C.; Zafra, A.; Delgado, J.A.; Hervás, C. JCLEC: A Java framework for evolutionary computation. Soft
      Comput.-Fusion Found. Methodol. Appl. 2008, 12, 381–392. [CrossRef]
25.   Liefooghe, A.; Basseur, M.; Jourdan, L.; Talbi, E.-G. ParadisEO-MOEO: A framework for evolutionary multi-objective optimization.
      In Proceedings of the International Conference on Evolutionary Multi-Criterion Optimization, Matsushima, Japan, 5–8 March
      2007; pp. 386–400.
Processes 2024, 12, 869                                                                                                           21 of 23
26.   Bleuler, S.; Laumanns, M.; Thiele, L.; Zitzler, E. PISA-a platform and programming language independent interface for search
      algorithms. In Proceedings of the International Conference on Evolutionary Multi-Criterion Optimization, Faro, Portugal, 8–11
      April 2003; pp. 494–508.
27.   Wagner, S.; Affenzeller, M. HeuristicLab: A Generic and Extensible. In Adaptive and Natural Computing Algorithms; Springer:
      Vienna, Austria, 2005; pp. 538–541.
28.   Van Eck, N.J.; Waltman, L. VOSviewer Manual. 2017. Available online: http://vosviewer.com/download/f-y2z2.pdf (accessed
      on 12 March 2024).
29.   Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multi-objective genetic algorithm: NSGA-II. IEEE Trans. Evol.
      Comput. 2002, 6, 182–197. [CrossRef]
30.   Zitzler, E.; Laumanns, M.; Thiele, L. SPEA2: Improving the Strength Pareto Evolutionary Algorithm; TIK-Report; ETH Zurich,
      Computer Engineering and Networks Laboratory: Zurich, Switzerland, 2001.
31.   Deb, K.; Goel, T. Controlled Elitist Non-dominated Sorting Genetic Algorithms for Better Convergence. In Evolutionary Multi-
      Criterion Optimization; EMO 2001; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2001; Volume
      1993.
32.   Deb, K.; Jain, H. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting
      approach, part I: Solving problems with box constraints. IEEE Trans. Evol. Comput. 2014, 18, 577–601. [CrossRef]
33.   Jain, H.; Deb, K. An evolutionary many-objective optimization algorithm using reference-point based nondominated sorting
      approach, part II: Handling constraints and extending to an adaptive approach. IEEE Trans. Evol. Comput. 2014, 18, 602–622.
      [CrossRef]
34.   He, Z.; Yen, G.G.; Zhang, J. Fuzzy-Based Pareto Optimality for Many-Objective Evolutionary Algorithms. IEEE Trans. Evol.
      Comput. 2013, 18, 269–285. [CrossRef]
35.   Nebro, A.; Durillo, J.; García-Nieto, J.; Coello, C.; Luna, F.; Alba, E. SMPSO: A new PSO-based metaheuristic for multi-objective
      optimization. In Proceedings of the IEEE Symposium on Computational Intelligence in Multi-Criteria Decision-Making, MCDM,
      Nashville, TN, USA, 30 March–2 April 2009; pp. 66–73.
36.   Fathollahi-Fard, A.M.; Hajiaghaei-Keshteli, M. Red Deer Algorithm (RDA): A new optimization algorithm inspired by Red Deers’
      mating. In Proceedings of the International Conference on Industrial Engineering, Tehran, Iran, 25–26 January 2016; Volume 12,
      pp. 331–342.
37.   Mirjalili, S.; Mirjalili, S.M.; Lewis, A.; Optimizer, G.W. Grey wolf optimizer. Adv. Eng. Softw. 2014, 69, 46–61.
38.   Dhiman, G.; Kumar, V. Spotted hyena optimizer: A novel bio-inspired based metaheuristic technique for engineering applications.
      Adv. Eng. Softw. 2017, 114, 48–70. [CrossRef]
39.   Premkumar, M.; Jangir, P.; Sowmya, R. MOGBO: A new Multi-objective Gradient-Based Optimizer for real-world structural
      optimization problems. Knowl.-Based Syst. 2021, 218, 106856. [CrossRef]
40.   Dulebenets, M.A. An Adaptive Polyploid Memetic Algorithm for scheduling trucks at a cross-docking terminal. Inf. Sci. 2021,
      565, 390–421. [CrossRef]
41.   Wei, Z.; Wang, H.; Wang, S.; Zhang, Z.; Cui, Z.; Wang, F.; Peng, H.; Zhao, J. Many-objective evolutionary algorithm based on
      parallel distance for handling irregular Pareto fronts. Swarm Evol. Comput. 2024, 86, 101539. [CrossRef]
42.   Xiong, J.; Liu, G.; Gao, Z.; Zhou, C.; Hu, P.; Bao, Q. A many-objective evolutionary algorithm based on learning assessment and
      mapping guidance of historical superior information. J. Comput. Des. Eng. 2024, 11, 194–229. [CrossRef]
43.   Chu, X.; Ming, F.; Gong, W. Competitive Multitasking for Computational Resource Allocation in Evolutionary Constrained
      Multi-Objective Optimization. IEEE Trans. Evol. Comput. 2024; Early Access.
44.   Neghină, M.; Dicoiu, A.-I.; Chiş, R.; Florea, A. A competitive new multi-objective optimization genetic algorithm based on
      apparent front ranking. Eng. Appl. Artif. Intell. 2024, 132, 107870. [CrossRef]
45.   Blank, J.; Deb, K. Pymoo: Multi-Objective Optimization in Python. IEEE Access 2020, 8, 89497–89509. [CrossRef]
46.   Durillo, J.; Nebro, A.; Luna, F.; Dorronsoro, B.; Alba, E.; Teatinos, C. jMetal: A Java Framework for Developing Multi-Objective
      Optimization Metaheuristics; TECH-REPORT: ITI-2006-10; University of Malaga: Malaga, Spain, 2006.
47.   Durillo, J.J.; Nebro, A.J. jMetal: A Java framework for multi-objective optimization. Adv. Eng. Softw. 2011, 42, 760–771. [CrossRef]
48.   Aldana-Martín, J.F.; Durillo, J.J.; Nebro, A.J. Evolver: Meta-optimizing multi-objective metaheuristics. SoftwareX 2023, 24, 101551.
      [CrossRef]
49.   Nebro, A.J.; Durillo, J.J.; Vergne, M. Redesigning the jMetal Multi-Objective Optimization Framework. In Proceedings of the
      Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary Computation (GECCO Companion ’15),
      Madrid, Spain, 11–15 July 2015; pp. 1093–1100.
50.   Calborean, H. Multi-Objective Optimization of Advanced Computer Architectures Using Domain-Knowledge. Ph.D. Thesis,
      “Lucian Blaga” University of Sibiu, Sibiu, Romania, 2011.
51.   Chis, , R. Developing Effective Multi-Objective Optimization Methods for Complex Computing Systems. Ph.D. Thesis, “Lucian
      Blaga” University of Sibiu, Sibiu, Romania, 2017.
52.   Zwart, S.P. The ecological impact of high-performance computing in astrophysics. Nat. Astron. 2020, 4, 819–822. [CrossRef]
53.   Pereira, R.; Couto, M.; Ribeiro, F.; Rua, R.; Cunha, J.; Fernandes, J.; Saraiva, J. Energy efficiency across programming languages:
      How do energy, time, and memory relate? In Proceedings of the 10th ACM SIGPLAN International Conference, Vancouver, BC,
      Canada, 23–24 October 2017.
Processes 2024, 12, 869                                                                                                             22 of 23
54.   Pereira, R.; Couto, M.; Ribeiro, F.; Rua, R.; Cunha, J.; Fernandes, J.P.; Saraiva, J. Ranking programming languages by energy
      efficiency. Sci. Comput. Program. 2021, 205, 102609. [CrossRef]
55.   Georgiou, S.; Kechagia, M.; Spinellis, D. Analyzing Programming Languages’ Energy Consumption: An Empirical Study. In
      Proceedings of the 21st Pan-Hellenic Conference on Informatics (PCI ’17). Association for Computing Machinery, Larissa, Greece,
      28–30 September 2017; Springer: Berlin/Heidelberg, Germany, 2017; pp. 1–6.
56.   Rashid, M.; Ardito, L.; Torchiano, M. Energy Consumption Analysis of Algorithms Implementations. In Proceedings of the
      Conference: Symposium on Empirical Software Engineering and Measurement, Beijing, China, 22–23 October 2015.
57.   Jamil, M.N.; Kor, A.-L. Analyzing energy consumption of nature-inspired optimization algorithms. Green Technol. Resil. Sustain.
      2022, 2, 1. [CrossRef]
58.   Florea, A.; Cofaru, I.; Patrausanu, A.; Cofaru, N.; Fiore, U. Superposition of populations in multi-objective evolutionary
      optimization of car suspensions. Eng. Appl. Artif. Intell. 2023, 126, 107026. [CrossRef]
59.   Florea, A.; Cofaru, N. Implementing some Evolutionary Computing Methods for Determining the Optimal Parameters in the
      Turning Process. Appl. Mech. Mater. 2015, 809, 902–907. [CrossRef]
60.   Florea, A.; Gellert, A. Different approaches for solving optimization problems using interactive e-learning tools. Elearning Softw.
      Educ. 2014, 181.
61.   Carlson, T.E.; Heirman, W.; Eeckhout, L. Sniper: Exploringthe the Level of Abstraction for Scalable and Accurate Parallel
      Multi-Core Simulation. In Proceedings of the International Conference for High Performance Computing, Networking, Storage
      and Analysis (SC), Seattle, WA, USA, 12–18 November 2011; pp. 1–12.
62.   Sharkey, J.; Ponomarev, D.; Ghose, K. M-sim: A Flexible, Multithreaded Architectural Simulation Environment; Technical Report;
      Department of Computer Science, State University of New York at Binghamton: Binghamton, NY, USA, 2005.
63.   Vintan, L.; Chis, R.; Ismail, M.; Cotofana, C. Improving Computing Systems Automatic Multi-Objective Optimization through
      Meta-Optimization. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2015, 35, 1125–1129. [CrossRef]
64.   Bücker, M.; Corliss, G.; Hovland, P.; Naumann, U.; Norris, B. Automatic Differentiation: Applications, Theory, and Implementa-
      tions. Lect. Notes Comput. Sci. Eng. 2006, 50.
65.   Benítez-Hidalgo, A.; Nebro, A.J.; García-Nieto, J.; Oregi, I.; Del Ser, J. jMetalPy: A Python framework for multi-objective
      optimization with metaheuristics. Swarm Evol. Comput. 2019, 51, 100598. [CrossRef]
66.   Uhrig, S.; Shehan, B.; Jahr, R.; Ungerer, T. A Two-Dimensional Superscalar Processor Architecture. In Proceedings of the 2009
      Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns, Athens, Greece, 15–20
      November 2009; pp. 608–611.
67.   Knowles, J.; Corne, D. On metrics for comparing nondominated sets. In Proceedings of the 2002 Congress on Evolutionary
      Computation, CEC’02 (Cat. No.02TH8600), Honolulu, HI, USA, 12–17 May 2002; Volume 1, pp. 711–716.
68.   Zitzler, E.; Thiele, L.; Laumanns, M.; Fonseca, C.; da Fonseca, V. Performance assessment of multiobjective optimizers: An analysis
      and review. IEEE Trans. Evol. Comput. 2003, 7, 117–132. [CrossRef]
69.   Zitzler, E.; Thiele, L. Multiobjective optimization using evolutionary algorithms—A comparative case study. In Proceedings of the
      5th International Conference on Parallel Problem Solving from Nature (PPSN-V), Amsterdam, The Netherlands, 27–30 September
      1998; Eiben, A.E., Back, T., Schoenauer, M., Schwefel, H.P., Eds.; Springer: Berlin/Heidelberg, Germany, 1998; pp. 292–301.
70.   Zitzler, E. Evolutionary Algorithms for Multiobjective Optimization: Methods and Applications. Ph.D. Thesis, ETH Zurich,
      Zurich, Switzerland, 1999.
71.   Zhou, A.; Jin, Y.; Zhang, Q.; Sendhoff, B.; Tsang, E. Combining Model-based and Genetics-based Offspring Generation for
      Multi-objective Optimization Using a Convergence Criterion. In Proceedings of the 2006 IEEE International Conference on
      Evolutionary Computation, Vancouver, BC, Canada, 16–21 July 2006; pp. 892–899.
72.   Laumanns, M.; Thiele, L.; Zitzler, E. An efficient, adaptive parameter variation scheme for metaheuristics based on the epsilon-
      constraint method. Eur. J. Oper. Res. 2006, 169, 932–942. [CrossRef]
73.   García-León, A.A.; Dauzère-Pérès, S.; Mati, Y. An efficient Pareto approach for solving the multi-objective flexible job-shop
      scheduling problem with regular criteria. Comput. Oper. Res. 2019, 108, 187–200. [CrossRef]
74.   Van Veldhuizen, D.; Lamont, G. Evolutionary computation and convergence to a Pareto front. In Late Breaking Papers at the Genetic
      Programming 1998 Conference; Koza, J.R., Ed.; Stanford University Bookstore: Stanford, CA, USA, 1998; pp. 221–228.
75.   CoelloCoello, C.; ReyesSierra, M. A study of the parallelization of a coevolutionary multi-objective evolutionary algorithm.
      In MICAI 2004 Advances in Artificial Intelligence; Monroy, R., Arroyo-Figueroa, G., Sucar, L.E., Sossa, H., Eds.; Springer:
      Berlin/Heidelberg, Germany, 2004; pp. 688–697.
76.   Shajii, A.; Numanagić, I.; Leighton, A.T.; Greenyer, H.; Amarasinghe, S.; Berger, B. A Python-based optimization framework for
      high-performance genomics. bioRxiv 2020. [CrossRef]
77.   Mondelli, M.L.; Magalhães, T.; Loss, G.; Wilde, M.; Foster, I.; Mattoso, M.; Katz, D.; Barbosa, H.; de Vasconcelos, A.T.R.; Ocaña, K.;
      et al. BioWorkbench: A high-performance framework for managing and analyzing bioinformatics experiments. PeerJ 2018, 6,
      e5551. [CrossRef]
78.   Zambrano-Vega, C.; Nebro, A.J.; Aldana-Montes, J.F. MO-Phylogenetics: A phylogenetic inference software tool with multi-
      objective evolutionary metaheuristics. Methods Ecol. Evol. 2016, 7, 800–805. [CrossRef]
79.   Legato, P.; Mazza, R.M.; Fortino, G. A multi-level simulation-based optimization framework for IoT-enabled elderly care systems.
      Simul. Model. Pract. Theory 2022, 114, 102420. [CrossRef]
Processes 2024, 12, 869                                                                                                        23 of 23
80.   Gillis, M.; Urban, R.; Saif, A.; Kamal, N.; Murphy, M. A simulation–optimization framework for optimizing response strategies to
      epidemics. Oper. Res. Perspect. 2021, 8, 100210. [CrossRef]
81.   Badakhshan, E.; Ball, P. A simulation-optimization approach for integrating physical and financial flows in a supply chain under
      economic uncertainty. Oper. Res. Perspect. 2023, 10, 100270. [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.