Font Size: a A A

Study Of Many-objective Evolutionary Algorithms And Its Software Framework

Posted on:2016-01-27Degree:DoctorType:Dissertation
Country:ChinaCandidate:R M ShenFull Text:PDF
GTID:1108330464471584Subject:Applied Mathematics
Abstract/Summary:PDF Full Text Request
Many real-world problems are multi-objective optimization problems(MOPs), which have multiple conflicting objective functions needing to be optimized simultaneously. Different from the single-objective optimization, multi-objective evolutionary algorithms(MOEAs) usually provide a set of Pareto optimal solutions for the decision maker. Thus, it not only requires MOEAs to provide high convergence performance, but also demands high spread and uniformity performance of the obtained solution set in order to depict optimization problems more perfectly,importantly to offer the decision makers various choices. MOPs are usually highly complex,which makes the exact techniques not applicable. While evolutionary algorithms, which based on population search technique, usually perform well on these MOPs. Hence the study of using evolutionary algorithms to solve MOPs has a high practical significance.The introduction of Pareto dominance relationship brings a great revolution for the research of multi-objective optimization. However, the Pareto-based algorithms only perform well on2- or 3-objective MOPs, and they usually lose effect on many-objective optimization problems(i.e., the number of objectives is more than 3). This is mainly due to the exponential decrease of the Pareto dominance area with the growth of the number of objectives. In this case, the ratio of non-dominated solutions in the population will rises rapidly. As a consequence, the selection mechanism fails to identify the good solutions, and the algorithm usually cannot converge on many-objective optimization problems. There are a lot of many-objective optimization problems in the real-world engineering applications, hence the research of many-objective optimization receives more and more attention at home and abroad.In order to improve the performance in many-objective optimization, a many-objective evolutionary algorithm based on ?-dominance and boundary punishment selection(?-BPS) is proposed in this study. To ensure the convergence and spread performance, the boundary punishment selection(BPS) selects the elites which are close to different boundaries(axes) into the next population in turn. Meanwhile, to ensure the uniformity performance, BPS punishes the neighbors of each elite(the individuals which near the elite), and the selection of these individuals will be postponed until the next round(BPS can select many rounds). Moreover, the ?-dominance is used to punish the neighbors of the elite. It removes the dominance resistant solutions(DRSs)simultaneously maintain the diversity. From a series of experiments on DTLZ test problems with 3 to 10 objectives, ?-BPS has been found to be very competitive against 6 representative many-objective evolutionary algorithms.In order to reduce the difficulties in parameter setting, a many-objective evolutionary algorithm based on boundary elimination selection and binary search(BESBS) is proposed in this study. Similar to BPS, BES also selects the individuals which are close to different boundaries,and uses the ?-dominance to detect the neighbors of an elite. However, unlike BPS, BES executes only one round. Once the individuals near the elite is eliminated, they will have no chance to be selected again. For the difficulties in setting the parameter ?, the binary search is introduced to find an appropriate parameter ? in the real space. Compared with 6 representative many-objective evolutionary algorithms, the experimental results have shown that BESBS performs well on both convergence and diversity.The design of the software framework is very important in the evolutionary multi-objective optimization(EMO) field. Here, we propose a hybrid software framework based on C++ and Python. It consists of three projects: optimization template library(OTL), PyOTL, and PyOptimization. The C++ project OTL implements all MOPs, variation operators, optimization algorithms, and quality indicators. It has an object-oriented design, which creates unified interfaces for different encapsulated classes. Moreover, the C++ template and generic programming are applied in OTL, which improves the flexibility, code reusability, and running efficiency. However, compared with C++, Python is more suitable for constructing the experiment platform.Thus, PyOTL project converts the C++ codes into Python modules, and uses unit-test technology to ensure the correctness of all converted modules. Finally, PyOptimization project uses these converted Python modules to perform scientific experiments. It provides functions such as automatically performed batch experiments, complete preservation of experimental data, parallel or distributed computing, and data visualization, which facilitate the research of multi-objective optimization.
Keywords/Search Tags:multi-objective optimization, multi-objective evolutionary algorithm, many-objective optimization, software framework
PDF Full Text Request
Related items