- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南 京 航 空 航 天 大 学
共 8 页 第 1 页
学院:航空宇航学院 姓名: 魏德宸
基于遗传算法优化多元多目标函数的MATLAB实现
0.引言
现实生活中的很多决策问题都要考虑同时优化若干个目标,而这些目标之间是彼此冲突,从所有可能的方案中找到最合理、最可靠的解决方案。遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的一种新的迭代的全局优化搜索算法,它使群体进化并行搜寻多个目标,并逐渐找到问题的最优解
1.问题描述
对于该问题,利用权重系数变换法很容易求出最优解,本题中确定f1和f2的权重系数都为0.5。
2.遗传算法
遗传算法的基本原理是通过作用于染色体上的基因寻找好的染色体来求解问题,它需要对算法所产生的每个染色体进行评价,并基于适应度值来选择染色体,使适应性好的染色体有更多的繁殖机会,在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗产操作后的个体集合形成下一代新的种群,对这个新的种群进行下一轮的进化。
2.2遗传算法的过程
初始化群体。
计算群体上每个个体的适应度值
由个体适应度值所决定的某个规则选择将进入下一代个体。
按概率Pc进行交叉操作。
按概率Pm进行变异操作。
没有满足某种停止条件,则转第2步,否则进入第7步。
输出种群中适应度值最优的染色体作为问题的满意解或最优界。
遗传算法过程图如图1:
图1 遗传算法过程图
3.遗传算法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返回。
3.4变异操作
为了产生子代,使用变异函数mut。子代再次由矩阵SelCh返回,变异概率缺省值PM=Px/Lind,并使用bs2rv,将个体的二进制编码转换为十进制编码。
3.5遗传算法性能跟踪
每次迭代后的最优解和均值存放在trace中,在后续的作图中可选择调用出来。
3.6图形绘制及函数值和自变量输出
使用plot函数绘出所建数学模型的最佳解及种群均值随迭代次数的变化曲线,并使用best属性使lengend标注位置处于最优位置。
使用矩阵翻转命令flipud及矩阵元素查找命令输出2个优化解及5个自变量。
4实验分析
改变种群数量等参数的实验结果对比。 表格横列2000-80表示参数设置为种群大小为2000,最大迭代次数80.竖列f1value、f2value和X1等分别表示函数值和自变量取值。
表1 参数改变最优化函数值及自变量取值
2000-80
2000-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
当参数设置为种群大小为2000,最大迭代次数80时,最佳解及种群均值随迭代次数的变化曲线如图3所示。
第一目标函数
第二目标函数
图2 种群大小为2000,最大迭代次数80变化曲线
当参数设置为种群大小为2000,最大迭代次数20时,最佳解及种群均值随迭代次数的变化曲线如图3所示。
第一目标函数
第二目标函数
您可能关注的文档
最近下载
- 青春期性教育男生教案.pptx
- 第2课《中国人首次进入自己的空间站》 统编版语文八年级上册.pptx VIP
- (完整版)涉密人员因私出国审查审批表.docx VIP
- 2014款雷克萨斯GX400_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 2024-2025学年小学地方、校本课程川教版可爱的四川教学设计合集.docx
- 介护老人护理.pptx VIP
- 生物安全柜检测.pptx VIP
- HIGEN 海坚FDA7000伺服驱动器用户手册.pdf
- DB64T 1967-2023 “互联网+城乡供水”数据规范.pdf VIP
- 化工总控工考试化工总控工初级试卷(化工总控工考试).doc VIP
文档评论(0)