资源简介
本资源为NSGA2的C语言代码,实验问题为ZDT1,ZDT2,ZDT3,ZDT6,DTLZ1,DTLZ2。
代码片段和文件信息
/*
程序功能:实现nsga2算法,测试函数为ZDT1ZDT2ZDT3ZDT4ZDT6DTLZ1DTLZ2
说明:遗传算子为二进制竞赛选择,模拟二进制交叉和多项式变异
作者:(晓风)
email: 18821709267@163.com
参考论文:
A fast and Elitist Multiobjective Genetic Algorithm:NSGA-Ⅱ
Kalyanmoy DebAssociate Member IEEE Amrit Pratap Sameer Agarwal and T.Meyarivan
IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION
最初建立时间:2018.10.12
最近修改时间:2018.10.19
*/
/*
算法使用说明:
1.本算法为NSGA2,实验采用的测试函数为ZDT1ZDT2ZDT3ZDT4ZDT6DTLZ1DTLZ2,要选择哪个函数请修改第123行。
2.文件输出路径请修改中127行的a数组,格式必须与a保持相同,第125行设置路径中的实验次数(做几次实验就设到几,比如设置十次实验就1-10,最大实验次数为10,增加最大实验次数还需修改213行之后,增加与上述相同的随机种子选项即可)。
3.采用新的测试函数请修改input.h(13行开始是函数的约束条件)和func.h(41行开始是函数编写的部分)两个文件。
4.本算法默认采用实数编码,但迭代过程中进行了二进制编码,二进制编码采用了两种交叉类型,单点交叉和均匀交叉,选择那个修改input.h的11行。如果要使用二进制编码,请将func.h中的33-38行注释变成代码,29-32行加上注释,即得到二进制编码的结果。
5.本实验可修改的参数(input.h中
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-10-23 17:02 nsga2代码\
文件 1753 2018-10-17 16:09 nsga2代码\bincross.h
文件 676 2018-10-17 09:52 nsga2代码\binmut.h
文件 853 2018-10-15 11:58 nsga2代码\decode.h
文件 3378 2018-10-19 20:52 nsga2代码\func.h
文件 512 2018-10-15 11:57 nsga2代码\init.h
文件 4844 2018-10-19 20:52 nsga2代码\input.h
文件 10579 2018-10-18 12:34 nsga2代码\keepaliven.h
文件 11692 2018-10-23 16:31 nsga2代码\nsga2.cpp
文件 199694 2018-10-19 20:48 nsga2代码\nsga2.exe
文件 1519 2018-10-15 11:00 nsga2代码\random.h
文件 4378 2018-10-15 21:25 nsga2代码\ranking.h
文件 3919 2018-10-17 09:29 nsga2代码\realcross.h
文件 370 2018-10-15 11:57 nsga2代码\realinit.h
文件 1650 2018-10-17 15:42 nsga2代码\realmut.h
文件 2826 2018-10-18 19:46 nsga2代码\report.h
文件 3309 2018-10-16 20:18 nsga2代码\select.h
文件 1383 2018-10-19 20:45 nsga2代码\uniformxr.h
评论
共有 条评论