摘要

对多目标软件模块聚类问题进行研究,提出一种基于改进的非支配排序遗传算法(Non dominated Sorting Genetic Algorithm-Ⅱ,NSGA-Ⅱ)(GNSGA-Ⅱ)多目标软件模块聚类算法。利用软件模块质量(Modularization Quality, MQ)与非孤立分布(Non-isolated Distribution, NSD)两个目标,将软件模块聚类建立为多目标优化模型。在NSGA-Ⅱ算法的基础上引入外部存档用以存放搜索到的非支配个体,使得迭代NSGA-II过程中能够同步更新外部存档,保留精英解,改善解集分布差,提高算法的多样性。实验结果表明,相较于NSGA-Ⅱ算法、分组遗传算法(Grouping Gene-tic Algorithm, GGA)和爬山算法(Hill Climbing, HC),所提算法获得的各系统模块聚类结果的软件模块质量和非孤立分布平均提高1.18倍和1.02倍,聚类结果更好。

全文