分享好友 最新动态首页 最新动态分类 切换频道
MATLAB应用实战系列NSGA-II多目标优化算法原理及应用实例(附MATLAB代码)
2024-12-26 19:57

前言 

MATLAB应用实战系列NSGA-II多目标优化算法原理及应用实例(附MATLAB代码)

NSGA-Ⅱ是最流行的多目标遗传算法之一,它降低了非劣排序遗传算法的复杂性,具有运行速度快,解集的收敛性好的优点,成为其他多目标优化算法性能的基准。

NSGA-Ⅱ算法是 Srinivas 和 Deb 于 2000 年在 NSGA 的基础上提出的,它比 NSGA算法更加优越:它采用了快速非支配排序算法,计算复杂度比 NSGA 大大的降低;采用了拥挤度和拥挤度比较算子,代替了需要指定的共享半径 shareQ,并在快速排序后的同级比较中作为胜出标准,使准 Pareto 域中的个体能扩展到整个 Pareto 域,并均匀分布,保持了种群的多样性;引入了精英策略,扩大了采样空间,防止最佳个体的丢失,提高了算法的运算速度和鲁棒性。

以下是博主精心整理的两个matlab专栏,包含入门到精通及实战内容,需要的小伙伴可根据自己需求自行订阅。

MATLAB-30天带你从入门到精通

https://blog.csdn.net/wenyusuran/category_10614422.html

MATLAB深入理解高级教程(附源码)

https://blog.csdn.net/wenyusuran/category_2239265.html

需要详细源码的小伙伴可参见:

数学建模源码集锦-基于遗传算法的多目标优化算法应用实例

https://download.csdn.net/download/wenyusuran/15749792

选择过程分两个部分:
1. 把种群分成一组Pareto非支配集。一个非支配集里的个体不被当前或之后非支配集里的任何个体支配。方法就是每次选出所有不被任何其他个体支配的非支配个体,从种群里删除当一个非支配集,然后剩下的再不停重复这个过程,直到取完。
2. 按crowd distance排序。就是在各个维度左右相邻个体的距离之和。


1.先对M个个体求pareto解。然后得到F1,F2……等这些pareto的集合。
2.把F1的所有个体全部放入N,若N没满,继续放F2,直到有Fk不能全部放入已经放入F1、F2、…、F(k-1)的N(空间)。此时对Fk进行求解。
3.对于Fk中的个体,求出Fk中的每个个体的拥挤距离Lk[i](crowding distance),在fk中按照Lk[i]递减排序,放入N中,直到N满。

NSGA-II在常规遗传算法上的改进,关键步骤就3步。

 

 

多目标优化问题的设计关键在于求取Pareto最优解集。NSGA-II算法中的快速非支配排序是根据个体的非劣解水平对种群分层,其作用是指引搜索向Pareto最优解集方向进行。它是一个循环的适应值分级过程:首先找出群体中非支配解集,记为第一非支配层F,将其所有个体赋予非支配序值irank=1(其中irank是个体i的非支配排序值),并从整个种群中除去;然后继续找出余下群体中非支配解集,记为第二非支配排序层F2,个体被赋予非支配序值irank=2;照此进行下去,直到整个种群被分层,同一分层内的个体具有相同的非支配序值irank。

 

 

为了能够在具有相同irank的个体内进行选择性排序,NSGA-II提出了个体拥挤距离的概念。个体i的拥挤距离是目标空间上与i相邻的2个个体i+1和i-1之间的距离,其计算步骤为:

a)对同层的个体初始化距离。令L[i]d=0(其中L[i]d表示任意个体i的拥挤距离);

b)对同层的个体按第m个目标函数值升序排列;

c)使得排序边缘上的个体具有选择优势。给定一个大数M,令L[1]d=L[end]d=M;

d)对排序中间的个体,求拥挤距离:

e)对不同的目标函数,重复步骤a)~步骤d)操作,得到个体i的拥挤距离L[i]d,通过优先选择拥挤距离较大的个体,可使计算结果在目标空间比较均匀分布,以维持种群的多样性。

 

 

精英策略即保留父代中的优良个体直接进入子代,以防止获得的Pareto最优解丢失。精英策略选择算子按3个指标对由父代Ci和子代Di合成的种群Ri进行优选,以组成新的父代种群Ci+1。首先淘汰父代中方案校验标志为不可行的方案按照非支配序值irank从低到高排序,将整层种群依次放入Ci+1,直到放入某一层Fj时出现Ci+1大小超过种群规模限制N的情况;最后,依据Fj中的个体拥挤距离由大到小的顺序继续填充Ci+1直到种群数量达到N时终止

