NSGA-II是一种非常著名的多目标优化算法。我之前提交了一个示例,希望通过将此提交创建为一个函数,使其对其他人有用。尽管该函数非常特定于基准问题,但只要稍加修改,它就可以用于任何多目标优化。
该函数为nsga_2(pop,gen)。函数的输入参数是总体大小和代数。出于定制目的,用户可以通过修改m文件(evaluate_objective.m)自由修改目标函数(多个决策变量的函数)。文件中已经描述了两个示例目标函数。用户还可以自由定义决策空间。
有关NSGA-II的更多信息,请访问位于http://www.iitk.ac.in/kangal/
我目前正在研究的多目标优化的主要应用之一是使用MOEA调整PID控制器。我希望不久能与大家分享这项工作。
更新(2009年1月27日):我无法支持用户修改此程序以将约束纳入优化程序的请求,因万博1manbetx为我没有时间深入研究此领域。因此,从今天(2009年1月27日)起,我将在GPLv3下发布此程序。这意味着任何人和每个人都可以根据自己的意愿修改此代码。享受但请记住将代码贡献给社区。
自2009年7月17日起生效。本代码根据BSD许可证重新获得许可,以符合Mathworks向MATLAB central提交文件的政策。
注意:我不再有资源来维护此代码。
引用为
阿拉文德·塞沙德里(2021年)。NSGA-II:一种多目标优化算法(//www.tianjin-qmedu.com/matlabcentral/fileexchange/10429-nsga-ii-a-multi-objective-optimization-algorithm),MATLAB中央文件交换。恢复.
MATLAB版本兼容性
平台兼容性
窗户 马科斯 Linux标签
致谢
受到启发的:梯级发电循环优化,关于拥挤距离的计算,遗传算法在车间调度中的应用,NSGA-II:一个多目标优化程序,单目标遗传算法,GODLIKE-一个健壮的单目标和多目标优化器,NGPM——MatlabV1.4中的NSGA-II程序,基于模糊性能反馈的多目标差分进化,NSGA-II用于调度