MATLAB遗传算法作业(共10页).docx
《MATLAB遗传算法作业(共10页).docx》由会员分享,可在线阅读,更多相关《MATLAB遗传算法作业(共10页).docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上MATLAB遗传算法一:遗传算法简介:遗传(Genetic)是一类借鉴生物界的进化规律(,遗传机制)演化而来的化搜索方法。它是由的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用化的寻优方法,能自动获取和优化的搜索,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于优化、机器学习、信号处理、和人工生命等。它是现代有关中的。二:遗传算法的基本步骤 a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。
2、 b)个体评价:计算群体P(t)中各个个体的。 c):将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的评估基础上的。 d)交叉运算:将交叉算子作用于群体。遗传算法中起核心作用的就是交叉算子。 e):将变异算子作用于群体。即是对群体中的个体串的某些上的基因值作变动。 群体P(t)经过选择、交叉、之后得到下一代群体P(t+1)。 f)终止条件判断:若t=T,则以进化过程中所得到的具有最大个体作为输出,终止计算。三:matlab实现 例子:f(x)=10*sin(5x)+7*cos(4x) x0,10 将变量域 0,
3、10 离散化为二值域 0,1023, x=0+10*b/1023。1.初始化initpop.mfunction pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength); % rand随机产生每个单元为0或者1 行数(种群数量)为popsize,列数为chromlength(个体所含基因数)的矩阵, 2. 计算目标函数值2.1 将二进制数转化为十进制数(1)decodebinary.m %产生 2n 2(n-1) . 1 的行向量,然后求和,将二进制转化为十进制 function pop2=decodebinary
4、(pop)px,py=size(pop) %Pop的行和列数for i=1:px pop2(i)=0 for j=1:py pop2(i)=pop2(i)+2.(py-j)*pop(i,j) endend2.2 将二进制编码转化为十进制数(2) Decodechrom.m%函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的起始位置 function pop2=decodechrom(pop,spoint,length)pop1=pop(:,spoint:spoint+length-1)%pop1取pop的第spoint列到spoint+length-1列为
5、止pop2=decodebinary(pop1)2.2.3 计算目标函数值 % calobjvalue.m函数的功能是实现目标函数的计算function objvalue = calobjvalue(pop) temp1=decodechrom(pop,1,10)%将pop每行转换成十进制 x=temp1*10/1023%将二值域中的数转化为变量域的数 objvalue=10*sin(5*x)+7*cos(4*x)%变量域是从1到10 m=max(objvalue) b=0 for i=1:100 if objvalue(i)=m b=b+1 end end figure fplot(10*s
6、in(5*x)+7*cos(4*x),0 10) hold on plot(x,objvalue,or) xlabel(sprintf(%2d,b) grid on3 计算个体的适应值calfitvalue.m %计算个体的适应值 function fitvalue=calfitvalue(objvalue) px,py=size(objvalue) for i=1:py if objvalue(i)0; temp=objvalue(i) else temp=0.0 end fitvalue(i)=temp End4 选择复制selection.m % 根据方程 pi=fi/fi=fi/fsu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 遗传 算法 作业 10
限制150内