ComputerEngineeringandApplications计算机工程与应用
智能交叉算子遗传算法的新机制
张建彬,陈抱雪,隋国荣,王关德
ZHANGJian—bin。CHENBao-xue,SUI
Guo—rong,WANGGuan-de
上海理工大学光电信息与计算机学院,上海200093
School
of
Optical-Electrical
Informationand
Computer
Engineering,University
of
Shanghai
forScienceandTechnology,Shanghai
200093,China
E—mail:zhangjianbinl979@126.corn
ZHANG
Jian-bin。CHENBao-xue,SUIGuo-rong。eta1.Newmechanism
Applications,2009.45(32):35-37.
ofGAbasedOn
intelligentcrossover.Computer
Engineeringand
Abstract:Thisthat
a
articleanalyzes
thefuactionsanddrawbacksof
tow
crossover
oftraditional
Genetic
Algorithm(GA),andpoints
out
itis
theverycrossover,whichisappointed
a
paradoxicalfunctions,comphcatesthemechanismoftraditionalGA.Itproposes
buildthis
a
new
intelligent
is
crossover,whichhas
both
relatively
simplefunction。toindividual.Based
tested
on
new
andsimplemechanismofGA.Itprograms
test
a
points
the
outnew
thatGA
a
evolutionbasedvery
on
performedby
environmentandidea.itMATLABtoolboxof
that
tIle
theintelligentcrossoverandhasthetoolbox
numerically.Numerical
resultsindicatenewGAhas
precise
solutionandfasterconvergencespeed,andovercomesprematureconvergence.
Algorithm;crossover;intelligentcrossover;decimalcoding
Keywords:Genetic
摘要:分析了传统遗传算法中的交叉算子的作用与局限,认为正是交叉算子被赋予两个互相矛盾的任务,而使传统遗传算法的运行机制变得复杂。对交叉算子的功能进行简化,提出智能交又算子,形成新的、简单的遗传运行机制。该机制认为,进化是由环境与个体共同实现的。基于这种思想,利用MATLAB编写了一个智能交叉遗传算法工具箱,并对该工具箱进行数值试验。结果表明该算法具有非常精确的全局求优的特点,克服了早熟收敛,且收敛速度较快。关键词:遗传算法;交叉算子;智能交叉算子;十进制编码
DOI:10.3778/j.issn.1002—8331.2009.32.011
文章编号:1002—8331(2009)32-0035—03文献标识码:A中冈分类号:TP301.6
1前斋
在遗传算法中,采用交叉算子搜索新的解空间时,要求尽可能不破坏个体中的优良模式。所渭交叉运算是指,两个相互配对的染色体按某种方式以交叉概率忍交换其部分基因,从而形成两个新的个体的操作。当交叉概率尼较高时,交叉算子
效率以及保证搜索的全局性是至关重要的。交叉算子会在一定程度上破坏种群的多样性121。随着种群的进化,当某个世代的种群中优良个体的基因结构趋于一致时,交叉产生的子代的基因结构也趋于一致,种群的多样性逐渐丧失,从而导致局部收敛或早熟收敛。为了防止这种情况,即为了保持种群多样性,待交叉的父代个体的选择策略以及交叉的策略十分重要,因此引入了轮盘式选择、排序选择、随机联赛选择、最优个体保留
生成新个体的能力较强,即探索新的解空问的能力较强,而破
坏个体的优良模式的可能性也较大;当Pc较低时,交叉算子探索新的解空间的能力较弱,而破坏个体的优良模式的可能性比较小。为了解决这两者的矛盾,一般将交叉产生的新个体插入新的种群,这样既实现了新个体的产生,也没有破坏种群中个体的优良模式,Holland的标准遗传算法就是这么做的。交叉概率Pc一般在0.4—0.99之间。自适应遗传算法也是解决上述矛盾的有效方式之一¨1,在演化初期用较大的交叉概率和变异概率产生优秀的新个体;在演化后期用较小的交叉概率和变异概率来保存优良模式。
方法等多种选择策略和单点交叉、多点交叉、均匀(一致)交
叉、算术交叉和多父代交叉等多种交叉策略。Ports等人f目列出了多达23种的选择策略和17种的交叉策略。由于交叉算子对遗传算法的性能至关重要,对交叉算子的研究与改进有大量的成果报道f¨l。
由于传统的遗传算法给交叉算子分配了两个互相矛盾的
任务,使得产生新个体和保存个体的优良模式的性能不可能同
时达到最优,通常只能得到折中的效果;而为了保持种群的多样性,引入了各种各样的选择策略与交叉策略,形成了各种各
在遗传算法中,群体多样性对于避免早熟收敛,提高搜索
基金项目:教育部博士学科点专项科研基金(20060252005)(theResearchFundfortheD∞toralProgramofMinistryofEducationofChinaunder
GrantNo,20060252005
o
作者简介:张建彬(1979一),男.博士,主要研究领域为光电精密测试技术;陈抱雪(1955一),男,博士,教授,博士生导师,主要研究领域为光电子技
术与集成光学。
敢稿H期:2008一11—26
修回H期:2009--01—13
36
2009,45(32)
Computer
EngineeringandApplications计算机工程与应用
(1)在交叉点处将(a)表分割成(b)表和(c)表,令(b)表向上滑行或者(c)表向下滑行,每滑行一格后,重新组合成(d)表
样的遗传算法(GAs)。由于交叉算子的复杂性,导致遗传算法的运行机制变得十分复杂。为了简化这种复杂的运行机制,简化交叉算子是一种方法。该文提出一种智能交叉算子,形成新的、简单的遗传运行机制。在这种机制中,选择算子只负责淘汰差的个体,并选择出最优的若干个体作为智能交叉的父代个体;智能交叉算子尽可能产生更加优良的新个体,尽量产生和保持个体的优良模式.不负责对新的解窄J训的搜索(尽管它也能实现);变异算子分别实现小概率变异与大概率变异。小概率变异与传统的遗传算法的变异算子的功能一样,负责产生新的基因,使智能交叉算子能够持续产生更优的个体;大概率变异负责搜索新的解空间。选择与智能交叉同时决定进化的方向。选择决定进化的粗线条方向,智能交叉则在这个粗线条的基础上,对进化方向进行微调,即进化是由环境与个体共同实现的。变异负责种群多样性与搜索新的解空间。基于上述思想,利用MATLAB编写了一个智能交叉遗传算法工具箱,通过数值试验对该工具箱性能做了测试,结果表明该算法具有非常精确的全局求优的特点,克服了早熟收敛,且收敛速度较快。
所示的基因码群,即生成新的个体;
(2)当(d)表中最优个体优于(a)表中最优个体时,将它输出到新的种群,智能交叉操作结束;
(3)当单向滑行了肘次,都不能找到新的更优的个体时,交叉点从位置2变为位置3,重复步骤(1)与(2)的操作;
(4)重复步骤(1)至(3)的操作,直到步骤(3)中的交叉点指向£一l的位置。
最后,当智能交叉不能得到新的最优个体优于待交叉的父代最优个体时,将父代个体直接插入新的种群。因此,智能交叉算子不但能够实现使交叉得到的新的最优个体优于或等于待交叉的最优个体的目的,而且也附带产生了很多与传统交叉算子类似的新个体,这些新个体有利于遗传算法对未知解空间的探索。
3算法流程
图2是基于智能交叉算子的遗传算法的算法流程图,具体步骤如下:
厅磊、]
2智能交叉算f
传统的交叉算子负责产生新的个体的同时,尽量使优良个体的模式不被破坏。为了简化交叉算子的任务或功能,定义智能交叉算子为只负责寻找优秀模式,而不负责对新的未知解空间的探索。文献『91认为,传统遗传算法中交叉操作的实质是子代个体为父代个体在小范围内进行大概率变异的结果。凶此这里采用大变异概率的变异算子来负责对新的未知解空间的探索。这样就将传统遗传算法中的交叉操作的两个功能分成两个部分,分别由智能交叉算子和大概率变异算子负责实现。
与传统的交叉算子的随机操作不一样,智能交叉算子的操作是非随机的。智能交叉算子负责使交叉得到的新的最优
、、...,———————..一/
个体优于或等于待交叉的最优个体,偏重于主动寻找和组合
个体的优良模式,使个体本身更适应环境的变化,更易于存活。下面以十进制编码的染色体为例,说明智能交叉算子的工作原理。
智能交叉算子是一种复合的确定性交叉算子。图1中的(a)表示待交叉的M(M=5)个父代个体的基因码群,每个码长为L。当智能交叉开始工作时,交叉点指向2,执行下面的操作步骤:
图2基于智能空叉算子的遗传算法的算法流程图
(1)开始、初始化以及生成初始种群;
(2)是否满足停止条件?如果满足,则输出求优结果,结束;否则,则执行以下操作;
(3)计算个体适应值,这是评价个体优劣的根据;
(4)根据个体适应值进行淘汰,淘汰掉最差的个体,使种群的大小保持不变;
(5)根据个体适应值进行选择,选出若干个最优的个体,作为待交叉的父代个体;
0I234
12345
23456
34567
(6)步骤(5)产生的父代个体,经智能交叉算子交叉操作,产生更优秀的子代个体,插入新的种群;
(7)步骤(4)维持的种群,经过变异2(大变异概率变异)操作后,插入新的种群;
(b)多父代个体分割l
I234O
123
4
(a)待交叉多父代个体
l2345
23456
34567
(8)步骤(4)维持的种群,经过变异l(小变异概率变异)操作后,插入新的种群;
(9)停止条件的重新赋值;
(10)重复执行步骤(1)一步骤(8),直到满足停止条件,并输出求优结果,结束。
在步骤(4)与(5)中,淘汰和选择是一样的,都采用选择算子来实现。淘汰是通过选择初始种群大小的个体来保持种群的
23456
34567
5
(c)多父代个体分割2(d)交叉后多父代个体
图1智能交叉算子操作示意图
张建彬,陈抱雪,隋国荣,等:智能交叉算子遗传算法的新机制
大小不变。选择算子是基于适应值大小来操作的,适应值较小的个体较优。选择是将个体按照适应值从小到大进行排序,选择排序在前的Ⅳ个个体。在步骤(5)与(6)中,选择与智能交叉负责搜索和保存种群中优良的模式,当种群多样性很好时,可以通过选择与智能交叉将优良的模式组合起来,构成全局最优个体。当种群多样性被破坏时,选择与智能交叉将容易收敛于局部最优,出现早熟收敛。原种群经步骤(7)以大变异概率变异后插入新种群,这有利于搜索新的解空间,有利于增加种群多样性。从增加种群的多样性和搜索新的解空问的角度来说,步骤(7)中的变异概率越大越好。步骤(8)中的小变异概率变异算子的功能与传统遗传算法中的变异算子的功能一样,都是为了产生新的有用基因,使遗传算法收敛于更加精确的全局最优值。步骤(7)与步骤(8)的操作是一样的,区别只在于变异概率的大小。
4数值试验
利用MATLAB编写了基于上述智能交叉算子的遗传算法工具箱。运行参数初步设置为:每个变量用9位十进制编码,rt个变量的编码长度为9n;种群规模N=400;待交叉父代个体数目M=10;演化代数Gen=100;小变异概率尸h。=o.05、大变异概
率m2=0.5;该算法由于使用了特殊的智能交叉算子,故不设置
选择概率和交叉概率,或可认为二者为l。
数值计算的算例1:DeJong的5个著名的函数F1一F5[nmul.对每个函数运行的次数没定为1000,计算结果如表1所示。
表1
DeJong的F1~F5雨数的致伉试验
注:‘DeJon94自变量个数为30,初步设定演化代数为1000代,计算100次。
表1的结果表明,该文算法能够求得精确的全局最优值,且收敛速度较快(文中均采用最大收敛代数,其平均收敛代数显然会更小)。
数值计算的算例2:文献『l忡的4个函数,对每个函数运
行的次数设定为l000,计算结果如表2所示。
表2文献…叶t提到的4个甬数的数值试验
注:下l遗传演化的代数为1000代。
表2的结果表明,该文的平均最优值部优于文献【1】的平均最优值,精度提高了至少两个量级;F2~1:4的收敛速度优于文献【1】'收敛次数略差于但非常接近文献f1】,Fl的收敛速度较慢;算法总体的性能不低于文献[11提到的改进型自适应遗传算法(IAGA)。
从上述的数值试验的结果可以看出,基于智能交叉算子的遗传算法具有非常精确的全局求优的特点,克服了早熟收敛,且收敛速度较快。一般情况下,演化100代即可求出精确的全局最优解;表2所示的F1是Schaffer函数,由于该函数的强烈振荡性质,以及它的全局最优点被局部最优点所包围的特征,使得一般算法很容易陷入局部极大值点,很难找到它的全局最优解,该文算法采用l000代即可演化出该函数的全局最优点;表1的DeJon94函数的自变量个数为30个,演化
1
000代得到的结果已经较小,相信随着演化代数的增加,求
优的结果会更好。
5结论
提出了一种智能交叉算子,在此基础上形成了一种新的、简单的遗传运行机制。用MATLAB编写了相应的工具箱,并对该工具箱进行数值试验。数值试验结果表明,基于智能交叉算子的遗传算法具有非常精确的全局求优的特点,克服了早熟收敛,且收敛速度较快。
参考文献:
[1]邝航宇,金晶,苏勇.自适应遗传算法交叉变异算子的改进叨.计算
机工程与应用,2006,42(12):93—96.
【2]田力汉.陈震,田夫汉.遗传算法中交叉算子对群体多样性的影响忉.
计算机工程与科学,2000,22(4):46_49.
[3】P0ttsC,GiddensTD,YadavSB.Thedevelopmentand
evaluation
of
an
improvedgenetic
algorithmbard
on
migration
andartificial
selection[J].IEEETransactionsOil
Systems。Man,andCybernetics,
1994,24(1):73—86.
[4】王增强,曾碧.遗传算法中交叉算子的配对策略研究【J】汕头大学学
报:自然科学版.2005。20(4):55—58.
【5】蔡良伟,李霞.遗传算法交叉操作的改进们.系统工程与电子技术,
2006.28(6):925—928.
【6】彭召旺,钟廷修.遗传算法的单纯型交叉算子[J】.机械设计与研究,
1999(4):17—19.
【7]姚望舒,陈兆乾,陈世福.CRGA一种基于保留全局公共模式和约束
交叉位置的遗传算法叽计算机研究与发展,2006,43(1):81—88.
[8】8李勇,曹广益,朱新坚.一种基于复合交叉的实数编码遗传算法叨.
计算机仿真,2006,23(6):166—170.
【9】刘兴隆.遗传算法中交叉操作研究及应用【J】东北电力学院学报.
2003。23(4):34—37.
【10】刘吴嘶.遗传算法研究及遗传算法工具箱开发【D].天津大学,2005:
3l一32.
【1l】李绍军,王惠,姚平经.求解全局最优化的遗传(GA)一Alopex算法
的研究【J】.信息与控制,2000,29(4):304-308.
智能交叉算子遗传算法的新机制
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
张建彬, 陈抱雪, 隋国荣, 王关德, ZHANG Jian-bin, CHEN Bao-xue, SUI Guo-rong, WANG Guan-de
上海理工大学,光电信息与计算机学院,上海,200093计算机工程与应用
COMPUTER ENGINEERING AND APPLICATIONS2009,45(32)2次
参考文献(11条)
1.邝航宇;金晶;苏勇 自适应遗传算法交叉变异算子的改进[期刊论文]-计算机工程与应用 2006(12)2.田力汉;陈震;田夫汉 遗传算法中交叉算子对群体多样性的影响[期刊论文]-计算机工程与科学 2000(04)3.Potts C;Giddens T D;Yadav S B The development and evaluation of an improved genetic algorithmbased on migration and artificial selection 1994(01)
4.王增强;曾碧 遗传算法中交叉算子的配对策略研究[期刊论文]-汕头大学学报(自然科学版) 2005(04)5.蔡良伟;李霞 遗传算法交叉操作的改进[期刊论文]-系统工程与电子技术 2006(06)6.彭召旺;钟廷修 遗传算法的单纯型交叉算子 1999(04)
7.姚望舒;陈兆乾;陈世福 CRGA一种基于保留全局公共模式和约束交叉位置的遗传算法[期刊论文]-计算机研究与发展 2006(01)
8.李勇;曹广益;朱新坚 一种基于复合交叉的实数编码遗传算法[期刊论文]-计算机仿真 2006(06)9.刘兴隆 遗传算法中交叉操作研究及应用[期刊论文]-东北电力学院学报 2003(04)10.刘吴嘶 遗传算法研究及遗传算法工具箱开发 2005
11.李绍军;王惠;姚平经 求解全局最优化的遗传(GA)-Alopex算法的研究[期刊论文]-信息与控制 2000(04)
本文读者也读过(9条)
1. 鲁群.周爱武.LU Qun.ZHOU Ai-wu 双变异算子遗传算法的应用[期刊论文]-计算机技术与发展2008,18(7)2. 张明辉.王尚锦 具有自适应交叉算子的遗传算法及其应用[期刊论文]-机械工程学报2002,38(1)
3. 陈峰.武小悦.CHEN Feng.WU Xiao-yue 基于定向变异算子的求解GA欺骗问题研究[期刊论文]-系统工程与电子技术2009,31(1)
4. 魏金岭.霍超.孟濬.李平 运用变异算子随机搜索求解全局优化问题[期刊论文]-浙江大学学报(工学版)2001,35(6)
5. 卢厚清.陈亮.宋以胜.吴值民.邹波.LU Hou-qing.CHEN Liang.SONG Yi-sheng.WU Zhi-min.ZOU Yun-bo 一种遗传算法交叉算子的改进算法[期刊论文]-解放军理工大学学报(自然科学版)2007,8(3)
6. 熊军.高敦堂.沈庆宏.都思丹 遗传算法交叉算子性能对比研究[期刊论文]-南京大学学报(自然科学版)2004,40(4)
7. 田力汉.陈震.田夫汉.Tian Lihan.Chen Zhen.Tian Fuhan 遗传算法中交叉算子对群体多样性的影响[期刊论文]-计算机工程与科学2000,22(4)
8. 陈国龙.陈火旺.郭文忠.涂雪珠 基于随机错位算术交叉的遗传算法及其应用[期刊论文]-模式识别与人工智能2004,17(2)
9. 邓春燕.DENG Chun-yan 遗传算法的交叉算子分析[期刊论文]-农业网络信息2009(5)
引证文献(2条)
2.李书全.孙雪.孙德辉.边伟朋 遗传算法中的交叉算子的述评[期刊论文]-计算机工程与应用 2012(1)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_jsjgcyyy200932011.aspx
ComputerEngineeringandApplications计算机工程与应用
智能交叉算子遗传算法的新机制
张建彬,陈抱雪,隋国荣,王关德
ZHANGJian—bin。CHENBao-xue,SUI
Guo—rong,WANGGuan-de
上海理工大学光电信息与计算机学院,上海200093
School
of
Optical-Electrical
Informationand
Computer
Engineering,University
of
Shanghai
forScienceandTechnology,Shanghai
200093,China
E—mail:zhangjianbinl979@126.corn
ZHANG
Jian-bin。CHENBao-xue,SUIGuo-rong。eta1.Newmechanism
Applications,2009.45(32):35-37.
ofGAbasedOn
intelligentcrossover.Computer
Engineeringand
Abstract:Thisthat
a
articleanalyzes
thefuactionsanddrawbacksof
tow
crossover
oftraditional
Genetic
Algorithm(GA),andpoints
out
itis
theverycrossover,whichisappointed
a
paradoxicalfunctions,comphcatesthemechanismoftraditionalGA.Itproposes
buildthis
a
new
intelligent
is
crossover,whichhas
both
relatively
simplefunction。toindividual.Based
tested
on
new
andsimplemechanismofGA.Itprograms
test
a
points
the
outnew
thatGA
a
evolutionbasedvery
on
performedby
environmentandidea.itMATLABtoolboxof
that
tIle
theintelligentcrossoverandhasthetoolbox
numerically.Numerical
resultsindicatenewGAhas
precise
solutionandfasterconvergencespeed,andovercomesprematureconvergence.
Algorithm;crossover;intelligentcrossover;decimalcoding
Keywords:Genetic
摘要:分析了传统遗传算法中的交叉算子的作用与局限,认为正是交叉算子被赋予两个互相矛盾的任务,而使传统遗传算法的运行机制变得复杂。对交叉算子的功能进行简化,提出智能交又算子,形成新的、简单的遗传运行机制。该机制认为,进化是由环境与个体共同实现的。基于这种思想,利用MATLAB编写了一个智能交叉遗传算法工具箱,并对该工具箱进行数值试验。结果表明该算法具有非常精确的全局求优的特点,克服了早熟收敛,且收敛速度较快。关键词:遗传算法;交叉算子;智能交叉算子;十进制编码
DOI:10.3778/j.issn.1002—8331.2009.32.011
文章编号:1002—8331(2009)32-0035—03文献标识码:A中冈分类号:TP301.6
1前斋
在遗传算法中,采用交叉算子搜索新的解空间时,要求尽可能不破坏个体中的优良模式。所渭交叉运算是指,两个相互配对的染色体按某种方式以交叉概率忍交换其部分基因,从而形成两个新的个体的操作。当交叉概率尼较高时,交叉算子
效率以及保证搜索的全局性是至关重要的。交叉算子会在一定程度上破坏种群的多样性121。随着种群的进化,当某个世代的种群中优良个体的基因结构趋于一致时,交叉产生的子代的基因结构也趋于一致,种群的多样性逐渐丧失,从而导致局部收敛或早熟收敛。为了防止这种情况,即为了保持种群多样性,待交叉的父代个体的选择策略以及交叉的策略十分重要,因此引入了轮盘式选择、排序选择、随机联赛选择、最优个体保留
生成新个体的能力较强,即探索新的解空问的能力较强,而破
坏个体的优良模式的可能性也较大;当Pc较低时,交叉算子探索新的解空间的能力较弱,而破坏个体的优良模式的可能性比较小。为了解决这两者的矛盾,一般将交叉产生的新个体插入新的种群,这样既实现了新个体的产生,也没有破坏种群中个体的优良模式,Holland的标准遗传算法就是这么做的。交叉概率Pc一般在0.4—0.99之间。自适应遗传算法也是解决上述矛盾的有效方式之一¨1,在演化初期用较大的交叉概率和变异概率产生优秀的新个体;在演化后期用较小的交叉概率和变异概率来保存优良模式。
方法等多种选择策略和单点交叉、多点交叉、均匀(一致)交
叉、算术交叉和多父代交叉等多种交叉策略。Ports等人f目列出了多达23种的选择策略和17种的交叉策略。由于交叉算子对遗传算法的性能至关重要,对交叉算子的研究与改进有大量的成果报道f¨l。
由于传统的遗传算法给交叉算子分配了两个互相矛盾的
任务,使得产生新个体和保存个体的优良模式的性能不可能同
时达到最优,通常只能得到折中的效果;而为了保持种群的多样性,引入了各种各样的选择策略与交叉策略,形成了各种各
在遗传算法中,群体多样性对于避免早熟收敛,提高搜索
基金项目:教育部博士学科点专项科研基金(20060252005)(theResearchFundfortheD∞toralProgramofMinistryofEducationofChinaunder
GrantNo,20060252005
o
作者简介:张建彬(1979一),男.博士,主要研究领域为光电精密测试技术;陈抱雪(1955一),男,博士,教授,博士生导师,主要研究领域为光电子技
术与集成光学。
敢稿H期:2008一11—26
修回H期:2009--01—13
36
2009,45(32)
Computer
EngineeringandApplications计算机工程与应用
(1)在交叉点处将(a)表分割成(b)表和(c)表,令(b)表向上滑行或者(c)表向下滑行,每滑行一格后,重新组合成(d)表
样的遗传算法(GAs)。由于交叉算子的复杂性,导致遗传算法的运行机制变得十分复杂。为了简化这种复杂的运行机制,简化交叉算子是一种方法。该文提出一种智能交叉算子,形成新的、简单的遗传运行机制。在这种机制中,选择算子只负责淘汰差的个体,并选择出最优的若干个体作为智能交叉的父代个体;智能交叉算子尽可能产生更加优良的新个体,尽量产生和保持个体的优良模式.不负责对新的解窄J训的搜索(尽管它也能实现);变异算子分别实现小概率变异与大概率变异。小概率变异与传统的遗传算法的变异算子的功能一样,负责产生新的基因,使智能交叉算子能够持续产生更优的个体;大概率变异负责搜索新的解空间。选择与智能交叉同时决定进化的方向。选择决定进化的粗线条方向,智能交叉则在这个粗线条的基础上,对进化方向进行微调,即进化是由环境与个体共同实现的。变异负责种群多样性与搜索新的解空间。基于上述思想,利用MATLAB编写了一个智能交叉遗传算法工具箱,通过数值试验对该工具箱性能做了测试,结果表明该算法具有非常精确的全局求优的特点,克服了早熟收敛,且收敛速度较快。
所示的基因码群,即生成新的个体;
(2)当(d)表中最优个体优于(a)表中最优个体时,将它输出到新的种群,智能交叉操作结束;
(3)当单向滑行了肘次,都不能找到新的更优的个体时,交叉点从位置2变为位置3,重复步骤(1)与(2)的操作;
(4)重复步骤(1)至(3)的操作,直到步骤(3)中的交叉点指向£一l的位置。
最后,当智能交叉不能得到新的最优个体优于待交叉的父代最优个体时,将父代个体直接插入新的种群。因此,智能交叉算子不但能够实现使交叉得到的新的最优个体优于或等于待交叉的最优个体的目的,而且也附带产生了很多与传统交叉算子类似的新个体,这些新个体有利于遗传算法对未知解空间的探索。
3算法流程
图2是基于智能交叉算子的遗传算法的算法流程图,具体步骤如下:
厅磊、]
2智能交叉算f
传统的交叉算子负责产生新的个体的同时,尽量使优良个体的模式不被破坏。为了简化交叉算子的任务或功能,定义智能交叉算子为只负责寻找优秀模式,而不负责对新的未知解空间的探索。文献『91认为,传统遗传算法中交叉操作的实质是子代个体为父代个体在小范围内进行大概率变异的结果。凶此这里采用大变异概率的变异算子来负责对新的未知解空间的探索。这样就将传统遗传算法中的交叉操作的两个功能分成两个部分,分别由智能交叉算子和大概率变异算子负责实现。
与传统的交叉算子的随机操作不一样,智能交叉算子的操作是非随机的。智能交叉算子负责使交叉得到的新的最优
、、...,———————..一/
个体优于或等于待交叉的最优个体,偏重于主动寻找和组合
个体的优良模式,使个体本身更适应环境的变化,更易于存活。下面以十进制编码的染色体为例,说明智能交叉算子的工作原理。
智能交叉算子是一种复合的确定性交叉算子。图1中的(a)表示待交叉的M(M=5)个父代个体的基因码群,每个码长为L。当智能交叉开始工作时,交叉点指向2,执行下面的操作步骤:
图2基于智能空叉算子的遗传算法的算法流程图
(1)开始、初始化以及生成初始种群;
(2)是否满足停止条件?如果满足,则输出求优结果,结束;否则,则执行以下操作;
(3)计算个体适应值,这是评价个体优劣的根据;
(4)根据个体适应值进行淘汰,淘汰掉最差的个体,使种群的大小保持不变;
(5)根据个体适应值进行选择,选出若干个最优的个体,作为待交叉的父代个体;
0I234
12345
23456
34567
(6)步骤(5)产生的父代个体,经智能交叉算子交叉操作,产生更优秀的子代个体,插入新的种群;
(7)步骤(4)维持的种群,经过变异2(大变异概率变异)操作后,插入新的种群;
(b)多父代个体分割l
I234O
123
4
(a)待交叉多父代个体
l2345
23456
34567
(8)步骤(4)维持的种群,经过变异l(小变异概率变异)操作后,插入新的种群;
(9)停止条件的重新赋值;
(10)重复执行步骤(1)一步骤(8),直到满足停止条件,并输出求优结果,结束。
在步骤(4)与(5)中,淘汰和选择是一样的,都采用选择算子来实现。淘汰是通过选择初始种群大小的个体来保持种群的
23456
34567
5
(c)多父代个体分割2(d)交叉后多父代个体
图1智能交叉算子操作示意图
张建彬,陈抱雪,隋国荣,等:智能交叉算子遗传算法的新机制
大小不变。选择算子是基于适应值大小来操作的,适应值较小的个体较优。选择是将个体按照适应值从小到大进行排序,选择排序在前的Ⅳ个个体。在步骤(5)与(6)中,选择与智能交叉负责搜索和保存种群中优良的模式,当种群多样性很好时,可以通过选择与智能交叉将优良的模式组合起来,构成全局最优个体。当种群多样性被破坏时,选择与智能交叉将容易收敛于局部最优,出现早熟收敛。原种群经步骤(7)以大变异概率变异后插入新种群,这有利于搜索新的解空间,有利于增加种群多样性。从增加种群的多样性和搜索新的解空问的角度来说,步骤(7)中的变异概率越大越好。步骤(8)中的小变异概率变异算子的功能与传统遗传算法中的变异算子的功能一样,都是为了产生新的有用基因,使遗传算法收敛于更加精确的全局最优值。步骤(7)与步骤(8)的操作是一样的,区别只在于变异概率的大小。
4数值试验
利用MATLAB编写了基于上述智能交叉算子的遗传算法工具箱。运行参数初步设置为:每个变量用9位十进制编码,rt个变量的编码长度为9n;种群规模N=400;待交叉父代个体数目M=10;演化代数Gen=100;小变异概率尸h。=o.05、大变异概
率m2=0.5;该算法由于使用了特殊的智能交叉算子,故不设置
选择概率和交叉概率,或可认为二者为l。
数值计算的算例1:DeJong的5个著名的函数F1一F5[nmul.对每个函数运行的次数没定为1000,计算结果如表1所示。
表1
DeJong的F1~F5雨数的致伉试验
注:‘DeJon94自变量个数为30,初步设定演化代数为1000代,计算100次。
表1的结果表明,该文算法能够求得精确的全局最优值,且收敛速度较快(文中均采用最大收敛代数,其平均收敛代数显然会更小)。
数值计算的算例2:文献『l忡的4个函数,对每个函数运
行的次数设定为l000,计算结果如表2所示。
表2文献…叶t提到的4个甬数的数值试验
注:下l遗传演化的代数为1000代。
表2的结果表明,该文的平均最优值部优于文献【1】的平均最优值,精度提高了至少两个量级;F2~1:4的收敛速度优于文献【1】'收敛次数略差于但非常接近文献f1】,Fl的收敛速度较慢;算法总体的性能不低于文献[11提到的改进型自适应遗传算法(IAGA)。
从上述的数值试验的结果可以看出,基于智能交叉算子的遗传算法具有非常精确的全局求优的特点,克服了早熟收敛,且收敛速度较快。一般情况下,演化100代即可求出精确的全局最优解;表2所示的F1是Schaffer函数,由于该函数的强烈振荡性质,以及它的全局最优点被局部最优点所包围的特征,使得一般算法很容易陷入局部极大值点,很难找到它的全局最优解,该文算法采用l000代即可演化出该函数的全局最优点;表1的DeJon94函数的自变量个数为30个,演化
1
000代得到的结果已经较小,相信随着演化代数的增加,求
优的结果会更好。
5结论
提出了一种智能交叉算子,在此基础上形成了一种新的、简单的遗传运行机制。用MATLAB编写了相应的工具箱,并对该工具箱进行数值试验。数值试验结果表明,基于智能交叉算子的遗传算法具有非常精确的全局求优的特点,克服了早熟收敛,且收敛速度较快。
参考文献:
[1]邝航宇,金晶,苏勇.自适应遗传算法交叉变异算子的改进叨.计算
机工程与应用,2006,42(12):93—96.
【2]田力汉.陈震,田夫汉.遗传算法中交叉算子对群体多样性的影响忉.
计算机工程与科学,2000,22(4):46_49.
[3】P0ttsC,GiddensTD,YadavSB.Thedevelopmentand
evaluation
of
an
improvedgenetic
algorithmbard
on
migration
andartificial
selection[J].IEEETransactionsOil
Systems。Man,andCybernetics,
1994,24(1):73—86.
[4】王增强,曾碧.遗传算法中交叉算子的配对策略研究【J】汕头大学学
报:自然科学版.2005。20(4):55—58.
【5】蔡良伟,李霞.遗传算法交叉操作的改进们.系统工程与电子技术,
2006.28(6):925—928.
【6】彭召旺,钟廷修.遗传算法的单纯型交叉算子[J】.机械设计与研究,
1999(4):17—19.
【7]姚望舒,陈兆乾,陈世福.CRGA一种基于保留全局公共模式和约束
交叉位置的遗传算法叽计算机研究与发展,2006,43(1):81—88.
[8】8李勇,曹广益,朱新坚.一种基于复合交叉的实数编码遗传算法叨.
计算机仿真,2006,23(6):166—170.
【9】刘兴隆.遗传算法中交叉操作研究及应用【J】东北电力学院学报.
2003。23(4):34—37.
【10】刘吴嘶.遗传算法研究及遗传算法工具箱开发【D].天津大学,2005:
3l一32.
【1l】李绍军,王惠,姚平经.求解全局最优化的遗传(GA)一Alopex算法
的研究【J】.信息与控制,2000,29(4):304-308.
智能交叉算子遗传算法的新机制
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
张建彬, 陈抱雪, 隋国荣, 王关德, ZHANG Jian-bin, CHEN Bao-xue, SUI Guo-rong, WANG Guan-de
上海理工大学,光电信息与计算机学院,上海,200093计算机工程与应用
COMPUTER ENGINEERING AND APPLICATIONS2009,45(32)2次
参考文献(11条)
1.邝航宇;金晶;苏勇 自适应遗传算法交叉变异算子的改进[期刊论文]-计算机工程与应用 2006(12)2.田力汉;陈震;田夫汉 遗传算法中交叉算子对群体多样性的影响[期刊论文]-计算机工程与科学 2000(04)3.Potts C;Giddens T D;Yadav S B The development and evaluation of an improved genetic algorithmbased on migration and artificial selection 1994(01)
4.王增强;曾碧 遗传算法中交叉算子的配对策略研究[期刊论文]-汕头大学学报(自然科学版) 2005(04)5.蔡良伟;李霞 遗传算法交叉操作的改进[期刊论文]-系统工程与电子技术 2006(06)6.彭召旺;钟廷修 遗传算法的单纯型交叉算子 1999(04)
7.姚望舒;陈兆乾;陈世福 CRGA一种基于保留全局公共模式和约束交叉位置的遗传算法[期刊论文]-计算机研究与发展 2006(01)
8.李勇;曹广益;朱新坚 一种基于复合交叉的实数编码遗传算法[期刊论文]-计算机仿真 2006(06)9.刘兴隆 遗传算法中交叉操作研究及应用[期刊论文]-东北电力学院学报 2003(04)10.刘吴嘶 遗传算法研究及遗传算法工具箱开发 2005
11.李绍军;王惠;姚平经 求解全局最优化的遗传(GA)-Alopex算法的研究[期刊论文]-信息与控制 2000(04)
本文读者也读过(9条)
1. 鲁群.周爱武.LU Qun.ZHOU Ai-wu 双变异算子遗传算法的应用[期刊论文]-计算机技术与发展2008,18(7)2. 张明辉.王尚锦 具有自适应交叉算子的遗传算法及其应用[期刊论文]-机械工程学报2002,38(1)
3. 陈峰.武小悦.CHEN Feng.WU Xiao-yue 基于定向变异算子的求解GA欺骗问题研究[期刊论文]-系统工程与电子技术2009,31(1)
4. 魏金岭.霍超.孟濬.李平 运用变异算子随机搜索求解全局优化问题[期刊论文]-浙江大学学报(工学版)2001,35(6)
5. 卢厚清.陈亮.宋以胜.吴值民.邹波.LU Hou-qing.CHEN Liang.SONG Yi-sheng.WU Zhi-min.ZOU Yun-bo 一种遗传算法交叉算子的改进算法[期刊论文]-解放军理工大学学报(自然科学版)2007,8(3)
6. 熊军.高敦堂.沈庆宏.都思丹 遗传算法交叉算子性能对比研究[期刊论文]-南京大学学报(自然科学版)2004,40(4)
7. 田力汉.陈震.田夫汉.Tian Lihan.Chen Zhen.Tian Fuhan 遗传算法中交叉算子对群体多样性的影响[期刊论文]-计算机工程与科学2000,22(4)
8. 陈国龙.陈火旺.郭文忠.涂雪珠 基于随机错位算术交叉的遗传算法及其应用[期刊论文]-模式识别与人工智能2004,17(2)
9. 邓春燕.DENG Chun-yan 遗传算法的交叉算子分析[期刊论文]-农业网络信息2009(5)
引证文献(2条)
2.李书全.孙雪.孙德辉.边伟朋 遗传算法中的交叉算子的述评[期刊论文]-计算机工程与应用 2012(1)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_jsjgcyyy200932011.aspx