摘要:在计算机科学中,进化计算实质上是一种优化处理过程,是一种通用的问题求解方法。进化算法将实际问题模型转化为目标函数,使之与适应度相对应,采用随机化的定向搜索机制来求解实际问题。多目标进化算法有很多种,本文中执行的程序采用的多目标进化算法是由Kalyanmoy Deb教授和他的学生在2000年提出的改进型非劣分类遗传算法(NSGA-II)。Deb等学者对原始的NSGA进行了改进。NSGA基于对多目标解群体进行逐层分类,每代选种配对之前先按解个体的非劣关系进行排序,并引入基于决策向量空间的共享函数法。在群体中采用共享机制来保持进化的多样性。
本文的研究内容可分为四部分:多目标优化问题的研究意义及研究现状;多目标进化算法的基本原理和Pareto最优解的定义;算法程序的基本框架和操作方法;多目标优化问题的具体求解过程和解集分析。
在本次研究中,我首先下载了网上关于多目标进化算法的程序。在熟悉掌握程序框架的基础上,根据研究的要求,我对程序的部分功能进行了修改。最后,我运用程序,顺利求解了三个多目标优化问题,并对最优解集做了适当分析。
关键词:非劣分类遗传算法,算法原理,多目标优化问题,求解过程
Abstract:In computer science, evolutionary computing is actually a kind of process to finish optimization. It is a universal kind of methods used to solve problems. Evolutionary algorithms transform practical problem models to objective functions in order to match them with fitness; and adopt a kind of mechanism of randomly directional search to solve practical problems. There are many different MOEAs. And the non-dominated sorting genetic algorithm II (NSGA-II), which was proposed by Professor Kalyanmoy Deb and his students in 2000, is used in the program referenced in this paper. Deb and other specialists enhanced the original NSGA. In NSGA, the multi-objective solution population is sorted into different levels. Population of every generation is sorted before being matched according to non-dominated connections of individuals. Shared functions algorithm which is based on decision making vector space is introduced. The shared mechanism is used to keep the diversity of population.
Study contents of this work are divided into four main sections: importance and present condition of the study on multi-objective optimization problems (MOPs); the basic principle of MOEAs and the definition of Pareto optimal solution; fundamental frame and operation steps of the algorithm program; detailed process to figure out the MOPs and analysis of final optimal solution.
During this study, first I downloaded an online program on MOEA. And I altered several functions of the program according to the study’s objectives after I have learned and seized the program’s frame. At last, I successfully solved three MOPs using the program. At the same time, I made several analyses of the final optimal solutions.
Key words: NSGA-II, algorithm principle, multi-objective optimization problems, detailed process.