遗传算法课程报告.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文档。上传文档
查看更多
NSGA-II遗传算法 一.背景 NSGA 是由Srinivas和Deb于20世纪90年代初期提出的,它的高效性在于运用一个非支配分类程序,使多目标简化至一个适应度函数的方式。该方法能解决任意数目的目标问题,并且能够求最大和最小的问题。Deb于2002年对NSGA 进行了改进,提出了NSGA-II,一种快速的非劣性排序方法:定义了拥挤距离估计某个点周围的解密度取代适应值共享。NSGA-II有效克服了NSGA的三大缺陷:计算复杂性从降至,具备最优保留机制及无需确定一个共享参数。进一步提高了计算效率和算法的鲁棒性。该算法得到的非劣解再目标空间分布均匀,收敛性和鲁棒性好,已成为进化多目标优化里关于的基准算法之一。 二.NSGA-II简介 在NSGA-II算法中,种群的初始化和普通的遗传算法一样,在决策变量的定义域区间随机产生。初始化之后,对群体进行非支配性排序,使个体进入各自的前沿集合。非支配性个体属于第一前沿集合P1,只受第一前沿集合个体直接支配个体属于第二前沿P2,依次类推。并且处于同一前沿集合的个体具有相同的秩(rank)。秩的大小等于个体所处的第几前沿数。第一前沿P1的个体的秩为1,第二前沿P2的个体的秩为2,依次类推。 此外,每个个体除有秩这个参数之外,还有一个参数——聚集距离(crowding distance)。用来衡量个体与其相邻的个体间的聚集度。较大的聚集距离意味着在种群中具有较好的分布性。 种群中父个体的选择采用基于秩和聚集距离的二进制锦标赛选择方式。具有较小秩的个体优先选择。若两个体秩相同,具有较大聚集距离的个体优先选择。所选择父个体种群经变异和杂交之后产生子种群,在与原来产生父个体的种群进行合并,经非支配性排序之后产生下一代群体。 NSGA-II 详细介绍 3.1 构造非支配集 该算法有两部分组成,第一部分用于计算ni和Si。其中ni表示支配个体i的个体总数,Si表示个体i所支配的个体集合。第二部分用于求P1,P2,P3,....。Pi表示第i个前沿集合。 fast-nondominated-sort(Pop) { for each p ∈ Pop { for each q ∈ Pop then if ( p dominated q ) then // p 支配 q Sp = Sp ∪ {q} else if ( q dominated p ) then // q 支配 p np = np + 1 }end for q if ( np == 0 ) then P1 = P1 ∪ {p} i = 1; while(Pi != ? ) { H = ? for each p ∈ Pi { for each q ∈ Sp nq = nq -1 ; if (nq == 0) then H = H U{q} end for fast-nondominated-sort 3.2 聚集距离计算 在产生新群体时,通常将优秀的同时聚集距离较大的个体保留下来参与下一代进化。聚集密度小的个体其聚集距离反而大,一个个体的聚集距离可以通过计算与其相邻的两个个体在每个子目标的差距之和来求取。因此需要对个体P的每个个体按目标函数进行排序,这里选择快排。如下图所示,设有两个子目标f1 和f2 ,个体i的聚集距离是图中虚线四边形的长与宽之和。则目标空间的i的聚集距离P[i]distance = (P[i+1].f1-P[i-1].f1)+(P[i+1].f2-P[i-1].f2) 图 1 聚集距离计算 计算个体间的聚集距离如下: crowding-distance-assignment(P) { N = |P| // N为种群的大小 for each i, P[i]distance = 0 ; for each objective m { P = sort(P,m); P[0]distance = P[N-1]distance = for each i = 1 to (N-2) P[i]distance = P[i]distance + (P[i+1].m - P[i-1].m); } } 3.4 选择操作 一旦种群中的个体按照非支配性原则和聚集距离进行排序。个体的选择操作就可以进行。排序中的比较操作定义如下:设个体i和个体j为进化群体中的任意个体,个体间的大小关系定义为 i j if ( irank jrank 或者 irank = jrank 且 P[i]distance P[j]distance) 定义表明,当两个体属于不同的前沿集合时,较小秩(rank)的个体优于较

文档评论(0)

智慧书苑 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档