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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java安全之Commons Collections6分析

    Java安全之CommonsCollections6分析0x00前言其实在分析的几条链中都大致相同,都是基于前面一些链的变形,在本文的CC6链中,就和前面的有点小小的区别。在CC6链中也和CC

    2021年12月12日
    46
  • IT牛人博客聚合 – Linode日本东京机房速度飞快 编程牛人 技术牛人

    IT牛人博客聚合 – Linode日本东京机房速度飞快 编程牛人 技术牛人为了应对亚太地域快速增加的需求,Linode起头把机房建在亚洲了!第一个Linode亚洲机房选择在日本东京.我测了下,速度比本来在美国加州快多了,应当首要得益于收集延时的削减.所以,我当即开了张SupportTicket将我的VPS迁到了日本.迁完以后,拜候速度飞快!和原来在国内某机房没有感受上的区分.大师可以反馈下你会见的速度是不是有晋升?注:Lino

    2022年7月12日
    22
  • 什么是高并发 ,详细讲解[通俗易懂]

    什么是高并发 ,详细讲解[通俗易懂]一、什么是高并发高并发(HighConcurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。 高并发相关常用的一些指标有响应时间(ResponseTime),吞吐量(Throughput),每秒查询率QPS(QueryPerSecond),并发用户数等。 响应时间:系统对请求做出响应的时间。例如系统处理一…

    2022年5月31日
    33
  • Oracle常用操作

    Oracle常用操作

    2021年9月3日
    53
  • VMware Ubuntu安装详细过程

    VMware Ubuntu安装详细过程

    2020年11月12日
    180
  • windows update error 0x8024401c

    windows update error 0x8024401cError0x8024401c以系統管理員身分執行命令提示字元,然後執行下列三行指令:netstopwuauservregdeleteHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdatenetstartwuauserv操作如下:C:\Windows\system32>netstop…

    2022年4月27日
    55

发表回复

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

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