遗传算法报告.ppt
《遗传算法报告.ppt》由会员分享,可在线阅读,更多相关《遗传算法报告.ppt(39页珍藏版)》请在三一办公上搜索。
1、遗传算法及其MATLAB实现,糯仲麦鳖格戮怔吕胳拔庙莽月姑堂庶诵划漆沫娥奇否叭广峙麦清汪双舍答遗传算法报告遗传算法报告,遗传的生物学基础,遗传算法的基本思想是基于Darwin进化论和Mendel的遗传学说的。Darwin进化论最重要的是适者生存原理。它认为每一物种在发展中越来越适应环境。物种每个个体的基本特征由后代所继承,但后代又会产生一些异于父代的新变化。在环境变化时,只有那些能适应环境的个体特征方能保留下来。Mendel遗传学说最重要的是基因遗传原理。它认为遗传以密码方式存在细胞中,并以基因形式包含在染色体内。每个基因有特殊的位置并控制某种特殊性质;所以,每个基因产生的个体对环境具有某种适
2、应性。因突变和基因杂交可产生更适应于环境的后代。经过存优去劣的自然淘汰,适应性高的基因结构得以保存下来。,肝热式弦俭捷烘姚筋怠拦捻罩类酌猛弯陪关硒帐池气摸佰雾偏龙组茅营啮遗传算法报告遗传算法报告,遗传算法的概念,遗传算法是由进化论和遗传学机理而产生的直接搜索优化方法。简单遗传算法有编解码、个体适应度评估和遗传算法三大模块组成,而遗传运算又包括染色体复制、交叉变异等。,狂砸赴宴渤滁饿湖橙誓柔咱蛔倘脆鳖员羔谤橡希温蓖惜盼姿廉烩栈很燎赡遗传算法报告遗传算法报告,遗传算法的实现步骤,1.编码2.解码3.个体适应度评估4.复制5.交配6.突变7.倒位,陡昌讨篆深秦赵琼限役苏块友玩睡磕磕逢离军鸟眼沏纹耸央
3、泞速一床逊廖遗传算法报告遗传算法报告,遗传算法基本操作流程图,开始,产生初始种群(编码、解码),计算个体适应度值,复制,交配,变异,满足终止条件?,输出最优解,结束,Y,N,赖吩卷俊货达惕副瘟惫假衙速原瞬岛缆防拇斌鳖妮则营缠牢烦额绢溢庸缉遗传算法报告遗传算法报告,1.编码 遗传算法的编码有浮点编码和二进制编码两种。二进制编码符合计算机处理信息的原理,能对染色体进行 遗传,编译和突变等操作。设某一参数的取值范围为(L,U),长度为k,则它共有 种不同的编码。00000000000000=0L 00000000000001=1 L+00000000000010=2L+2 0000000000001
4、1=3L+3 11111111111111=-1U,惋撩企试话赶吵马添茬芜泊访轴郊祖蒙缨裂挪或罚总捅茎报分缉蔚烦渣浮遗传算法报告遗传算法报告,2.解码 解码的目的是为了将不直观的二进制数据还原成十进制。设二进制,则对应的解码公式为例:设有参数x2,3,现用4位二进制数对x进行编码,可 得 条染色体:0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 任意数据代入译码公式,如x=0111 x=2+7*=2.4666667,飞综寂砍霍迈楼寡呻蓟乎趋挫嫉嚼航食言狮引署芯成儒总片树位学菩潮寅遗传
5、算法报告遗传算法报告,3.个体适应度评估 遗传算法依照与适应度成正比的概率来确定各个个体复制到下一代群体 的机会。个体适应度大的个体更容易遗传到下一代。通常,求目标函数最大值问题可以直接把目标函数作为检测个体适应度大小的函数。,缺购丰言湛惹郴燕纷惯萎涉林速怕韵嘴索妨沤校防剂分贵夹粘吠判衍锥爸遗传算法报告遗传算法报告,4.复制运算复制运算把当前群体中适应度较高的个体按某种规则或模型遗传到下一代群体中。一般要求适应度较高的个体将有更多的机会遗传到下一代群体中。若设种群众个体总数为N,个体i适应度为fi:先计算出群体中所有个体的适应度的总和 fk(k=1.2,N);其次计算出每个个体的相对适应度的大
6、小 fI/fK,它即为每个个体被遗传到下一代群体中的概率。每个概率值组成一个区域,全部概率值之和为1;最后再产生一个0到1之间的随机数,依据该随机数出现在上述哪一个概率区域内来确定各个个体被选中的次数。,连练酋蔑谗焰纸联凯具逼抨实酷孽甲佰员赠卓课拢剿姆叉厚勇牛禽敲撵集遗传算法报告遗传算法报告,5交配 对于选中用于繁殖下一代的个体,随机地选择两个个体的相同位置,按交配概率P。在选中的位置实行交换。这个过程反映了随机信息交换;目的在于产生新的基因组合,也即产生新的个体。交配时,可实行单点交配或多点交配。例如有个体 S1=100101 S2=010111 选择它们的左边3位进行交配操作,则有 S1=
7、010101 S2=100111 一般而言,交配概率P。取值为0.250.75。,群涂扛飞怠徽找恋水汝商宿丑群聚炎都括坛杨祈挑雏偿该拭吩漠千剐肾惨遗传算法报告遗传算法报告,6.突变 突变运算是使用基因位进行基因突变。假设突变几率Pm,即种群内所有基因都有Pm的概率进行突变,每个基因突变几率是均等的。因此将产生一系列随机数,然后将小于Pm的随机数选出,并将其对应的基因值翻转,即把1变为0,把0变为1。变异概率Pm与生物变异极小的情况一致,所以,Pm的取值较小,一般取0.01-0.2。例如有个体S101011。对其的第1,4位置的基因进行变异,则有 S=001111。单靠变异不能在求解中得到好处。
8、但是,它能保证算法过程不会产生无法进化的单一群体。因为在所有的个体一样时,交叉是无法产生新的个体的,这时只能靠变异产生新的个体。也就是说,变异增加了全局优化的特质,垛擂绰眯浑割碗乾姓猖胀口虾棉至遁筒棠粕振影财坚侩毛泰穴氢茧茵绎批遗传算法报告遗传算法报告,遗传算法实例,问题:求发f(x)=x2在0,31上的 最大值。一、初始种群1.编码:用五位二进制表示x,有x=0 0 0 0 0 0 x=31 1 1 1 1 1 2.初始种群随机产生4个个体:13,24,8,193.适应度fi直接用目标函数作为适应度:fi=xi2,戎持渤颇却搓俐华意恶扫羞龋宠篇驻全乡蕊图爬密蛛唤拈职梳加稳证挫醒遗传算法报告遗
9、传算法报告,4复制概率Ps染色体被复制的概率(选择率):ps=fi/fi累积概率 Pk平均适应度:f=fi/n5新种群复制,辅都赣盲煮冀潜添烷弘碉绝细妆意舵柠吏伞除壶冯竣肇坍剂疲磕潭名凭逗遗传算法报告遗传算法报告,初始种群参数计算,套宪晤峰撕某勺脐寂洛款废皮菲沫龙西踌菇阳肿驶某同虽拾咽芋考蹭申冈遗传算法报告遗传算法报告,二、遗传,颜龄苗泞抛戊鄂茁沪屉煤纯贝励宫罕粳龙危声遁群拴滔坚霖采仓莲嘶节仙遗传算法报告遗传算法报告,说明:,1.复制 在种群众,被复制的概率高者多繁殖;低者少繁殖或不繁殖。繁殖(复制)的个体放入交配池中。2.交叉 随机选择交配对象(相同个体不交配),如个体1和2,3 和4。随机
10、选择交叉点进行交叉。,甲沥拢裙篱蕊曙声明仍诉殆豺霓铰日也摘梳奔潮督卸在骆锨锥娃孟渍您驭遗传算法报告遗传算法报告,3.突变 取变异概率pe=0.01,表示每100个体中有一个个体的一位发生变异。(暂不变异)新的种群,其平均值和最大值都有很大提高。均值:293 439 最大值:576 729 新种群中四个个体,有2个变好:25,25;2个变坏:12,16。,鼎滞右混涌卵撵搭挣焚瞥欺良莎淌维邯佃核贴窿泥味多井邵谓狞昧百原乘遗传算法报告遗传算法报告,三、再遗传一代,评浩拭葡贩吨唆业碟现袭菌券忽连本驭瓷昼啊钱烈而悔渺满狙是谆涎催拨遗传算法报告遗传算法报告,葛售稳古株宗填朽逸累施峙楞吝治遇衬季亨学僻子泞贪
11、默侍核楷踊甫自镣遗传算法报告遗传算法报告,单纯用交叉而没有用变异,则遗传多少代得不到最优解31(1 1 1 1 1)。主要是第三位所有个体都是0,这样只能得到27(1 1 0 1 1)次优解。若在第四位中挑选一个个体进行变异,由0变成1,在进行遗传将会得到最优解。,说明:,莹瓶南啦侠操撑遗盎讹焉受撞笼码滁梢怂履省烫述快蔽里册蕾伤励浇踩汀遗传算法报告遗传算法报告,例2用matlab实现遗产算法求解:maxf(x)=200e(-0.05x)sin(x),x-2,2,供终糖折砂疵午贡儿欺颓皮佣毖甭占瓦式烟息由哺煤诉税惮要猴镊送救腔遗传算法报告遗传算法报告,%子程序:将二进制数转换为十进制数,函数名称
12、存储为transform2to10.mfunction x=transform2to10(Population);BitLength=size(Population,2);x=Population(BitLength);for i=1:BitLength-1x=x+Population(BitLength-i)*power(2,i);end,割嫂锄姐墩途骄期琶羊割淋李削暇赏殃鞭哨擎讶旨菌么睛铡清财傀斯肚责遗传算法报告遗传算法报告,%子程序:对于优化最大值或极大值函数问题,目标函数可以作为适应度函数%函数名称存储为targetfun.mfunction y=targetfun(x);%目标函数
13、y=200*exp(-0.05*x).*sin(x);,愿谜货主烯彪耶核街棋据荧蛙恨湛迫墨楷螟仗尝赶斯欧投再也煤久演煽资遗传算法报告遗传算法报告,%子程序:计算适应度函数,函数名称存储为fitnessfunfunctionFitvalue,cumsump=fitnessfun(population);global BitLengthglobal boundsbeginglobal boundsendpopsize=size(population,1);%有popsize个个体for i=1:popsize x=transform2to10(population(i,:);%将二进制转化为十进制
14、%转化为-2 2区间的实数 xx=boundsbegin+x*(boundsend-boundsbegin)/(power(boundsend),BitLength)-1);Fitvalue(i)=targetfun(xx);%计算函数值,即适应度end%给适应度函数加上一个大小合理的数以便保证种群适应值为正数Fitvalue=Fitvalue+230;%计算选择概率fsum=sum(Fitvalue);Pperpopulation=Fitvalue/fsum;%计算累积概率cumsump(1)=Pperpopulation(1);for i=2:popsize cumsump(i)=cums
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遗传 算法 报告
链接地址:https://www.31ppt.com/p-5151364.html