您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 统计推断-第273组(张波王芊)课程设计报告-new
1基于遗传算法、BP神经网络模型和粒子群算法的快速降维算法第273组王芊5080309087,张波5080309909摘要:本文采用遗传算法与导数法的方法,得到了统计推断课程中7-特征点组合问题的次优解。关键词:7-特征点组合问题,遗传算法,导数法1问题简述本文解决的问题来自科技创新五项目内容“DC-DC开关电源控制”。在科创项目中,单片机的程序需要使用占空比和电压(D-U)对应关系从而实现单片机对DC-DC开关电源的开环和闭环控制。由于每块电路板的D-U特性关系可能都是独一无二的,所以D-U特性关系必须逐块测定,在科创五必须耐心地逐点测定51个电压设点对应的占空比D值。但是逐点测量D-U关系需要大量的时间,这在工业生产和应用中成本过高。于是就有了能否在保证控制精度前提下,减少测点数目,降低生产成本的问题。7-特征点组合问题即为只测定7个电压设点对应的占空比D值,推定全部5个电压设点的D-U关系,课程中需要解决的问题就是如何选取这7个点使误差最小。本问题的难点在于无法使用穷举的方法得到最优解。以为这个问题的解共有约1.16亿个组合,在PC机上实现穷举是不可能的[1]。本文使用了概率优化搜索的策略,得到了7-特征点组合问题的次优解。2遗传算法,导数法的基本原理2.1遗传算法遗传算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止[2]。遗传算法对于全局搜索有较高的鲁棒性和较高的效率,但在本问题中尽管采用遗传算法但计算量还是有相当的计算量,求出一组解的时间还是相对较长,为了优化搜索算法,使算法能够更广泛的应用,我们在算法中引入了BP神经网络模型。2.2导数法笔者由多自变量函数求最小值想到的一种求局部最优解的方法,保证其他自变量不变,左右移动某一自变量,使得目标函数最小,再对所有自变量操作,可2得局部最优解。导数法有着较高效率但缺乏全局性,必须和其他算法混合加以运用。3算法详述混合算法主要是使用神经网络模型非线性拟合适应度函数F(x1,x2,x3,x4,x5,x6,x7),避免了在种群进化过程中适应度计算消耗大量的时间。在不使用BP模型时,适应度函数的计算时间的数量级是s,这样在一个种群数量为100,进化代数为100代的算法中,总共消耗在适应度计算的时间约为50*100/3600=1.4h,虽然这个时间是可以接受的,但是这样的算法是很难有实际应用的,所以我们使用了BP神经网络模型来拟合适应度函数,从而大大减少了遗传算法的运行时间。3.0取有效初始解由于本课程与实际生产生活紧密联系,因此解不可能是自变量互相紧挨的,如1,2,3,4,5,6,7这样的,进行分段取点有利于提高计算效率,也不必担心难以获得全局优解,因为在变异和遗传过程中肯定很快会出现大量的不均匀分布点。3.1导数法导数法是求取局部优解的一种有效方法。不妨假设样本连续,那么对于任意极小值Q,他们对于[x1,x2,x3,x4,x5,x6,x7]的导数都为0,也就是说将任意Xn变换为Xn+1,都不会使得Q[x1,x2,x3,x4,x5,x6,x7]变大。具体实现:对于任意一组解,保持x2,x3,x4,x5,x6,x7不变,对X1进行加1或减1的操作,直至Q对于X1的导数为0为止,接着对X2进行加1或减1的操作,依此类推,直至所有数均不变为止,移动过程中保持x1x2x3x4x5x6x7,可得局部优解。3.2遗传算法3.2.1适应度函数计算:(1)使用3次多项式拟合得到ij(2)使用3次样条插值得到ijQ即为所求适应度。3.2.2种群的基因型:种群的基因型即为7个特征点的顺序序列[x1,x2,x3,x4,x5,x6,x7]3.2.3选择操作:适应度大者生存3.2.4交叉操作:取两个父辈,将其基因沿中间任意一点切断,交叉获得子代。3.2.5变异操作见导数法3.2.6算法流程:jiijNKQ,2)/()(33.3遗传算法与导数法由于导数法的变异操作较为复杂,耗时长,获得解较优,为在较短的时间内获得优解,对遗传算法的父辈和代数大幅削减,只需个位数原始父辈和5代遗传即可获得较优解。4实验测试4.1遗传算法测试我们在种群数量为7,进化代数为5代时进行实验。由于取点收到分段限制,原始父辈也是由分段随机布点用导数法优化而来,父辈相差无几,Q值方差几乎为0,若改变父辈来源,可能产生一些不稳定的解,但效率可能会变低。表4-1遗传算法求得的优解拟合方法最优解Q值计算时间3次样条插值1615263647511.7656e-0043min3次拟合1417253342504.0561e-0041min5结论本算法往往是尚未遗传,仅仅是靠导数法获得较优父辈便在极短时间内得到最优解,这说明了导数法的效率是相当之高,而一些全局算法如遗传,退火效率较低,仅靠这些算法获得的解甚至不是局部最优,这说明在这种自变量较少的实际问题中,寻找局部优解是一种高效高速的可靠手段。表5-1最优解拟合方法最优解Q值计算时间3次样条插值1615263647511.7656e-0043min3次拟合1417253342504.0561e-0041min6致谢司梦维,石红霄等同学对程序的优化提出了一些建议,感谢他们47参考文献[1]统计推断课程ppt[2]遗传算法,百度百科,附件work文件夹在MATLAB中运行,数据在bs.xls中,主函数为bbbb,参数依次为数据(xlsread’bs.xls’),数据组数(380),遗传代数(5以下较好)
本文标题:统计推断-第273组(张波王芊)课程设计报告-new
链接地址:https://www.777doc.com/doc-2138875 .html