NSGA2 Matlab toolbox

最近做数模,偶然间发现这个算法,还在学习中,下面转载下资料。

NSGA-II是一个很成熟的多目标优化算法了。根本原理还是Patero最优问题。

NSGA-II matlab代码,网上比较有名的是Aravind Seshadri写的,采用的是BSD许可证。

它的程序可以在http://www.mathworks.com/matlabcentral/fileexchange/10429-nsga-ii-a-multi-objective-optimization-algorithm下载到。


这里做一下简要的使用介绍:

objective_description_function.m 要自己重写,主要是定义优化目标函数个数、随机种子取值范围等等。

evaluate_objective.m 是优化目标函数,当然要自己重写了。

nsga_2.m是启动函数,要设置两个参数。

其他m文件基本不用改动。具体介绍看程序包里的html说明,算法看pdf文件。

 

下面拷贝一下作者的对该工具箱的介绍。作者也说了,不在维护该程序了,有错误只能自己改了。

NSGA-II is a very famous multi-objective optimization algorithm. I submitted an example previously and wanted to make this submission useful to others by creating it as a function. Even though this function is very specific to benchmark problems, with a little bit more modification this can be adopted for any multi-objective optimization.

The function is nsga_2(pop,gen). The input arguments for the function are population size and number of generations. For customization purposes the user is free to modify the objective function (function of several decision variables) by modifying an m file (evaluate_objective.m). Couple of sample objective functions is already described in the file. The user also has the freedom to define the decision space.

For more information on NSGA-II visit Kanpur Genetic Algorithm Laboratory at http://www.iitk.ac.in/kangal/

One of the main applications of multi-objective optimization that I am currently working on is tuning PID controllers using MOEA. I am hoping to share that work with everyone soon.

Update (January 27, 2009): I am unable to support user's request to modify this program to incorporate constraints in the optimization program since I have no time to delve into this field. Hence effective today (January 27, 2009) I release this program under GPLv3. This means that anyone and everyone can modify this code as and how they wish. Enjoy! But do remember to contribute the code back to the community.

Effective July 17, 2009 this code is re-licensed under BSD license to comply with Mathworks policy on submissions to MATLAB central.

