ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:76KB ,
资源ID:10879725      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10879725.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数学实验综合实验.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数学实验综合实验.doc

1、河 北 大 学 工 商 学 院课程名称:数学软件与实验 成绩:旅行商问题课 程 号:50c11033课 序 号:01任课教师:邢红杰班 级:5008 信计姓 名:郝杰学 号:2008477042填写日期: 2011-5-24河 北 大 学 工 商 学 院第 1 页旅行商问题5008 信息与计算科学 郝杰 20084770421、实验问题已知 30 个城市的坐标如下: 41 94;37 84;54 67;25 62; 7 64;2 99;68 58;71 44;54 62;83 69;64 60;18 54;22 60;83 46;91 38;25 38;24 42;58 69;71 71;74

2、 78;87 76;18 40;13 40;82 7;62 32; 58 35;45 21;41 26;44 35;4 50一名推销员要拜访多个地点时,如何找到在拜访每个地点一次后再回到起点的最短路径。2、符号说明Location 储存的是个城市的坐标D(i,j) 代表城市 i 和城市 j 之间的距离Len 路径总距离Pc 交叉概率Pm 变异概率3、问题分析与建模3.1 问题分析本题中设定了我国 30 城市,当一个推销员拜访所有城市后回河 北 大 学 工 商 学 院第 2 页到起点, 31 个地点所有路径个数是 30 !个。由于其全局搜索的特性,遗传算法在解决 TSP 问题中有着其他算法所没有

3、的优势。TSP 问题就是寻找一条最短的遍历 n 个城市的最短路径 , 或者说搜索子集 v=v1,v2,v3,vn ( vi 的元素表示对 n 个城市的编号) 的一个排列 t=(t1,t2,t3,ti,tn),其中tiv(i=1,2,3,n),且记 tn+1= t1, , 使 len = d ( Vi , Vi+1) + d ( V1 , Vn)取最小值, 式中的 d ( Vi , Vi+1) 表示城市 Vi 到城市 Vi + 1 的距离.标准的遗传算法包括群体的初始化,选择,交叉,变异操作。其主要步骤可描述如下1: (1)随机产生一组初始个体构成的初始种群,并评价每一个个体的适配值。 (2)判

4、断算法的收敛准则是否满足。若满足输出搜索结果;否则执行以下步骤。 (3)根据适配值大小以一定方式执行选择操作。 (4)按交叉概率Pc执行交叉操作. (5)按变异概率Pm执行变异操作。 (6)返回步骤(2) 。3.2 程序设计3.2.1 坐标系中画出个城市的坐标点矩阵 location 储存的是个城市的坐标(设:推销员出发点的坐河 北 大 学 工 商 学 院第 3 页标为(0,0) )如下图所示:0 10 20 30 40 50 60 70 80 90 1000102030405060708090100locations= 0 0;41 94;37 84;54 67;25 62; 7 64;2

5、99;68 58;71 44;54 62;83 69;64 60;18 54;22 60;83 46;91 38;25 38;24 42;58 69;71 71;74 78;87 76;18 40;13 40;82 7;62 32; 58 35;45 21;41 26;44 35;4 50;plot(locations(:,1),locations(:,2),b*);3.2.2 距离矩阵和适应度函数距离矩阵使用一个 NN 矩阵 D 存储,D(i,j)代表城市 i 和城市 j 之间的距离。 D(i,j)=sqrt((Xi-Xj).2+(Yi-Yj).2) 河 北 大 学 工 商 学 院第 4 页

6、在该问题的求解中,用距离的总和来衡量适应度,距离的总和越大,适应度越小,进而探讨求解结果是否最优。 每个个体(每条路径距离)总合计算公式为:len=D(1,N);for i=1:(N-1)len=len+D(i,i+);end len 纪录总路径格式 n1 len(i)代表第 i 个个体(路径)距离总合。3.2.3 选择操作选择的目的是为了从当前群体中选出优良的个体,使他们有机会作为父代产生后代的个体。function seln=(s,p);inn=size(p,1);for i=1:2r=rand;prand=p-r;j=1;while prand(j)0j=j+1;endseln(i)=j

7、;河 北 大 学 工 商 学 院第 5 页endend3.2.4 交叉操作群体中的每个个体之间都以一定的概率 pc 交叉,即两个个体从各自字符串的某一位置(一般是随机确定)开始互相交换,这类似生物进化过程中的基因分裂与重组。例如,假设 2 个父代个体 x1,x2 为:x1=0100110x2=1010001从每个个体的第 3 位开始交叉,交又后得到 2 个新的子代个体y1,y2 分别为:y10100001y21010110这样 2 个子代个体就分别具有了 2 个父代个体的某些特征。利用交又我们有可能由父代个体在子代组合成具有更高适合度的个体。function xoverKids = tsp_c

8、rossover_permutation(parents,options,NVARS, .FitnessFcn,thisScore,thisPopulation)nKids = length(parents)/2;xoverKids = cell(nKids,1);河 北 大 学 工 商 学 院第 6 页index = 1;for i=1:nKidsparent = thisPopulationparents(index);index = index + 2;p1 = ceil(length(parent) -1) * rand);p2 = p1 + ceil(length(parent) -

9、 p1- 1) * rand);child = parent;child(p1:p2) = fliplr(child(p1:p2);xoverKidsi = child; end3.2.5 变异操作基因的突变普遍存在于生物的进化过程中。变异是指父代中的每个个体的每一位都以概率 pm 翻转,即由 “1”变为“0”,或由“0” 变为“1”。遗传算法的变异特性可以使求解过程随机地搜索到解可能存在的整个空间,因此可以在一定程度上求得全局最优解。functionmutationChildren = mutate_permutation(parents ,options,NVARS, .FitnessFc

10、n,state,thisScore,thisPopulation,mutatio河 北 大 学 工 商 学 院第 7 页nRate)mutationChildren = cell(length(parents),1);for i=1:length(parents)parent = thisPopulationparents(i); p = ceil(length(parent) * rand(1,2);child = parent;child(p(1) = parent(p(2);child(p(2) = parent(p(1);mutationChildreni = child; End4、

11、 MATLB 求解迭代后的最优路径如下图所示河 北 大 学 工 商 学 院第 8 页0 10 20 30 40 50 60 70 80 90 1000102030405060708090100河 北 大 学 工 商 学 院第 9 页由上图可知推销员所走的最短路径 fval = 504.78885、总结体会TSP 问题还有很多其他算法,比如说最临近算法、模拟退火、粒子群算法、最小权匹配算法等等论文用遗传算法对 TSP 问题进行了求解,熟悉遗传算法地算法流程,证明了遗传算法在求解 TSP 问题时,具有可行性,MATLAB 在进行算法优化编程时具有一定的优势。遗传算法在设计过程中要照顾好两个原则子代要具有父代优良的基因信息即继承性子代要保持群体的多样性,即变异。虽然河 北 大 学 工 商 学 院第 10 页这两个原则在设计过程中经常会出现冲突,我们必须统筹的把握。遗传算法是一种高效率的,适用面较广的最优问题解决方法。一般遗传算法解决旅行商问题的效率不高。在做实验的这段时间里,自己更加深入的了解到遗传算法的合理性和有效性。同时,我也更加熟练的掌握了 matlab 应用软件的用法和各种命令的使用方法,也发现了 matlab 软件的功能很实用。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报