遗传算法简单一元函数优化实例

遗传算法简单一元函数优化实例

ID:13596276

大小:20.85 KB

页数:4页

时间:2018-07-23

遗传算法简单一元函数优化实例_第1页
遗传算法简单一元函数优化实例_第2页
遗传算法简单一元函数优化实例_第3页
遗传算法简单一元函数优化实例_第4页
资源描述:

《遗传算法简单一元函数优化实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.遗传算法简单一元函数优化实例利用遗传算法计算最大值f(x)=xsin(10*pi*x)+2,    xin[-1,2]选择二进制编码,种群中个体数目为40,每个种群的长度为20,使用代沟为0.9,最大遗传代数为25。下面为一元函数优化问题的MATLAB代码figure(1);fplot('variable.*sin(10*pi*variable)+2.0',[-1,2]);   %画出函数曲线%定义遗传算法参数NIND=40;        %个体数目(Numberofindividuals)MAXGEN=25;      %最大遗传代数(Maxim

2、umnumberofgenerations)PRECI=20;       %变量的二进制位数(Precisionofvariables)GGAP=0.9;       %代沟(Generationgap)trace=zeros(2,MAXGEN);                        %寻优结果的初始值FieldD=[20;-1;2;1;0;1;1];                      %区域描述器(Buildfielddescriptor)Chrom=crtbp(NIND,PRECI);                      %

3、初始种群gen=0;                                         %代计数器variable=bs2rv(Chrom,FieldD);                 %计算初始种群的十进制转换ObjV=variable.*sin(10*pi*variable)+2.0;        %计算目标函数值whilegen

4、  SelCh=select('sus',Chrom,FitnV,GGAP);               %选择   SelCh=recombin('xovsp',SelCh,0.7);                   %重组   SelCh=mut(SelCh);                                      %变异   variable=bs2rv(SelCh,FieldD);                         %子代个体的十进制转换   ObjVSel=variable.*sin(10*pi*vari

5、able)+2.0;             %计算子代的目标函数值   [ChromObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);%重插入子代的新种群   variable=bs2rv(Chrom,FieldD);   gen=gen+1;                                             %代计数器增加   %输出最优解及其序号,并在目标函数图像中标出,Y为最优解,I为种群的序号   [Y,I]=max(ObjV);holdon;   plot(variable(I),Y,'

6、bo');   trace(1,gen)=max(ObjV);                               %遗传算法性能跟踪   trace(2,gen)=sum(ObjV)/length(ObjV);endvariable=bs2rv(Chrom,FieldD);                            %最优个体的十进制转换holdon,grid;plot(variable,ObjV,'b*');figure(2);plot(trace(1,:));holdon;plot(trace(2,:),'-.');gridle

7、gend('解的变化','种群均值的变化')基于排序的适应度分配计算由程序段FitnV=ranking(-ObjV)实现,这里的评定算法假设目标函数是最小化的,所以ObjV前加了个负号,使目标函数最大化,适应度值结果由向量FitnV返回。2.matlab遗传算法工具箱函数及实例讲解核心函数:(1)function[pop]=initializega(num,bounds,eevalFN,eevalOps,options)--初始种群的生成函数【输出参数】   pop--生成的初始种群【输入参数】   num--种群中的个体数目   bounds--代表变

8、量的上下界的矩阵   eevalFN--适应度函数   eevalOps--传递

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

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

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