版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一 遗传算法的基本原理遗传算法是模拟生物遗传学和自然选择机理, 通过人工方式构造的一类优化搜索算法, 是对生物进化过程进行的一种数学仿真, 是进化计算的一种重要形式。 其搜索过程是从问题解的一个随机产生的集合开始的,而不是从单个个体开始的,具有隐含并行搜索特性,也就大大减少可陷入局部极小值的可能。 在解决可能在求解过程中产生组合爆炸的问题时会产生很好的效果。遗传算法需选择一种合适的编码方式表示解, 并选择一种评价函数用来每个解的适应值, 适应值高的解更容易被选中并进行交叉和变异 , 然后产生新的子代。 选择、 交叉和变异的过程一直循环, 直到求得满意解或满足其他终止条件为止。本例运用遗传算法求
2、解函数f(x)=xA2, x6 0, 31上的整数,的最大值。首先随机选择五位二进制编码,设定初始种群个数为4 ,产生初始种群。随后确定适配度,本例就是目标值。然后根据适配值的大小,按照一定的概率进行复制。连续10代最大值结果保持一致,则遗传算法结束运行。二 Matlab 程序运行结果:由运行结果可以看出, 经过 2 代以后, 遗传算法的结果达到最优。au =2工圮在白勺不中Ml = I1111uu142 =1O1oiH3 =111ima =11111MclNI -9 61>>Matlab程序如下:%* 遗传算法主程序 *clearclctotal=1;%总的进化代数Num=0;M
3、aN1=0;MaN2=0;flag=0;N1=initialize();N2=initialize();N3=initialize();N4=initialize();% 复制while 1while 1DecN1=BinT oDec(N1);% 计算适配度DecN2=BinT oDec(N2);DecN3=BinT oDec(N3);DecN4=BinT oDec(N4);f1=DecN1A2;f2=DecN2A2;f3=DecN3A2;f4=DecN4A2;ttt=f1,f2,f3,f4;if flag=0MaN1=max(ttt);elseMaN2=max(ttt);endif MaN1
4、=MaN2Num=Num+1;elseNum=0;endsum=f1+f2+f3+f4;aver=sum/4;n1=round(f1/aver);% 实际得到的复制个数n2=round(f2/aver);n3=round(f3/aver);n4=round(f4/aver);N=n1+n2+n3+n4;% 总的复制个数if N=4N1=initialize();N2=initialize();N3=initialize();N4=initialize();total=1;Num=0;MaN1=0;MaN2=0;flag=0;continue;elsebreak;endendtemp1=cal(
5、N1,n1);temp2=cal(N2,n2);temp3=cal(N3,n3);temp4=cal(N4,n4);M=temp1;temp2;temp3;temp4;N1=M(1,:);N2=M(2,:);N3=M(3,:);N4=M(4,:);% 交叉while 1p=floor(1000*rand);if p>1break;elsecontinue;endendk=mod(p,3);switch kcase 0N1,N2,N3,N4,ps=crossover(N1,N2,N3,N4);case 1N1,N2,N3,N4,ps=crossover(N1,N3,N2,N4);case
6、2N1,N2,N3,N4,ps=crossover(N1,N4,N2,N3);end% 变异U= N1,N2,N3,N4pos=mod(floor(1000*rand),20)+1;if U(1,pos)=0U(1,pos)=1;elseU(1,pos)=0;endN1=U(1,1:5);N2=U(1,6:10);N3=U(1,11:15);N4=U(1,16:20);% 遗传算法结束条件:连续10 代最大值均保持一致if Num=10disp(' 进化代数: ')total-10disp(' 现在的种群: ')N1N2N3N4disp(' 最大值: &
7、#39;)MaN1break;endflag=mod(flag+1,2);total=total+1;end子程序 1 : initialize.mfunctionX=initialize()X=zeros(1,5);for j=1:5X(1,j)=round(rand);end子程序 2 : BinT oDec.mfunction sum=BinT oDec(X) sum=0;for i=5:-1:1sum=sum+X(1,i)*2A(5-i);end子程序 3 : cal.mfunctiontemp=cal(X,n)temp=zeros(n,5);for i=1:ntemp(i,:)=X;子程序 4 : crossover.mfunctionA1,A2,A3,A4,position=crossover(t1,t2,t3,t4)while 1p=floor(1000*rand);if p>1break;elsecontinue;endendposition=mod(p,4)+1;A1=t1(1:position),t2(pos
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 说课心得体会
- 2022-2023学年七年级语文上学期期末考试试题汇编:词语运用
- 浙江省台州市山海协作体2024-2025学年高二上学期期中联考 化学试题(含答案)
- 山东名校考试联盟2024-2025学年上学期期中检测 高三历史试题(无答案)
- 广西壮族自治区玉林市玉州区南江镇中心小学2024-2025学年五年级上册期中英语试题(无答案)
- 第4单元 比-单元素养测评(2)-2024-2025学年数学人教版六年级上册(含答案解析)
- 浙江地区高考语文五年高考真题汇编名篇名句默写
- 2025年高考化学总复习试题分类训练:金属有关的工艺流程(解析卷)
- 幼儿园厨师长期劳动合同
- 国家战略合作意向书
- 社区的治安状况调查报告
- 诈骗控告书模板
- 《多边形的面积》单元整体教学设计(课件)五年级上册数学人教版
- 500万羽智能化蛋鸡养殖项目可行性研究报告-立项备案
- 放弃父母的财产的协议书
- 《韩非子·五蠹》课件
- 公司危险源辨识与风险评价及控制措施清单
- 语文教学中如何进行分组教学
- 香港2023年国家开发银行香港分行社会招聘考试参考题库含答案详解
- Chinese Tea 中国茶文化 中英文
- 《如何在初中体育大单元教学中更好的落实“教会”“勤练”“常赛”》 论文
评论
0/150
提交评论