"景先生毕设|www.jxszl.com

abc结合pso的软件可靠性参数估计(附件)【字数:19505】

2022-11-09 10:33编辑: www.jxszl.com景先生毕设
建立可靠性模型进行参数估计是现代化软件可靠性测试的主要手段之一,针对软件可靠性测试存在的问题,将包括人工蜂群算法(ABC)和粒子群算法(PSO)在内的典型群体智能算法应用到软件可靠性模型中。这个过程将复杂的优化问题简化成了数值计算[1]问题,之后再用算法的实验仿真得出结论。本文分别对粒子群算法和人工蜂群算法的更新策略及公式进行了算法改进,并用改进后的两种算法进行优势互补,提出一种混合新优化算法。用其进行优化实验仿真后所得实验数据与已知数据进行对比分析,实验结果表明,本文提出的新混合算法在收敛精度和速度上都有大幅度提高,它的性能大大优于只用单一的粒子群算法或者人工蜂群算法时的性能,更有利于实际的软件可靠性测试。关键词 人工蜂群算法;粒子群算法;软件可靠性
目录
第一章 绪论 1
1.1 研究背景和意义 1
1.2 国内外研究现状 1
1.2.1 软件可靠性 1
1.2.2 智能优化算法 3
1.3 本文的主要研究内容 4
1.4 章节安排 5
1.5 本章小结 5
第二章 基本理论基础 6
2.1 软件可靠性 6
2.1.1 软件可靠性指标 6
2.1.2 软件可靠性测试 6
2.2 软件可靠性预测模型 7
2.2.1 JM模型 7
2.2.2 GO模型 8
2.2.3 MO模型 9
2.3 人工蜂群算法(Artifical Bee Colony) 10
2.3.1 生物学背景 10
2.3.2 基本原理 11
2.3.3 数学表示 11
2.3.4 算法流程 12
2.3.5 算法流程图 13
2.4 粒子群优化(PSO)算法: 14
2.4.1生物学背景 14
2.4.2 基本原理 14
2.4.3 数学表示 14
2.4.4 算法流程 15
2.4.5 算法流程图 15
2.5 本章小结 16
第三章 研究内容和方法 17

 *景先生毕设|www.jxszl.com +Q: ¥351916072¥ 
3.1 研究内容 17
3.1.1 研究内容介绍 17
3.1.2 前人经验介绍 17
3.2 研究方法 18
3.2.1 适应值函数的构造 18
3.2.2 问题解的剔除 18
3.3 实现方法的算法流程 19
3.3.1 ABC算法的实现流程 19
3.3.2 PSO算法的实现流程 20
3.3.3 ABCPSO算法的实现流程 22
3.4 本章小结 24
第四章 算法仿真及结果比较 25
4.1 新旧方法比较 25
4.1.1 参数估计 25
4.1.2 估计与预测 27
4.2 ABC算法与PSO算法的比较 29
4.2.1 参数估计 29
4.2.2 估计与预测 31
4.3 ABCPSO混合算法与单个算法的比较 32
4.3.1 参数估计 33
4.3.2 估计与预测 33
4.4 本章小结 35
第五章 总结与展望 37
5.1 总结 37
5.2 后续研究展望 37
致谢 38
参考文献 39
第一章 绪论
1.1 研究背景和意义
随着计算机技术与科学的发展,各种各样的软件系统开始伴随计算机一起渗入到包括航天、医疗、军事、交通、金融、工业等重大领域。人们对计算机的需求在不断提高,如果计算机失效将会产生很大麻烦。正因如此,为了保证复杂软件系统的质量,引出了软件可靠性这一重要概念。软件可靠性是软件质量评价中的重要因素,所以如何简单高效去评估软件的可靠性显得尤为重要。对于关键领域的软件而言,它们的要求至少是能连续运行几百几千个小时不失效,此时用人工观察的方法太不现实,所以目前软件可靠性的评估主要通过建模来实现 。
近年来,专家学者们针对不同软件可靠性模型提出了一种新思路:将群体智能优化算法应用到可靠性模型的参数估计中。常用群体智能优化算法有:人工蜂群算法ABC、粒子群算法PSO、人工鱼群算法(AFSH)等。粒子群优化算法(PSO)[2]的基本思路是:种群中各个粒子相互协作通过信息共享来搜寻最优解,它在系统设计、多目标优化模式识别领域得到广泛的应用[3]。人工蜂群算法(ABC)[4]是Karaboga于2005年提出的另一种基于群体智能的随机优化算法,它被广泛用于函数的限制优化、数值优化、机器人路径规划等领域。它的基本思路是:模拟大自然中蜜蜂群体根据分工不同完成相应任务的采蜜行为,在这个过程中通过实现蜜蜂间的相互信息共享和信息交流来得到最优解。
1.2 国内外研究现状
1.2.1 软件可靠性
就现阶段而言,软件的可靠性仍然处于发展中阶段,随着可靠性工程的发展,软件可靠性也随之成长。软件可靠性早期没有引起人们足够重视。早期是为了数值计算去设计的软件,这之后软件工程的概念被提出,人们开始认识到测试方法的重要性并尝试研究软件测试理论。
1973年W.Hetzel提出,测试是评价估计程序是否能够正确完成规定任务的一个过程;1979年Glengord J.Myer在著作《The Art of Software Testing》中指出软件的测试就是去寻找软件故障的过程;我们将软件可靠性的历程分为大致的三个阶段[5]:
第一阶段:19501967年,这个阶段是软件可靠性科学的萌芽时期。
19501958年,软件开发原始阶段,没有软件可靠性的概念;19591967年,是软件的危机时期,软件可靠性的相关问题得不到重视。可靠性工程迈向国际化技术方向的标志是,1965年IEC(国际电工委员会)可靠性专业委员会的成立。

原文链接:http://www.jxszl.com/dzxx/dzkxyjs/78747.html