网站大量收购独家精品文档,联系QQ:2885784924

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

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

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
欢迎下载 欢迎下载 PAGE # 南京航空航天大学 共8 页 第1页 学院:航空宇航学院 姓名:魏德宸 基于遗传算法优化多元多目标函数的 MATLA实现 0.引言 现实生活中的很多决策问题都要考虑同时优化若干个目标 ,而这些目标之间有时是彼此约束, 甚至相互冲突,这样就需要从所有可能的方案中找到最合理、最可靠的解决方案。而遗传算法是模 拟达尔文的遗传选择和自然淘汰的生物进化过程的一种新的迭代的全局优化搜索算法 ,它能够使 群体进化并行搜寻多个目标,并逐渐找到问题的最优解。 问题描述 变量维数为5,含有2个优化目标的多目标优化问题表达式如下 ( mm tj min = si4- c;os(4xI) + 2x5 对于该问题,利用权重系数变换法很容易求出最优解, 本题中确定fi和f2的权重系数都为0.5。 遗传算法 2.1遗传算法简述 遗传算法的基本原理是通过作用于染色体上的基因寻找好的染色体来求解问题,它需要对算 法所产生的每个染色体进行评价,并基于适应度值来选择染色体,使适应性好的染色体有更多的 繁殖机会,在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初 始种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体 参加遗传操作,经过遗产操作后的个体集合形成下一代新的种群,对这个新的种群进行下一轮的 进化。 2.2遗传算法的过程 遗传算法的基本过程是: 初始化群体。 计算群体上每个个体的适应度值 由个体适应度值所决定的某个规则选择将进入下一代个体。 按概率Pc进行交叉操作。 按概率Pm进行变异操作。 没有满足某种停止条件,则转第 2步,否则进入第7步。 输出种群中适应度值最优的染色体作为问题的满意解或最优界。 遗传算法过程图如图 1 : ;耳j v尸龙坊卫f吒nr f卜 C 卒亠二 图1遗传算法过程图 遗传算法MATLAB^码实现 本题中控制参数如下: (1) 适应度函数形式 Fit nV=ra nkin g(ObjV) 为基于排序的适应度分配。 (2) 交叉概率取为一般情况下的 0.7,变异概率取其默认值. (3) 个体数目分别为 2000和100以用于比较对结果的影响。 (4) 最大遗传代数参考值分别为 80和20. (5) 因含有5个未知数,故变量维数为 5. (6) 因取值范围较小,变量的二进制数目为 20. (7) 代沟设置为0.9. 3.1初始化及其他准备工作 磐爲目相齡北眦帧,2目fir可罷 碇熾传彩敷 nind=20O; 曲目 网遊皿; 他叫; pre:i=20; 醪冋g; 蹄 tracft]=[ ]: traced [ ];trace[]; FieLdJ=[rBptIpreci]s [1;汕皱罰」训血【1;D;I;1L【血扯】)】. Chr^crthotiiir.d, nnrtpreci): rts2nithn?j Field?); 区域描述器FieldD描述染色体的表示和解释, 每个格雷码采用20位二进制。5个变量的区间 和边界定义如上述所示。 3.2计算适应度值 计算适应度值是由根据程序 FitnV=ranking(ObjV) 来实现的,对这个等级评定算法的缺省设置 时选择压差为2和使用线性评估,给最适应个体的适应度值为 2,最差个体的适应度值为 0,适应 度值结果由向量Fit nV返回。 [nindj N]=sizefthronl, F=fiE(nin4/2); ObjT^fKvU:^ :)); 请红后第一目标函数值 Fit nV 1=ranking (Qbj7l); 适应康値 3.3选择、交叉操作 选择层使用高级函数选择调用低级函数随机遍历抽样例程 sus,SelCh中的个体使用高级函数 recombine进行重组,使个体通过 SelCh被选择再生产,并使用单点交叉例程 xovsp,使用交叉概 率Px=0.7进行执行并交叉。交叉后的子代被同一个矩阵 SelCh返回。 SelCh2=,select C Ch.rcunmind, :),FitnV2, fgap); 35选择 SeLCh= [SelChl; SelCh2]; %合并 5eLCh=recouibin(,K^vsp s SelCH 7), 乂重组 3.4变异操作 为了产生子代,使用变异函数mut。子代再次由矩阵SelCh返回,变异概率缺省值PM=Px/Lind, 并使用bs2rv,将个体的二进制编码转换为十进制编码。 Chron^nut CSelCh^ ; v=b.s2rv(ChroiRj FieldD), 3.5遗传算法性能跟踪 每次迭代后的最优解和均值存放在 trace中,在后续的作图中可选择调用出来。 址載(艸」)=血询住1⑹): 黑適传里祛性能追踪 tracl_(gen, 2)

文档评论(0)

157****5685 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档