python多目标优化_多目标优化算法(四)NSGA3(NSGAIII)论文复现以及matlab和python的代码...

前言:最近太忙,这个系列已经很久没有更新了,本次就更新一个Deb大神的NSGA2的“升级版”算法NSGA3。因为multi-objective optimization已经被做烂了,现在学者们都在做many-objective optimization,也就是5个以上的目标函数(悄悄说一句,我觉得这个也要被做烂了)。此次我是用python复现的,这篇文章也主要以python代码讲解为主。在编写代码过程中,一些小技巧借鉴了platEMO,这个平台在我之前的博客里已经介绍过了,里面包含了近乎所有知名的多目标优化算法,想学习的小伙伴可以看我之前的博客介绍:https://blog.csdn.net/qq_40434430/article/details/88366639

为了哪些只想使用NSGA3的同学,我将NSGA3的matlab代码从平台中扣了出来,想要的在我的主页里下载吧,链接如下:(matlab我使用的是2017版的)

https://download.csdn.net/download/qq_40434430/11079440

python代码使用的python3.6,其它版本的也可以,毕竟没有用到什么复杂的库,就只是用到了numpy等常用的库。完整的python代码大家也可以去我CSDN主页下载哈。

摘要:此次博客主要记录了Kalyanmoy Deb和Himanshu Jain《An Evolutionary Many-Objective Optimization Algorithm Using Reference-point Based Non-dominated Sorting Approach, Part I: Solving Problems with Box Constraints》的论文学习心得[1],此篇文章提出了处理多个优化目标的进化优化算法NSGAIII。其主要思路是在NSGAII的基础上,引入参考点机制,对于那些非支配并且接近参考点的种群个体进行保留。此次复现处理的优化问题是具有3到15个目标的DTLZ系列[2],仿真结果反应了NSGAIII良好的搜索帕累托最优解集的能力。

关键字:Many-objective optimization,高维问题,NSGAIII,非支配排序,参考点

I.问题简介

​ 在很多真实的应用中,优化目标往往不只有一两个,而是有4个以上。针对这样的高维目标空间,现有的EMO显得有些力不从心,其主要问题为以下六点:

随着优化目标数量的增加,非支配解在种群中的比例也在增加,因而会导致搜索过程缓慢;

对于高维目标空间,维持多样性的指标计算复杂度过高,解的邻近元素寻找困难;

对于高维目标空间,重组算子的搜索能力过于低效了;

因为目标函数较

你可能感兴趣的:(python多目标优化)