计算机应用

• 人工智能与仿真 •    下一篇

考虑抑制孤立簇的软件模块化优化算法

牟立峰,王方媛   

  1. 上海大学嘉定校区
  • 收稿日期:2017-08-07 修回日期:2017-09-02 发布日期:2017-09-02 出版日期:2017-09-14
  • 通讯作者: 王方媛

Software modularization optimization algorithm considering eliminating isolated cluster

  • Received:2017-08-07 Revised:2017-09-02 Online:2017-09-02 Published:2017-09-14
  • Contact: Fang-Yuan WANG

摘要:

针对传统软件模块化指标在解决软件模块化问题时容易导致孤立簇(Isolated clusters)的问题,提出改进型软件模块化指标IMQ(Improved Modularization Quality)作为进化算法的适应函数以有效抑制孤立簇现象,并以IMQ最大化为目标建立软件模块化的数学规划模型,设计符合问题特点的基于相似度竞争和选择机制的改进遗传算法IGA求解该模型。首先运用边收缩方法的启发式策略生成高质量的初始解,并将其作为种子植入到初始种群中;然后利用IGA对模型进行求解,在提升搜索效率的同时进一步提高解的质量;最后运用真实数据和仿真数据进行对比实验。实验结果表明IMQ指标能有效降低孤立簇的数目,而IGA比传统的多点爬山算法(Improved Hill Climbing Algorithm, IHC)和基于GNE(Group Number Encoding)的遗传算法具有更强的寻优能力和鲁棒性。

关键词: 软件模块化, 软件聚类问题, 遗传算法, 启发式策略, 产品设计

Abstract:

Considering the isolated cluster problem caused by traditional software modularization methods, a new metric named Improved Modularization Quality (IMQ) was proposed and used as the fitness function of evolutionary algorithm to eliminate isolated cluster effectively. A mathematical programming model with the goal of maximizing IMQ was developed to represent software modularization problem. In addition, an Improved Genetic Algorithm (IGA) with the crossover operator based on similarity mechanism was designed to solve this model. Firstly, a heuristic based on edge contraction was used to generate high-quality solutions. Then the solutions were implanted as seeds into the initial population. At last, an Improved Genetic Algorithm (IGA) was employed to further improve solution quality. Comparison experimental results prove that IMQ can effectively reduce the number of isolated cluster, and IGA has stronger robustness and ability of finding better solutions than Improved Hill Climbing Algorithm (IHC) and GA based on GNE.

Key words: software modularization, software clustering problem, Genetic Algorithm (GA), heuristic strategy, product design

中图分类号: