应用自适应指数比例变换的适应值共享遗传算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2002年2月系统工程理论与实践第2期 文章编号:100026788(2002)022*******
应用自适应指数比例变换的适应值共享遗传算法
于歆杰,王赞基
(清华大学电机工程与应用电子技术系,北京100084)
摘要: 适应值共享遗传算法是用来解决多峰函数优化的常用手段Λ本文提出了可以用来提高适应
值共享遗传算法搜索能力的自适应比例变换方法Λ针对复杂欺骗性问题,本文采用不同的指数比例变
换方法进行了优化Λ结果表明,本文提出的自适应指数比例变换方法能够迅速、稳定地找到全部全局
峰Λ该方法尤其适用于峰半径难以精确判定的情况Λ
关键词: 多峰函数优化;适应值共享;自适应比例变换
中图分类号: T P18 文献标识码: A α
T he F itness Sharing Genetic A lgo rithm s
w ith A dap tive Pow er L aw Scaling
YU X in2jie,W AN G Zan2ji
(T singhua U n iversity,Beijing100084,Ch ina)
Abstract: T he fitness sharing genetic algo rithm s are the common app roaches to so lve
m u lti2modal op ti m izati on p rob lem s.In th is paper,a new adap tive pow er law scaling
m ethod is suggested to i m p rove the search ab ility of the fitness sharing genetic algo2
rithm s.D ifferen t pow er law scaling m ethods have been adop ted to op ti m ize the m assive
decep tive p rob lem.T he emp irical resu lts show that the new adap tive pow er law scaling
m ethod can find all the global peak s steadily and qu ick ly.T h is m ethod is especially su it
fo r the p rob lem s w ho se radii of peak s are hard to define.
Keywords: m u lti2modal op ti m izati on;fitness sharing;adap tive pow er law scaling
1 引言
虽然简单遗传算法(SGA)已经在优化、机器学习和许多其它应用领域表现出强大的生命力,但一般来说,它仅能收敛到解空间的一个解上[1]Λ当遗传算法的种群数量不够大,选择压力不太合适时,收敛到一个解的情况就会发生,这种情况称为遗传漂移(genetic drift)[2]Λ改善遗传漂移现象有许多方法,例如采用保存最优解策略,使用合适的比例变换方法来调节选择压力以及增大种群规模等方法Λ比例变换在众多改善遗传算法搜索能力的方法中是比较有效的Ζ在遗传算法运行的早期,适当的比例变换可以增加种群的多样性;在算法运行的晚期,比例变换还可以加速算法的收敛Ζ通过在选择阶段之前调整个体的适应值,比例变换可能在解决种群多样性与选择压力之间找到平衡点Ζ常用的比例变换方法包括线性比例变换(f′=a×f+b,L S)、指数比例变换(f′=fΒ,PL S,f′=eΒf,ES)和Ρ截断(f′=f-(fθ-c ×Ρ)S T)[1]ΖK reinovich比较了各种常用的比例变换方法,指出最优的比例变换函数是指数比例变换[3]Ζ
2 自适应指数比例变换
遗传算法从本质上来说是一个动态、随机、自适应的过程,因此不同的初始种群和由遗传算子产生的α收稿日期:2000206209
资助项目:清华大学基础研究基金(JC2001019)
遗传误差可能影响个体的性能Ζ如果不考虑种群的反馈信息而直接设计算法参数的演化函数,其性能将很难令人满意Ζ自适应参数控制采用某种试探性手段获得当前种群的反馈信息,并以此为根据修改参数值Ζ自适应参数控制已经在包括变异算子、杂交算子、替换算子、父代选择、种群规模等方面取得了成功Ζ
对于指数比例变换而言,较大的Β会加速算法的收敛,而较小的Β会增加种群的多样性Ζ然而,D ar 2w en 等人在研究了使用指数比例变换的适应值共享算法后指出[4],较大的Β常常导致早熟发生,而较小的Β将会在最优解周围形成子种群,且该子种群中的个体很难稳定到最优解上Ζ一般情况下,人们事先对解空间结构没有比较清晰的了解,峰的半径或小生境的半径Ρ这一参数是非常难以获得的Ζ数值实验表明,对于不同的Ρ,最优的Β是不尽相同的Ζ因此,固定的Β无法适应变化的峰半径Ρ的需要Ζ
D arw en 等人建议对于Β参数采用线性变化的策略(Β=a ×g +b ,其中g 代表遗传代数,a 和b 是常数,用来确保第一代Β为1,最后一代Β为事先指定的最大值)Ζ这种控制Β的方法是确定性参数控制的方法ΖSaren i 等人发现,这种方法的优化结果要比采用固定参数指数比例变换的结果好[5].M ichalew icz 使用跨度s =Ρ f
θ(其中,Ρ代表种群中所有个体适应值的标准差,f θ代表种群中个体适应值的均值)作为当前种群的反馈信息,提出了一种自适应指数比例变换方法[6]Ζ该比例变换方法在应用于具体问题时需要预先设置5个参数,从而将对Β的优化设置问题转换为对5个参数的优化设置问题Ζ这种方法在处理实际问题时难以应用Ζ
L eclerc 等人提出了一种被称作Span 的类似于Ρ截断的比例变换方法[7]Ζ该方法可以表示为f ′=(f -f θ) Ρ+G (g en ),其中f
θ是适应值均值,Ρ是适应值标准差,G (g en )是当前遗传代数的函数,它随着算法的进行而下降Ζ这种自适应比例变换方法的反馈信息包括当前种群适应值的均值和标准差Ζ作者将这种比例变换方法与M ichalew icz 提出的自适应指数比例变换方法相比较,认为前者要优于后者Ζ但一般来说,Ρ截断方法对于平坦适应值问题和欺骗性问题不太有效Ζ
本文提出了一种新的自适应指数比例变换方法Ζ该方法既考虑到确定性参数控制,又考虑到自适应参数控制Ζ首先,Β应能随着遗传代数的增长而增加,这样就可以加快算法的收敛速度;其次,当种群具有比较高的多样性时,Β应相对较低,从而保证GA 搜索更多的解空间;最后,随着算法的进行,Β应适当增加,从而加速算法的收敛Ζ
本文提出的自适应指数比例变换所需要的反馈信息包括当代种群的最大适应值(m ax )和平均适应值(avg )Ζm ax 与avg 的比值可以在某种程度上反映当前种群的多样性Ζ算法进行的早期,由于个体之间的差异较大,往往比值较大;而到了晚期,算法趋于收敛,则比值会接近于1Ζ
比例变换参数Β的上升形式可以是线性形式、指数形式或对数形式Ζ本文采用了对数形式的自适应比例变换参数改变策略,如式(1)所示:
Β=log p ara +m ax avg g en +1(1)
其中g en 是当前的遗传代数,p a ra 是一个常数Ζ若遗传算法进行到最后一代时的最大比例参数记作Β3,则p a ra 可以由式(2)计算Ζ
p a ra =exp (ln (m ax -g en ) (Β3-1))-1.0849(2)
其中m ax _g en 是预先给定的最大遗传代数Ζ式(2)中采用常数1.0849的原因在于,大量的数值实验表明,当遗传算法接近收敛时,当代种群的最大适应值和平均适应值的比值接近1.0849Ζ在式(1)右侧加1的目的是确保比例变换参数大于1Ζ
在遗传算法进行的早期,种群具有比较大的多样性,因此导致m ax 与avg 的比值较大,同时遗传代数较小,由式(1)可知,Β相对较小Ζ当遗传算法进行到接近收敛状态,m ax 与avg 的比值较小,同时遗传代数较大,则Β相对较大Ζ如果在算法早期出现“超级个体”,m ax 与avg 的比值就会很大,从而限制了比例变换的强度,使得算法有足够的时间搜索更多的解空间Ζ如果解空间比较平坦,或问题本身具有欺骗性,在算法进行的晚期,很小的比值会导致很大的比例变换参数,从而保证算法及时收敛Ζ
52第2期应用自适应指数比例变换的适应值共享遗传算法