研究应用生作业_基于遗传算法优化多元多目标函数的MATLAB实现.doc

研究应用生作业_基于遗传算法优化多元多目标函数的MATLAB实现.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南 京 航 空 航 天 大 学 共 8 页 第 1 页 学院:航空宇航学院 姓名: 魏德宸 基于遗传算法优化多元多目标函数MATLAB实现 0.引言 现实生活中很多决议问题全部要考虑同时优化若干个目标,而这些目标之间有时是相互约束,甚至相互冲突,这么就需要从全部可能方案中找到最合理、最可靠处理方案。而遗传算法是模拟达尔文遗传选择和自然淘汰生物进化过程一个新迭代全局优化搜索算法,它能够使群体进化并行搜寻多个目标,并逐步找到问题最优解。 1.问题描述 变量维数为5,含有2个优化目标多目标优化问题表示式以下 min 对于该问题,利用权重系数变换法很轻易求出最优解,本题中确定f1 QUOTE f1 和f2 QUOTE f2 权重系数全部为0.5。 2.遗传算法 2.1遗传算法简述 遗传算法基础原理是经过作用于染色体上基因寻求好染色体来求解问题,它需要对算法所产生每个染色体进行评价,并基于适应度值来选择染色体,使适应性好染色体有更多繁殖机会,在遗传算法中,经过随机方法产生若干个所求解问题数字编码,即染色体,形成初始种群;经过适应度函数给每个个体一个数值评价,淘汰低适应度个体,选择高适应度个体参与遗传操作,经过遗产操作后个体集合形成下一代新种群,对这个新种群进行下一轮进化。 2.2遗传算法过程 遗传算法基础过程是: 初始化群体。 计算群体上每个个体适应度值 由个体适应度值所决定某个规则选择将进入下一代个体。 按概率Pc进行交叉操作。 按概率Pm进行变异操作。 没有满足某种停止条件,则转第2步,不然进入第7步。 输出种群中适应度值最优染色体作为问题满意解或最优界。 遗传算法过程图图1: 图1 遗传算法过程图 3.遗传算法MATLAB代码实现 本题中控制参数以下: (1)适应度函数形式FitnV=ranking(ObjV)为基于排序适应度分配。 (2)交叉概率取为通常情况下0.7,变异概率取其默认值. (3)个体数目分别为 和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返回。 3.4变异操作 为了产生子代,使用变异函数mut。子代再次由矩阵SelCh返回,变异概率缺省值PM=Px/Lind,并使用bs2rv,将个体二进制编码转换为十进制编码。 3.5遗传算法性能跟踪 每次迭代后最优解和均值存放在trace中,在后续作图中可选择调用出来。 3.6图形绘制及函数值和自变量输出 使用plot函数绘出所建数学模型最好解及种群均值随迭代次数改变曲线,并使用best属性使lengend标注位置处于最优位置。 使用矩阵翻转命令flipud及矩阵元素查找命令输出2个优化解及5个自变量。 4试验分析 改变种群数量等参数试验结果对比。 表格横列 -80表示参数设置为种群大小为 ,最大迭代次数80.竖列f1value、f2value和X1等分别表示函数值和自变量取值。 表1 参数改变最优化函数值及自变量取值 -80 -20 100-80 100-20 f1value 20.0914 20.3343 20.968 23.8958 f2value 4.6331 4.6205 4.8023 4.7151 X1 3.9961 3.9655 3.9958 3.474 X2 1.0132 1.0055 1.0631 1.0388 X3 2.0167 2.4596 2.0012 2.3256 X4 2.0073 5.1599 2.0079 4.5378 X5 3.0001 3.0164 3.0002 3.0079 当参数设置为种群大小为 ,最大迭代次数80时,最好解及种群均值随迭代次数改变曲线图3所表示。 第一目标函数 第二目标函数 图2 种群大小为 ,最大迭代次数80改变曲线 当参数设置为种群大小为 ,最大迭代次数20时,最好解及种群均值随迭代次数改变曲线图3所

文档评论(0)

173****6081 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档