您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 南京航空航天大学matlab智能算法大作业
1南京航空航天大学研究生课程考试答题纸共8页第1页2013-–2014学年第1学期《计算智能技术的MATLAB实现》课程考试日期:2013年12月28日课程编号:f013036学院:学号姓名成绩1.最好结合自己的课题,提取其科学问题并建立其数学模型或选择一数学问题,任意选择一种智能算法进行求解。要求论述清楚你所选择的科学问题(或数学问题)及所选择的智能算法的控制参数(若选择遗传算法求解,控制参数包括适应度函数形式、最大遗传代数参考值、交叉率、变异率、代沟、插入概率、子种群个数、迁移率等;若选择二进制编码,要说明自变量取值范围及取值要求精确到小数点后几位,如何确定二进制编码位数;要求必须使用适应度排序和子代插入命令;要求绘出所建数学模型的最佳解及种群均值随迭代次数的变化曲线;输出函数的极值及对应的自变量取值;)若所建的数学模型有显函数形式,需绘出该函数图像;要求尽可能发挥自己的想像力和创造力,提出新问题、新解法,若问题过于复杂,无法写出目标函数求解过程中的一些中间量,可略去其过程,论述清楚你所选择的其它辅助软件或工具的功能及其与智能算法程序的连接思想或方法即可;具体要求在大作业中有问题描述和理论分析、图像或曲线、结果输出、程序源代码等,并提交电子版,任何人的程序不得重复,否则按不及格论处!!!基于遗传算法优化多元多目标函数的MATLAB实现0.引言现实生活中的很多决策问题都要考虑同时优化若干个目标,而这些目标之间有时是彼此约束,甚至相互冲突,这样就需要从所有可能的方案中找到最合理、最可靠的解决方案。而遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的一种新的迭代的全局优化搜索算法,它能够使群体进化并行搜寻多个目标,并逐渐找到问题的最优解。1.问题描述变量维数为5,含有2个优化目标的多目标优化问题表达式如下对于该问题,利用权重系数变换法很容易求出最优解,本题中确定f1和f2的权重系数都为0.5。2.遗传算法2.1遗传算法简述2遗传算法的基本原理是通过作用于染色体上的基因寻找好的染色体来求解问题,它需要对算法所产生的每个染色体进行评价,并基于适应度值来选择染色体,使适应性好的染色体有更多的繁殖机会,在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗产操作后的个体集合形成下一代新的种群,对这个新的种群进行下一轮的进化。2.2遗传算法的过程遗传算法的基本过程是:1.初始化群体。2.计算群体上每个个体的适应度值3.由个体适应度值所决定的某个规则选择将进入下一代个体。4.按概率Pc进行交叉操作。5.按概率Pm进行变异操作。6.没有满足某种停止条件,则转第2步,否则进入第7步。7.输出种群中适应度值最优的染色体作为问题的满意解或最优界。8.遗传算法过程图如图1:图1遗传算法过程图33.遗传算法MATLAB代码实现本题中控制参数如下:(1)适应度函数形式FitnV=ranking(ObjV)为基于排序的适应度分配。(2)交叉概率取为一般情况下的0.7,变异概率取其默认值.(3)个体数目分别为2000和100以用于比较对结果的影响。(4)最大遗传代数参考值分别为80和20.(5)因含有5个未知数,故变量维数为5.(6)因取值范围较小,变量的二进制数目为20.(7)代沟设置为0.9.3.1初始化及其他准备工作区域描述器FieldD描述染色体的表示和解释,每个格雷码采用20位二进制。5个变量的区间和边界定义如上述所示。3.2计算适应度值计算适应度值是由根据程序FitnV=ranking(ObjV)来实现的,对这个等级评定算法的缺省设置时选择压差为2和使用线性评估,给最适应个体的适应度值为2,最差个体的适应度值为0,适应度值结果由向量FitnV返回。3.3选择、交叉操作选择层使用高级函数选择调用低级函数随机遍历抽样例程sus,SelCh中的个体使用高级函数recombine进行重组,使个体通过SelCh被选择再生产,并使用单点交叉例程xovsp,使用交叉概率Px=0.7进行执行并交叉。交叉后的子代被同一个矩阵SelCh返回。43.4变异操作为了产生子代,使用变异函数mut。子代再次由矩阵SelCh返回,变异概率缺省值PM=Px/Lind,并使用bs2rv,将个体的二进制编码转换为十进制编码。3.5遗传算法性能跟踪每次迭代后的最优解和均值存放在trace中,在后续的作图中可选择调用出来。3.6图形绘制及函数值和自变量输出使用plot函数绘出所建数学模型的最佳解及种群均值随迭代次数的变化曲线,并使用best属性使lengend标注位置处于最优位置。使用矩阵翻转命令flipud及矩阵元素查找命令输出2个优化解及5个自变量。564实验分析改变种群数量等参数的实验结果对比。表格横列2000-80表示参数设置为种群大小为2000,最大迭代次数80.竖列f1value、f2value和X1等分别表示函数值和自变量取值。表1参数改变最优化函数值及自变量取值2000-802000-20100-80100-20f1value20.091420.334320.96823.8958f2value4.63314.62054.80234.7151X13.99613.96553.99583.474X21.01321.00551.06311.0388X32.01672.45962.00122.3256X42.00735.15992.00794.5378X53.00013.01643.00023.0079当参数设置为种群大小为2000,最大迭代次数80时,最佳解及种群均值随迭代次数的变化曲线如图3所示。第一目标函数第二目标函数图2种群大小为2000,最大迭代次数80变化曲线7当参数设置为种群大小为2000,最大迭代次数20时,最佳解及种群均值随迭代次数的变化曲线如图3所示。第一目标函数第二目标函数图3种群大小为2000,最大迭代次数20变化曲线当参数设置为种群大小为100,最大迭代次数80时,最佳解及种群均值随迭代次数的变化曲线如图3所示。第一目标函数第二目标函数图4种群大小为100,最大迭代次数80变化曲线8当参数设置为种群大小为100,最大迭代次数20时,最佳解及种群均值随迭代次数的变化曲线如图3所示。第一目标函数第二目标函数图5种群大小为100,最大迭代次数20变化曲线种群大小2000,最大迭代次数80时,各自变量取值如图6所示。可看出各变量的变化较为稳定,即可知收敛性较好,应为最优解。图65维自变量变化曲线4.2结果分析(1)因本体优化目标并不太复杂,故交叉概率取为较一般的0.7,变异概率也采用默认值,避免太多的无谓改变。曲线在一开始的几次迭代后迅速下降,但到了一定值后,曲线则变得平缓,说明收敛速度较快,交叉和遗传概率满足优化要求。(2)种群规模的大小和迭代次数的多少对结果的影响是较大的。主要表现在种群规模较小或迭代次数较少时,其结果较最优解偏差较大。由于计算机性能的不断提高,在速度要求不高时可选择较大种群和较多迭代次数已确保结果的最优化。(3)由自变量变化曲线可看出,在交叉和变异概率选取适当的前提下,种群大小2000,最大迭代次数80时,各自变量变化较为稳定,说明最优解已基本收敛。
本文标题:南京航空航天大学matlab智能算法大作业
链接地址:https://www.777doc.com/doc-2596283 .html