-
看完pdf书籍的第26页-33页,结合其中的例题,弄懂二进制编码的遗传算法的工作机理;实现二进制编码的遗传算法;思考并回答:
(1)什么是遗传算法?遗传算法的起源是什么?
(2)遗传算法是如何工作的?
(3)最早提出遗传算法的人物是谁?遗传算法的发展历程如何?
(4)发展历程中,有什么代表性的人物和著作?
-
了解并掌握实数编码的遗传算法,思考遗传算法实数编码与二进制编码的不同之处以及优势,实现实数编码的遗传算法;
-
基于所实现的实数编码的GA算法,在CEC2014 benchmark上测试GA算法的性能;主要在单峰优化问题F1、F3;多峰优化问题F8、F12;混合优化问题F18、F20和复合优化问题F25、F30,8个函数上测试GA算法的性能;所有测试函数的公式以及定义请参考所发的英文文档。
-
基于以上8个函数,测试各个参数对算法性能的影响:GA中population size、变异概率、交叉概率等对算法的影响;不同类型的优化问题上,参数对算法性能的影响可能不一样,需要分类分析;其中交叉概率从0.9以0.1步长递减至0.1;变异概率从0.01以0.01步长递增至0.1;种群大小从20以20步长递增至200;最大迭代次数设置为20000,每2000代记录一次结果;选择机制测试:竞标赛选择和轮盘赌选择,测试两种选择机制对算法的性能的影响;
-
汇总所有作业成果,形成一个实验报告,从遗传算法的起源、发展历程到实现,分析遗传算法在不同类别函数的性能以及参数对GA算法性能影响。
-
所有随机函数请用boost_1_46版本中的随机数库来实现
-
按照我提供的CSO算法的代码模板or风格实现;注:我是在Linux上实现的;
-
最好在Linux上实现,Linux上可以使用codeblock编程环境,跟Visual Studio非常类似;如果一定要坚持在windows上实现,请不要调用windows的内部函数or头文件,比如window.h
-
每个算法在每个测试函数或者测试集上跑10次独立实验
-
实验结果能以图形展示的,就以图形展示;而后再用表格展示;
-
画图大家可以使用origin工具(网上自行下载);如果会使用matlab语言的,用matlab画图也可;
-
将所有实验结果整理成word文档;特别说明,国外的会议和期刊都是使用word,不接受wps格式的文档,因此大家如果装的是wps,替换成word。
-
大家争取在两个星期内完成以上工作;
-
期间有任何疑问都可以在微信上随时咨询;