南京航空航天大学遗传算法大作业汇总

南 京 航 空 航 天 大 学 研究生课程考试答题纸

共 页 第 1 页

2013 -–2014 学年第 1 学期《计算智能技术的MATLAB实现》课程 学院 航空宇航学院 姓名 成绩 1. 最好结合自己的课题,提取其科学问题并建立其数学模型或选择一数学问题,任意选择一种智能算法进行求解。要求论述清楚你所选择的科学问题(或数学问题)及所选择的智能算法的控制参数(若选择遗传算法求解,控制参数包括适应度函数形式、最大遗传代数参考值、交叉率、变异率、代沟、插入概率、子种群个数、迁移率等;若选择二进制编码,要说明自变量取值范围及取值要求精确到小数点后几位,如何确定二进制编码位数;要求必须使用适应度排序和子代插入命令;要求绘出所建数学模型的最佳解及种群均值随迭代次数的变化曲线;输出函数的极值及对应的自变量取值;) 若所建的数学模型有显函数形式,需绘出该函数图像;要求尽可能发挥自己的想像力和创造力,提出新问题、新解法,若问题过于复杂,无法写出目标函数求解过程中的一些中间量,可略去其过程,论述清楚你所选择的其它辅助软件或工具的功能及其与智能算法程序的连接思想或方法即可;具体要求在大作业中有问题描述和理论分析、图像或曲线、结果输出、程序源代码等,并提交电子版,任何人的程序不得重复,否则按不及格论处!!! 商旅问题的MATLAB实现 商旅问题可描述为:一位销售商从n个城市中的某一城市出发,不重复地走完其余n-1个城市并回到原出发点,在所有可能路径中求出路径长度最短的一条。 遗传算法求解商旅问题的控制参数 1.种群初始化。个体编码方法有二进制编码和实数编码,在解决商旅问题过程中个体编码方法为实数编码。对于商旅问题,实数编码为1-n的实数的随机排列,初始化的参数有种群个数M、染色体基因个数N(即城市的个数)、最大遗传代数参考值C=100、交叉概率Pc=0.4、变异概率Pmutation=0.2。 2.适应度函数。在商旅问题中,对于任意两个城市之间的距离D(i,j)已知,每个染色体(即n个城市的随机排列)可计算出总距离,因此可将一个随机全排列的总距离的倒数作为适应度函数,即距离越短,适应度函数越好,满足商旅问题要求。 fitness(i,1)=(1-(len(i,1)-minlen)/(maxlen-minlen+0.0001)).^m 3.选择操作。遗传算法选择操作有轮盘赌法、锦标赛法等多种方法,本程序采用基于适应度比例的选择,即适应度越好的个体被选择的概率越大,同时在选择中保存适应度最高的个体。

4.交叉操作。遗传算法中交叉操作有多种方法。本程序中对于个体,随机选择两个个体,在对应位置交换若干个基因片段,同时保证每个个体依然是1-n的随机排列,防止进入局部收敛。 5.变异操作。本程序中对于变异操作,随机选取个体,同时随机选取个体的两个基因进行交换以实现变异操作。 图1 初始种群分布

图2 未进行遗传迭代的结果 图3 进行了迭代优化后的结果

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4