NSGA2 Matlab toolbox

NSGA2 Matlab toolbox最近做数模,偶然间发现这个算法,还在学习中,下面转载下资料。NSGA-II是一个很成熟的多目标优化算法了。根本原理还是Patero最优问题。NSGA-IImatlab代码,网上比较有名的是AravindSeshadri写的,采用的是BSD许可证。它的程序可以在http://www.mathworks.com/matlabcentral/fileexchange/10

大家好,又见面了,我是你们的朋友全栈君。

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

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.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144657.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于ifndef…endif用法的详解和补充

    关于ifndef…endif用法的详解和补充具体示例 1 definex 定义一个宏 endif C 语言在对程序进行编译时 会先根据预处理命令进行 预处理 C 语言编译系统包括预处理 编译和链接等部分 ifndefx 先测试 x 是否被宏定义过 definex 程序段 1 如果 x 没有被宏定义过 定义 x 并编译程序段 1 else 程序段 2 如果 x 已经定义过了则编译程序段 2 的语句 忽视 程序段 1

    2025年11月14日
    3
  • 深入浅出ES6(四):模板字符串

    在上一篇文章中,我说过要写一篇风格迥异的新文章,在了解了迭代器和生成器后,是时候来品味一些不烧脑的简单知识,如果你们觉得太难了,还不快去啃犀牛书!现在,就让我们从最简单的知识学起吧!反撇号(`)基础知识ES6引入了一种新型的字符串字面量语法,我们称之为模板字符串(templatestrings)。除了使用反撇号字符`代替普通字符串的引号’或”外,它们看起来与普通

    2022年4月5日
    126
  • VMware 15 Pro 激活码 2021[在线序列号]

    VMware 15 Pro 激活码 2021[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    96
  • PHP正则表达式_python正则匹配字母

    PHP正则表达式_python正则匹配字母一、正则表达式语法(Perl风格)1、模式规则  /php/字符串前后加上两条斜杠即可2、匹配函数  preg_match(‘/php/’,php)  参数1模式  参数2字符串二、正则表达式中的元素介绍  1、正则表达式中包含三种元素分别为:量词、元字符、修饰符  2、前导字符串:就是符号前面的一个字符或字符串量词…

    2025年8月22日
    3
  • 在node.js中使用COOKIE

    node.js中如何向客户端发送COOKIE呢?有如下两个方案:一、使用response.writeHead,代码示例://设置过期时间为一分钟1vartoday=newDate();

    2021年12月21日
    43
  • 网络分析工具——WireShark的使用(超详细)[通俗易懂]

    网络分析工具——WireShark的使用(超详细)[通俗易懂]网络分析工具——WireShark的使用简介WireShark软件安装Wireshark开始抓包示例WireShark抓包界面WireShark主要分为这几个界面TCP包的具体内容Wireshark过滤器设置wireshark过滤器表达式的规则Wireshark抓包分析TCP三次握手Wireshark分析常用操作简介WireShark是非常流行的网络封包分析工具,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程中各种问题定位。本文主要内容包括:1、Wireshark软件下载和安装以

    2022年6月21日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号