张鹏遗传算法作业

张鹏遗传算法作业

ID:41735940

大小:269.32 KB

页数:11页

时间:2019-08-31

张鹏遗传算法作业_第1页
张鹏遗传算法作业_第2页
张鹏遗传算法作业_第3页
张鹏遗传算法作业_第4页
张鹏遗传算法作业_第5页
资源描述:

《张鹏遗传算法作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、遗传算法程序设计报告张鹏学号:01201102060918一设计目的本文主要是应用遗传算法中的GA方法,求解函数的极值,最终采用MATLAB仿真软件对GA遗传算法进行程序编写,从理论和仿真两方面来理解GA遗传算法。二设计过程设计从了解GA遗传算法的理论,设计自己的编程思路,画出流程图,最后进行程序的编写。1•函数的极值考虑函数/(兀巧=sin紙兀一3))sin紙丁一3))加x_3)xg[0,8],ye[0,8]求其极大值。首先初始种群的选择是在定义域随机产生;其次釆用GA算法中的轮盘选择法进行选择染色体进行复制;再次进行二进制编码,随机产生交叉点,采取单点交叉方法

2、,将这一代的染色体随机的进行不重复的两两交叉,产生子代;最后根据变异的概率对染色体进行变异,例如有两个位需要变异的话,就随机选出两个染色体分别对其中每一个染色体的随机某一个二进制位进行选择。在编写程序从两大方而入手,一是整体的遗传变异过程,另一个则是对染色体编码时对小数的二进制编码,本文是整数部分为3位二进制数,小数部分为5位二进制数。两个函数最后嵌套到一起得到设计的最终结果。三设计结果求解函数极大值遗传代数与最大值得关系为图一,函数值分布的三维结果图(见图二、三)。图一遗传代数与极值变化关系张鹏遗传算法作业三维surf图864DC50.2O80.6图二自变量与函

3、数值surf三维效果图张鹏遗传算法作业三维mesh®642O8ooO型冢9IJL-yoo图三自变量与函数值mesh三维效果图四设计结论及心得在设计初次编程序话三维过程中,出现了阶梯层叠复杂的三维图,经过尝试将x,y取值在遗传过程出现的相同值去掉,画出的三维效果图较平滑。通过对GA遗传算法的编写,更加了解了遗传算法的应用,由于临近期末复习,并没有对其与其他控制方法相结合的程序进行编写,但进行了思想的设计,等考完试争取将其程序编写出来。与BP相结合对系统进行控制,一是修改初始权值,二是修改隐层结点数,以BP神经控制达到平稳的次数作为适应值,或者以期望值与实际输岀值平稳

4、的误差大小来作为适应值两种情况。对于这种想法并没有用程序实现,并不知道设计的结果是否有利于优化BP神经网络的控制结果。等考完试会加以实践的尝试,请老师谅解。附录一functionGACS%UNTITLEDSummaryofthisfunctiongoeshere%Detailedexplanationgoeshere%p表示适应度百分数;L系列表示任何不保留数据P=0;%P表示适应度之和丁表示函数值;M表示复制数%nx表示x的总个数%ny表示y的总个数%1系列是i系列的保留变量组11=0;12=0;MAX2R=0;N=20;%表示每一代染色体数nl=3;%表示生成

5、二进制数整数的位数n2=5;%表示生成二进制数小数的位数N1=15;%表示遗传的代数Rstx=0:0.001:8;%x的值Rsty二0:0.001:8;%y的值nx=length(Rstx);ny=length(Rsty);Rstxnx=Rstx(randperm(nx));%对x排序Rstyny=Rsty(randperm(ny));%对y排序PB=0.01;%变异的概率Ml=(nl+n2)*N;%M1表示染色体总的二进制位数XMAX2R=1:1:N1;%ml表示变异的位置%选择初始种群fori=l:Nssx(i)=Rstxnx(i);ssy(i)=Rstyny

6、(i);endx=ssx;y=ssy;%选择结束forj=l:Nl%计算适应度r=f(x,y);xx(j,:)=x;yy(i,:)=y;R(j,:)=「;U2R=R(j,:);nU2R=length(U2R);forui=l:l:nU2R讦MAX2R>U2R(ui)MAX2R=MAX2R;elseMAX2R=U2R(ui);endendYMAX2R(j)=MAX2R;%适应值计算完毕,计算相应百分数得到转轮fori=l:l:NP=r(i)+P;endfori=l:l:NP(i)=r(i)/P;M(i)=round(N*p(i));end%转轮结束%选择,复制开始%

7、被化简的程序fori=l:l:Nforil=l:l:NswitchM(i)caseilIl=il;fori2=l:l:Ilssx(I2+i2)=x⑴;ssy(I2+i2)=y(i);endbreakendendI2=length(ssx);end%选择,复制结束%单点交叉开始Rssx=ssx(randperm(N));Rssy=ssy(randperm(N));forii=l:l:NRstJssx2(ii)=ZPTTo2B1(Rssx(ii),n1,n2);RstJssy2(ii)=ZPTTo2Bl(Rssy(ii),n1,n2);end%制作掩码L=l:l:nl

8、+n2-l

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。