A Hybrid Development Platform for Evolutionary
Multi-Objective Optimization
Ruimin Shen
School of Mathematics & Computational Science
Xiangtan University, Hunan, China
Email: ruimin0shen@gmail.com
Jinhua Zheng
Institute of Information Engineering
Key Laboratory of Intelligent Computing &
Information Processing of Ministry of Education
Xiangtan University, Hunan, China
Email: jhzheng@xtu.edu.cn
Miqing Li
Department of Information Systems & Computing
Brunel University, Uxbridge, Middlesex, U. K.
Email: miqing.li@brunel.ac.uk
Abstract—This paper introduces an optimization template
library (OTL), a cross-platform C++ template library for multi-
objective optimization. OTL has an object-oriented architecture,
which allows that different modules can be arbitrarily combined
with each other. Moreover, the C++ template technique is used to
increase the flexibility of OTL. Meanwhile, generic programming
is widely used in OTL, and the generic algorithms can be used to
process different data structures. However, compared with C++,
the Python script is more suitable for building the experimental
platform. To ensure that all attributes of the experimental results
can be fully maintained, a database is used to store the experi-
mental data. Moreover, batch experiments can be easily defined in
a set of configuration files; thus, the experiments can be executed
automatically without human intervention. In addition, serial and
various parallel execution modes are supported, and the user
can easily switch the running mode to distributed computing to
increase the computing speed. Finally, a highly customizable data
visualization tool is created to play back the data sample stored in
the database. From a series of comparative studies, the accuracy
and running performance of OTL are verified by the statistical
results.
Keywords—evolutionary multi-objective optimization, object-
oriented architecture, generic programming
I. INTRODUCTION
Many real-world problems are multi-objective optimization
problems (MOPs), which have multiple conflicting objective
functions needing to be optimized simultaneously. Compared
with the single-objective optimization, multi-objective opti-
mization algorithms usually provide a set of Pareto optimal
[1] solutions for the decision maker. MOPs are usually highly
complex, which makes the exact techniques not applicable.
But some population-based metaheuristics, such as genetic
algorithms, particle swarm optimization algorithms, and ant
colony algorithms, usually perform well in these MOPs.
Significant interest in the use of evolutionary algorithms
(EAs) to deal with MOPs promotes the development of
the software framework with respect to evolutionary multi-
objective optimization (EMO). In general, a good EMO soft-
ware framework has the following features:
• An object-oriented architecture. Polymorphism is one
of the most important features in object-oriented de-
sign. It creates a consistent interface between different
modules so that they can be arbitrarily combined.
• Problem-independent optimizers [2]. MOPs and vari-
ation operators (e.g., the crossover and mutation) are
typically problem-specific, that is, these modules often
rely on the knowledge in the engineering application
domain, and their decision variables may be pre-
sented by different encodings. However, the optimizers
should be problem-independent; thus, can be applied
to various real-world applications.
• Ready-to-use modules. The software framework
should provide various ready-to-use modules, and the
correctness of these modules should be fully verified.
• Automatically performed batch experiments. Experi-
ments can be executed automatically without human
intervention. This reduces the possibility of making
mistakes, and makes conducting experiments conve-
nient.
• Complete preservation of experimental data. In gen-
eral the experimental results have various attributes,
which are very important in statistical analysis. How
to completely save these attributes is one of the most
important studies.
• Parallel computing. The software framework not only
makes full use of the multiple cores of the modern
multi-core CPU but also supports distributed comput-
ing.
• Data visualization. A data visualization tool is pro-
vided to play back the saved data.
However, most existing source codes provided by re-
searchers lack the above designs, like the Walking-Fish-
Group (WFG) toolkit [3], the non-dominated sorting genetic
algorithm II (NSGA-II) [4], the decomposition-based multi-
objective EA (MOEA/D) [5], and the multiple single objective
Pareto sampling (MSOPS) [6]. Recently, some well-designed
software frameworks have been proposed including these rep-
resentative samples:
• Programming language independent interface for
search algorithms (PISA) [2]. This is a procedure-
oriented software framework. PISA divides the im-
plementation into the problem-specific part and
problem-independent part. On the application side,
the problem-specific part includes the modules (MOPs
978-1-4799-7492-4/15/$31.00
c
�2015 IEEE