下面这个图片能很好的说明NSGA-II的实现过程


最后附上用NSGA-II求解ZDT1函数的MATLAB代码,ZDT1函数如下:

 

 

 

主函数Main_NSGA2,运行主函数的时候,命令行窗口会出现Test problem index  :,这时需要输入1~14中的任意一个数字,意思就是选择14个测试函数中的任意一个函数。

最新文章
货拉拉申请iOS弹窗管理方法专利,能实现全面且系统的弹窗调度
金融界2024年12月12日消息,国家知识产权局信息显示,深圳依时货拉拉科技有限公司申请一项名为“iOS弹窗管理方法、弹窗管理器、电子设备及存储介质”的专利,公开号 CN 119105830 A,申请日期为2024年8月。专利摘要显示,本发明涉及iOS弹窗
郯城一中2022
----郯城一中2022-2023学年上学期地理学科教研组会议伴着清爽秋风,又一个新学期开始了,郯城一中也开启了向更高的目标前进的步伐。教育提质,教研先行,学校首次教学筹备会议就是教科研会。根据学校教育教学安排,2022年8月29日上午9:00,
荣威rx5钥匙锁车没反应是怎么回事
比亚迪海豚适合。根据网上资料查询,比亚迪海豚和元plus更适合比亚迪海豚来跑滴滴,因为海豚是一款更小的车。不仅在日常通勤中驾驶起来灵活方便,而且停车也非常方便。比亚迪海豚的特点虽然比亚迪海豚的外观看起来比较小巧,但车长只有4070
百度真的已死吗,还是已死过好几回?
纵格得草木来,如何反来诚得自家意?《搜索引擎百度已死》,刷爆朋友圈。文中有这样一句话:一年前的百度不是这样,五年前、十年前的百度更不是这样。百度是什么时候开始变坏的?其实百度一直都很坏,99.99%的成功公司都是坏的。男人不坏,
讨论关键词排名100名后的原因与解决方法
SEO道路,从初学SEO起到现在的SEO入门,网站优化这条道路真的那么舒畅吗,当然不是,会遇到很多“绊脚石”,例如:,虽然是一个问题,但是牵涉到了包含:关键词、代码、改版、降权、排名、收录、搜索、网站、新站、优化、友链、标题、方法、
金牌榜背后的荣耀与挑战,胜利与挑战并存
金牌榜背后蕴含着荣耀与挑战。它代表着运动员的辛勤付出和国家的体育实力,彰显着无数人的梦想和追求。背后的挑战也不容忽视,包括激烈的竞争、训练的压力、伤病的困扰等。运动员需要克服重重困难,才能站在金牌榜上接受荣誉。这既是他们个
揭秘AI绘画神器——如何一键生成超逼真美女写真
接下来,让我们一起看看如何使用【搜狐简单AI】生成美女写真。第一步:注册并登录访问搜狐简单AI的官方网站,点击注册并创建一个账户,完成后登录。画面简洁,操作轻松。第二步:选择助手在主界面点击“创建”选项,将会有多个AI助手供你选
青年教师成长之路心得体会
青年教师成长之路心得体会  本学期要求青年教师真正更新观念,学以致用,把理论学习同自己的教学实践相结合,不断丰富教育教学理论知识和提高教育教学能力。下面是小编整理的青年教师成长之路心得体会(精选10篇),欢迎阅读!  到这个
网易邮箱注册指南:新手快速上手的详细步骤解析
简介:随着电子邮件在人们日常生活和工作中扮演着越来越重要的角色,拥有一个功能完善的电子邮件账户成为了必要。网易邮箱是中国用户常用的电子邮件服务之一,其简单易用的界面和强大的功能深受用户喜爱。本文将为您提供一份详细的网易邮箱
揭秘淘宝最新骗局,网购安全指南 2017版
摘要:本文将揭露2017年淘宝最新骗局,包括虚假优惠、假冒商品、钓鱼网站等,提醒消费者提高警惕,保护自身网购安全。通过阅读本文,您将了解到如何识别骗局、防范风险,并学会正确选择信誉良好的卖家和优质商品。希望本文能够帮助广大网购
相关文章
推荐文章
发表评论
0评