河北大学吴彬(wubinbb@163.com)12遗传算法(3)遗传算法技术介绍河北大学2吴彬(wubinbb@163.com)2.5连续性遗传算法实数编码123(,,,,)nxxxx河北大学3吴彬(wubinbb@163.com)二进制数编码的不足100个变量,[-250,250],精度0.00001100×26=2600长的二进制串表示染色体。此时的遗传算法的搜索空间大约为22600。2526500233554432500000006710886420.00001河北大学4吴彬(wubinbb@163.com)实数编码的优越性适合于在遗传算法中表示范围较大的数。适合于精度要求较高的问题。便于与经典优化方法混合使用。便于处理含约束条件的问题。河北大学5吴彬(wubinbb@163.com)设计遗传算法须注意问题适应度,复制,不依赖于问题的编码方法。选择,变异,运行后要保证个体在约束范围内。一些参数,本质上都可以使得它随着遗传代数的不同而变化。河北大学6吴彬(wubinbb@163.com)2.5连续性遗传算法适应度线性变换Ranking适应度分配复制比例选择法(轮盘选择)随机一致选择竞技选择法交换线性交换中间交换启发式交换突变均匀变异非均匀变异河北大学7吴彬(wubinbb@163.com)约束条件的处理-惩罚策略惩罚技术是遗传算法解约束优化问题中最常用的技术。本质上它是通过惩罚不可行解将约束问题转化为无约束问题。河北大学8吴彬(wubinbb@163.com)约束条件的处理-惩罚策略河北大学9吴彬(wubinbb@163.com)约束条件的处理-惩罚策略21max()..()0;1,2,,()()()()(())0()()imiiiifxstgximxXfxfxpxpxdxxdxgxxX为可行解其他河北大学10吴彬(wubinbb@163.com)约束条件的处理-惩罚策略惩罚策略的主要问题是如何设计一个惩罚函数,从而能有效地引导遗传搜索达到解空间的最好区域。()px河北大学11吴彬(wubinbb@163.com)约束条件的处理-惩罚策略惩罚项的评估函数加法形式对于极大化问题,取()()()fxfxpx()0x()0pxpx若可行其他河北大学12吴彬(wubinbb@163.com)约束条件的处理-惩罚策略惩罚项的评估函数乘法形式对于极大化问题,取()()*()fxfxpx()1x0()1pxpx若可行其他河北大学13吴彬(wubinbb@163.com)约束条件的处理-惩罚策略惩罚项的评估函数不带参数的惩罚项带参数的惩罚项带参数的惩罚策略主要用于在遗传算法运行的不同阶段惩罚项对目标函数的惩罚的大小不同。一般来说,希望初期惩罚小些,后期惩罚大些。河北大学14吴彬(wubinbb@163.com)约束条件的处理-惩罚策略21max()..()0;1,2,,()0;1,,()()()()(())0x()|()|1|()|m+1iiniiiiifxstgximhximnxXfxfxpxpxdxdxgxhxn若可行imi不带参数的惩罚项河北大学15吴彬(wubinbb@163.com)约束条件的处理-惩罚策略带参数的惩罚项21max()..()0;1,2,,()0;1,,()()()()(())0x()|()|1|()|m+1iiniiiiifxstgximhximnxXfxfxpxpxdxdxgxhxn若可行imi河北大学16吴彬(wubinbb@163.com)约束条件的处理-惩罚策略21(0)0.1,()(1)*0.1()()()(,)(())0x()|()|1|()|1()m+1niiiiittfxfxpxptxdxdxgxhxnt若可行imi初期惩罚小后期惩罚大河北大学17吴彬(wubinbb@163.com)谢谢参考文献GEATbx_Intro_Algorithmen_v33a,遗传算法与工程设计,[日]玄光男,程润伟著,科学出版社演化程序——遗传算法和数据编码的结合,[美]Z.米凯利维茨著,科学出版社河北大学19吴彬(wubinbb@163.com)线性交换需要注意:防止染色体超出约束范围112221[,1],0'*(1)*'*(1)*.[0,251]xaxaxxaxaadddxa河北大学20吴彬(wubinbb@163.com)线性交换河北大学21吴彬(wubinbb@163.com)中间交换需要注意:防止染色体超出约束范围112221'*(1)*'*(1)*[,1],0.25,1,2,,iiiiiiiiiiixaxaxxaxaxadddiL河北大学22吴彬(wubinbb@163.com)中间交换河北大学23吴彬(wubinbb@163.com)启发式交换r为[0,1]间随机数不比差,即对最大值问题特点使用了目标函数值以确定搜索方向。只生成一个后代它可能根本不产生解3212*()xrxxx21()()fxfx2x1x河北大学24吴彬(wubinbb@163.com)启发式交换此算子有可能产生不可行解,此时产生另一个随机数r以及另一个后代。如果尝试w此后仍失败,算子终止。2x1x3x河北大学25吴彬(wubinbb@163.com)启发式交换主要作用微调朝一个最有希望的方向搜索河北大学26吴彬(wubinbb@163.com)均匀变异1212minmaxmin(,,,,,)(,,,',,)'*()[0,1]knknkxxxxxxxxxuruur河北大学27吴彬(wubinbb@163.com)均匀变异依次指定个体编码串中的每个基因座为变异点。对每一个变异点,以变异概率pm从对应基因取值范围内取一随机数来替代原有基因值。河北大学28吴彬(wubinbb@163.com)非均匀变异1212maxmin(,,,,,)(,,,',,)'(,)'(,)(,)**(1)[0,1],knknkkkkkkbxxxxxxxxxxtuxorxxtxuttyyrTrT最大代数,b参数kxmaxuminu河北大学29吴彬(wubinbb@163.com)非均匀变异表示产生[0,y]中的一个数。随着代数t增加,靠近0的概率增加,也就是,在初期算子可均匀搜索空间(t比较小时),在后期,局部搜索。(,)ty(,)ty