您好,欢迎访问三七文档
算法概要设计文档引言1.1编写目的本文档为“基于改进实数的遗传算法求解高维问题”算法设计的概要设计说明书,为算法的改进详细的设计的主要依据。读者为项目组成员,使得项目组内成员对整个算法的主要功能以及其概要的实现手段有一个宏观的把握,是算法的一个雏形,同时也是最基本的引导性文档。1.2编写背景①算法名称:基于改进实数的遗传算法求解高维问题②算法负责人:周振永③参与人员:周振永,杨耀峰,刘俊④指导教师:魏静萱1.3术语及说明a.遗传算法:是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法b.交叉:来自两个不同个体的基因的重新组合c.变异:在一定情况下基因发生变化d.适度值:个体适应环境能力的大小1.4参考资料1)函数全局优化的改进实数遗传算法,金芬、徐小平2)实数遗传算法的改进研究,王福林、王吉权、吴昌友、吴秋峰总体设计2.1需求设计在求解连续参数优化问题时,基本的遗传算法(SGA)存在全局优化能力不强、易于陷入局部最优,从而导致求解效率低和求解精度不高等缺陷。与基本遗传算法相比,实数编码的遗传算法不仅收敛速度快,而且精度高,因此基于实数编码的遗传算法得到越来越多的国内外学者的重视和研究,但基本的实数遗传算法不能有效地求解多峰函数的优化问题,在优化问题的维数较高时问题更加突出。为此很多文献提出了改进2.2运行环境本算法是在win764位系统,4G内存,1.3GHzCPUPC电脑上的VS2012平台下进行测试2.3基本算法的操作流程步骤1初始化种群,在一定范围内,随机产生popsize个个体作为初始种群步骤2计算种群的目标函数值,排序后并按照选择度选择最低的那一段个体作为之后的变异能够达到最优的主力军,并存储起来步骤3从种群按一定的交叉比率随机选择m(m是3的倍数)个个体,然后按照交叉算法,以及变异算法进而得到新的m个个体步骤4将原种群与新生成的这m个个体进行排序并选择按目标值排序得到的最优的按选择度得到的最优的几个个体步骤5然后将在步骤2中得到的那最低的一段与步骤4种得到的一段进行合并,然后就组成了新的一代步骤6判断是否满足收敛条件,若满足则输出最优解,否则转向步骤22.4基本算法流程图YN2.5尚未解决的问题目前算法对于7个测试的低维函数都能快速收敛,跳出局部最优,迅速找到最优值,但是对于高维函数来说,确实有点难度,目前仍在研究模块设计3.1适度函数在适度函数阶段,我们采用的仍是目标函数,不过由于采取了与传统不同的选择策略,并不会陷入局部最优3.2选择模块在选择模块中,这里在初始化种群的时候,按照选择度,存储排序后低段的一部分个体作为下一代个体的低段,而高段来源于子代交叉变异后与原代组合然后排序后的高段。3.3交叉模块在这里采用的是按照三角形计算中心点的思路,就是计算三个个体的中心点,然后各自个体与中心点值进行一定比率的加减然后得到交叉后的值,不过这个值仍然有一定的随机性3.4变异模块变异算子有很多个,这里采用的是多层变异,就是对于一个被选到的个体,则对其变异n次成功的变异,而且每一次变异必须比前一次的值最优才算一次成功的变异,这样n次成功变异之后所得的个体肯定是比较优秀的开始结束初始化种群是否结束交叉变异与原种群组合并排序按选择度选择最优个体并与最初保留的个体结合
本文标题:算法概要设计文档
链接地址:https://www.777doc.com/doc-6468726 .html