基于ε支配MOGA在0 1背包问题中应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ε支配MOGA在0 1背包问题中应用

基于ε支配MOGA在0 1背包问题中应用   摘 要:多目标遗传算法NSGAⅡ是解决0/1背包问题\[1\]的有效算法,但是它还存在一定的缺陷,当0/1背包问题的规模较大时,这种方法很难收敛到Pareto最优边界,因此解的分布性不是很好,解集也很难收敛。针对此问题,提出基于ε支配的MOGA来求解0/1背包问题,通过实验验证该算法在求解分布性上优于NSGAⅡ。   关键词:多目标遗传算法;ε支配;背包问题   中图分类号:TP301 文献标识码:A 文章编号2013)003003102   0 引言   多目标0/1背包问题是经典的多目标组合优化问题,具有广泛的应用背景,该问题求解方法的研究无论在理论上还是在实践中都具有一定的意义,如消减库存问题、资金预算问题、货物装载和项目选择问题、资金预算问题等。不管是单目标0/1问题,还是多目标0/1背包问题,都必须满足容量约束。   长期以来,人们对0/1背包问题做了很多重要研究和探索工作,提出了不少求解该类问题的很有价值的方法。精确方法有:动态规划方法、隐枚举法\[2\],这类方法虽然可以保证求得最优解,但计算复杂度较高,对于大规模多维背包问题求解速度慢。启发式方法有:贪心算法、模拟退火算法\[3\]和禁忌搜索算法等近似算法,此类算法虽然运算速度快,但算法的稳定性差,且不能保证求解到最优解。目前,NSGAⅡ算法\[4\]逐渐用于解决背包问题等组合优化问题,但是他们在求解背包问题时有一些缺陷,NSGAⅡ算法运行效率高,但解的分布性较差,并且也很难收敛。   针对上述出现的问题,本文提出了基于ε支配的多目标遗传算法来解决多目标0/1背包问题,克服了上述所提到的缺陷。   1 0/1背包问题的形式化描述   一般来说,一个0/1背包问题是由若干个物品组成的项目集,每个物品都有其重量和价值,而且每个背包都有容量上界,背包问题的目标就是从物品的项目中选择适当的子集,在总重量不超过背包容量上界的情况下,使得选择物品的价值总和最大。多目标0/1背包问题(MOKP:Mutiple Objective Knapsack Problem)就是在单目标背包问题中背包的数目增多的情况下扩展成的。多目标0/1背包问题就是带有一组约束和多个目标函数的0/1背包问题,该问题的描述如下:假设有重量分别为a1,a2,…,an的m个背包和n个项目,它与简单背包问题所不同的是,把第j个物品放入第i重量为ai的箱子,则它的重量为aij,费用为bij,我们的目的就是把尽量多的项目放入每个背包,在满足每个背包承重的前提下,使每个背包的总费用最大。   2 基于ε支配的多目标遗传算法   首先随机生成父代群体P(t),随后把P(t)进行ε支配\[6\],用擂台赛法则\[7\]构造非支配集再进行非支配排序,产生的非支配个体经过选择、交叉、变异等遗传操作生成下一代群体合并进行ε支配的擂台赛法则的非支配排序。用ε支配擂台赛法则构造的Pareto解集后,将全部非支配集转入下一代子集中。   由于ε支配将全部解空间划分为许多小网格(即超立方体),于是在实际应用中,我们通常结合ε支配关系、网络技术和擂台赛法则构造出一个有效的多目标遗传算法。具体内容为:   构造ε非支配集的过程是对复合种群(P(t)∪Q(t))中的个体进行ε支配比较,然后用适应值来构造非支配集,即对每个个体赋给一个适应向量(B=(B1,B2,…,BM)T,M是目标总数),适应向量的定义如下:Bj(f)=\[(fj-fminj)/εj\]   (4) 其中,εj的值和用于ε支配定义中的ε一样,适应向量把整个目标空间分成超立方体,每个超立方体在第j维目标上的大小为εj。根据复合种群中所有个体的适应向量B作一次ε非支配赛选,从该种群中任选一个个体,依据擂台赛法则的思想和其它种群中其它所有个体进行比较,把它ε支配的个体放在种群的最后边(删去),把ε支配它的个体放在最前面(保留),若两者都不是,表明这两个个体为非ε支配关系。如果两个个体的B向量相同并且有正常的支配关系,把更靠近B的个体保留下来。根据以上两个条件可知,每个超立方体只能存在唯一B向量个体,因此,将这三种方法相结合可以保持很好的分布度。   基于ε支配MOGA算法的基本流程:   (1)对所求问题进行编码,P(t)为初始种群,A(t)为 一个空挡集,t=0(迭代次数),最大代数为T;   (2)对种群P(t)进行交叉变异产生的一新种群为Q(t),计算P(t)∪Q(t)中所有个体的适应值,对它们进行ε非支配集的构造,把产生的ε非支配集赋给空档集A(t);   (3)若A(t)的大小为N’,种群的大小为N,当N’N时,由于ε具有自适应性\[8\],可以进行自动调整,ε会调得大一些,再一次对A(t)进行ε非支

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档