基于贪婪算法改进自适应遗传算法和其应用

基于贪婪算法改进自适应遗传算法和其应用

ID:5998193

大小:28.50 KB

页数:6页

时间:2017-12-30

基于贪婪算法改进自适应遗传算法和其应用_第1页
基于贪婪算法改进自适应遗传算法和其应用_第2页
基于贪婪算法改进自适应遗传算法和其应用_第3页
基于贪婪算法改进自适应遗传算法和其应用_第4页
基于贪婪算法改进自适应遗传算法和其应用_第5页
资源描述:

《基于贪婪算法改进自适应遗传算法和其应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于贪婪算法改进自适应遗传算法和其应用  摘要:本文将改进的自适应遗传算法和贪婪算法相结合用于0-1背包问题的求解。此算法对交叉率和变异率进行了优化,实现了交叉率和变异率的非线性自适应调整,并对不可行解进行了贪婪修复。实验结果表明,相比传统的自适应遗传算法,新算法收敛速度快,寻优能力强,具有更可靠的稳定性。Abstract:Thispapercombinestheimprovedadaptivegeneticalgorithmwithgreedyalgorithmtosolvethe0-1knapsackproblem.Byoptimizingthecross-o

2、verrateandmutationrate,thisalgorithmhasrealizednon-linearadaptiveadjustment,andhasdonegreedyrepairtothenon-feasiblesolution.Theresultshowsthat,comparedwithtraditionaladaptivegeneticalgorithm,thenewalgorithmhasfasterconvergencespeedandstrongersearchingabilityandmorereliablestability.关键

3、词:背包问题;遗传算法;鲁棒性;贪婪算法Keywords:knapsackproblem;geneticalgorithm;robustness;greedyalgorithm6中图分类号:TP301.6文献标识码:A文章编号:1006-4311(2013)22-0231-020引言1975年,Holland等人基于自然界的遗传和自然选择,提出了全局优化算法——遗传算法[1]。遗传算法具有鲁棒性强,适用于并行计算以及高效性、实用性等显著特点,在各领域得到了广泛应用,取得了良好效果,并逐渐成为重要的智能算法之一。随后,自适应调整交叉率和变异率被应用到遗传算法中,较好

4、地提高了算法的收敛速度,但算法的鲁棒性仍十分具有挑战性[5]。本文将自适应遗传算法应用于求解0-1背包问题,并利用贪婪算法对不可行解和背包资源利用不足的问题进行修复,提出了一种基于贪婪算法的改进的自适应遗传算法。数值实验表明此算法在求解0-1背包问题时非常有效。1背包问题若有n个不同的物体,对于物体j,其重量为wi,价值为pj,b是背包的最大容量,背包问题就是要在不超过背包承受重量的前提下,使装入背包的物品价值最大,则背包问题的数学模型如下:max■xipis.t.■wixi?燮bxi=0或1,i=1,2,……,n6其中xj为0-1决策变量(当物品j被选择时xj=

5、1,否则xj=0)。2价值密度及贪婪算法第j个物体的价值密度midu(j)定义为:midu(j)=pj/wj。按价值密度的次序逐一选取物体装入背包,若两个物体的价值密度相同则重量大的排在前面,由此背包价值增大,直到背包不能装入任一物体为止,此种排序方法还可以提高贪婪算法的质量。3改进的自适应遗传算法3.1编码修复算法采用二进制编码,不可行性的初始解主要有:第一,构造初始种群时产生的不可行解;第二,自适应遗传操作(如交叉和变异算子)导致的不可行解。修复不可行解的贪婪算法[4]:将已装入背包中的物品按照价值与重量之比的升序排列,依此顺序去掉物品,保证背包不超重。3.2

6、适应度函数由于适应度值是群体中个体生存机会选择的唯一确定性指标,所以适应度函数的形式直接决定着群体的行为进化。为了直接将适应度函数与群体中的个体优劣度量相联系,在遗传算法中规定适应度为非负,并且在任何情况下总是越大越好。由于本算法对每个个体使用了贪婪算法修正,即保证了不会产生无效染色体,所以在进行个体适应度评价时无须引用惩罚函数项,而是直接用目标函数值作为适应度函数值,即fitness(x)=■xipi。63.3初始种群的产生随机产生初始群体p=(p1,p2,…,ppopsize),popsize是种群规模,并对不可行解进行修复,再用贪婪算法产生一个近似最优解代替

7、初始种群中适应度最小的个体,得到初始种群p′=(p′1,p′2,…p′popsize)。3.4选择操作先计算群体中个体所对应的适应度总和■fi,再计算个体相对的适应度fi/■fi,即个体遗传到下一代的概率,最后产生一个0到1之间的随机数,根据此随机数来确定各个个体被选中的次数,并将上一代的最优个体直接进入下一代,这样,每进化一代,下一代的最优个体一定不劣于上一代[6]。3.5自适应的交叉和变异算子在遗传算法中,交叉和变异是影响GA行为和性能的关键。本文所使用的交叉与变异率公式如下:pc=■,f′?叟favgk2,f′?燮favg(1)pc=■,f?叟favgk4,

8、f?燮fa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。