Note: I no longer have the resources to maintain this code.


  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1 2/3维图像分割工具箱 2 PSORT粒子群优化工具箱 3 matlab计量工具箱Lesage 4 MatCont7p1 5 matlab模糊逻辑工具箱函数 6 医学图像处理工具箱 7 人工蜂群工具箱 8 MPT3安装包 9 drEEM toolbox 10 DOMFluor Toolbox v1.7 11 Matlab数学建模工具箱 12 马尔可夫决策过程(MDP)工具箱MDPtoolbox 13 国立SVM工具箱 14 模式识别与机器学习工具箱 15 ttsbox1.1语音合成工具箱 16 分数阶傅里叶变换的程序FRFT 17 魔方模拟器与规划求解 18 隐马尔可夫模型工具箱 HMM 19 图理论工具箱GrTheory 20 自由曲线拟合工具箱ezyfit 21 分形维数计算工具箱FracLab 2.2 22 For-Each 23 PlotPub 24 Sheffield大学最新遗传算法工具箱 25 Camera Calibration 像机标定工具箱 26 Qhull(二维三维三角分解、泰森图)凸包工具箱 2019版 27 jplv7 28 MatlabFns 29 张量工具箱Tensor Toolbox 30 海洋要素计算工具箱seawater 31 地图工具箱m_map 32 othercolor配色工具包 33 Matlab数学建模工具箱 34 元胞自动机 35 量子波函数演示工具箱 36 图像局域特征匹配工具箱 37 图像分割graphcut工具箱 38 NSGA-II工具箱 39 chinamap中国地图数据工具箱(大陆地区) 40 2D GaussFit高斯拟合工具箱 41 dijkstra最小成本路径算法 42 多维数据快速矩阵乘法 43 约束粒子群优化算法 44 脑MRI肿瘤的检测与分类 45 Matlab数值分析算法程序 46 matlab车牌识别完整程序 47 机器人工具箱robot-10.3.1 48 cvx凸优化处理工具箱 49 hctsa时间序列分析工具箱 50 神经科学工具箱Psychtoolbox-3-PTB 51 地震数据处理工具CREWES1990版 52 经济最优化工具箱CompEcon 53 基于约束的重构分析工具箱Cobratoolbox 54 Schwarz-Christoffel Toolbox 55 Gibbs-SeaWater (GSW)海洋学工具箱 56 光声仿真工具箱K-Wave-toolbox-1.2.1 57 语音处理工具箱Sap-Voicebox 58 贝叶斯网工具箱Bayes Net Toolbox(BNT) 59 计算机视觉工具箱VFfeat-0.9.21 60 全向相机校准工具箱OCamCalib_v3.0 61 心理物理学数据分析工具箱Palamedes1_10_3 62 生理学研究工具箱EEGLAB 63 磁共振成像处理工具箱CONN 18b 64 matlab 复杂网络工具箱 65 聚类分析工具箱FuzzyClusteringToolbox 66 遗传规划matlab工具箱 67 粒子群优化工具箱 68 数字图像处理工具箱DIPUM Toolbax V1.1.3 69 遗传算法工具箱 70 鱼群算法工具箱OptimizedAFSAr 71 蚁群算法工具箱 72 matlab优化工具箱 73 数据包络分析工具箱 74 图像分割质量评估工具包 75 相关向量机工具箱 76 音频处理工具箱 77 nurbs工具箱 78 Nurbs-surface工具箱 79 grabit数据提取工具箱 80 量子信息工具箱QLib 81 DYNAMO工具箱 82 NEDC循环的整车油耗量 83 PlotHub工具箱 84 MvCAT_Ver02.01 85 Regularization Tools Version 4.1 86 MatrixVB 4.5(含注册) 87 空间几何工具箱 matGeom-1.2.2 88 大数计算工具箱 VariablePrecisionIntegers 89 晶体织构分析工具包 mtex-5.7.0 90 Minimal Paths 2工具箱 91 Matlab数学建模工具箱
NSGA-II是一种多目标优化算法,它被设计用于解决具有多个冲突目标的优化问题。在Matlab中,我们可以使用NSGA-II工具箱来实现和应用这个算法NSGA-II工具箱是一个包含了用于实现NSGA-II算法函数和工具的Matlab工具包。它提供了一套易于使用的函数算法,可以帮助用户快速实现和应用NSGA-II算法来解决复杂的多目标优化问题。 NSGA-II算法的核心思想是通过遗传算法和非支配排序方法来进行多目标优化。它使用一种称为“非支配排序”的方法来评估解的优劣,并根据解的支配等级和拥挤距离进行选择和进化。NSGA-II算法还包括交叉、变异和选择等遗传算法的运算符,以实现解的多样性和收敛性。 使用NSGA-II工具箱,我们可以通过简单地调用相应的函数和设置一些参数来应用NSGA-II算法。我们需要定义目标函数、约束条件和变量范围,并设置一些算法参数,如种群大小、交叉率、变异率等。然后,我们可以使用NSGA-II工具箱提供的优化函数来执行优化过程,并获得一个近似的Pareto前沿,其中包含了多个非支配解。 NSGA-II工具箱还提供了一些用于可视化和分析结果的函数和工具。我们可以使用这些函数来进行结果的可视化、拥挤度距离的计算和比较、以及对优化结果进行后处理和验证。这些工具可以帮助用户更好地理解NSGA-II算法的性能和优化结果,以便做出更好的决策。 总的来说,NSGA-II工具箱是一个方便的工具,可帮助用户使用Matlab实现和应用NSGA-II算法来解决多目标优化问题。它提供了一套完整的函数和工具,使得使用NSGA-II算法进行优化变得更加简单和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值