遗传算法优化相关MATLAB算法实现(共4页).docx
《遗传算法优化相关MATLAB算法实现(共4页).docx》由会员分享,可在线阅读,更多相关《遗传算法优化相关MATLAB算法实现(共4页).docx(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上遗传算法1、案例背景遗传算法(Genetic Algorithm,GA)是一种进化算法,其基本原理是仿效生物界中的“物竞天择、适者生存”的演化法则。遗传算法的做法是把问题参数编码为染色体,再利用迭代的方式进行选择、交叉以及变异等运算来交换种群中染色体的信息,最终生成符合优化目标的染色体。在遗传算法中,染色体对应的是数据或数组,通常是由一维的串结构数据来表示,串上各个位置对应基因的取值。基因组成的串就是染色体,或者叫基因型个体( Individuals)。一定数量的个体组成了群体(Population)。群体中个体的数目称为群体大小(Population Size),也
2、叫群体规模。而各个个体对环境的适应程度叫做适应度( Fitness)。2、遗传算法中常用函数1) 创建种群函数crtbp2) 适应度计算函数ranking3) 选择函数select4) 交叉算子函数recombin5) 变异算子函数mut6) 选择函数reins7) 实用函数bs2rv8) 实用函数rep3、主程序:1. 简单一元函数优化:clcclear allclose all% 画出函数图figure(1);hold on;lb=1;ub=2; %函数自变量范围【1,2】ezplot(sin(10*pi*X)/X,lb,ub); %画出函数曲线xlabel(自变量/X)ylabel(函数
3、值/Y)% 定义遗传算法参数NIND=40; %个体数目MAXGEN=20; %最大遗传代数PRECI=20; %变量的二进制位数GGAP=0.95; %代沟px=0.7; %交叉概率pm=0.01; %变异概率trace=zeros(2,MAXGEN); %寻优结果的初始值FieldD=PRECI;lb;ub;1;0;1;1; %区域描述器Chrom=crtbp(NIND,PRECI); %初始种群% 优化gen=0; %代计数器X=bs2rv(Chrom,FieldD); %计算初始种群的十进制转换ObjV=sin(10*pi*X)./X; %计算目标函数值while genMAXGENF
4、itnV=ranking(ObjV); %分配适应度值SelCh=select(sus,Chrom,FitnV,GGAP); %选择SelCh=recombin(xovsp,SelCh,px); %重组SelCh=mut(SelCh,pm); %变异X=bs2rv(SelCh,FieldD); %子代个体的十进制转换ObjVSel=sin(10*pi*X)./X; %计算子代的目标函数值Chrom,ObjV=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); %重插入子代到父代,得到新种群X=bs2rv(Chrom,FieldD);gen=gen+1; %代计数器增加%获
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 优化 相关 MATLAB 实现
限制150内