- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验五遗传算法-TSP
实验五、用遗传算法解决TSP问题
一、实验目的及要求
1、掌握遗传算法的基本原理。
2、理解TSP问题。
3、掌握遗传算法的编程步骤。
二、实验内容
1. 使用Matlab编程实现遗传算法
2. 调节城市数量,观察对收敛速度的影响(迭代次数)
三、实验原理
设计思路:
初始化城市距离
采用以城市编号(i,j=1代表北京,=2代表上海,=3代表天津,=4代表重庆,=5代表乌鲁木齐)为矩阵行列标的方法,输入任意两个城市之间的距离,用矩阵city表示,矩阵中的元素city(i,j)代表第i个城市与第j个城市间的距离。
初始化种群
通过randperm函数,生成一个一维随机向量(是整数1,2,3,4,5的任意排列),然后将其赋给二维数组group的第一列,作为一个个体。如此循环N次(本例生成了50个个体),生成了第一代种群,种群的每个个体代表一条路径。
计算适应度
采用的适应度函数为个体巡回路径的总长度的函数。具体为
adapt(1,i)=(5*maxdis-dis) (1)
在式(1)中,adapt(1,i)表示第i个个体的适应度函数,maxdis为城市间的最大距离,为4077km,dis为个体巡回路径的总长度,这样定义的适应度,当路经越短时适应度值越大。在适应度值的基础上,给出的计算个体期望复制数的表达式为
adaptnum(1,i)=(N* adapt(1,i)/ sumadapt) (2)
其中,sumadapt为种群适应度之和。
复制
采用优秀个体的大比例保护基础上的随机数复制法。具体做法为在生成下一代个体时,先将最大适应度对应的路径个体以较大的比例复制到下一代,然后再用随机数复制法生成下一代的其他个体。其中,有一个问题必须考虑,即若某一次生成的随机数过大,结果能复制一个或极少个样本。为了避免这一情况,采用了限制措施,即压低了随机数的上限。
交叉
采用的方法为按步长的单点交叉,为随机选择一对样本,再随机选择一个交叉点位置,按一定的步长进行交叉点的选择。选择一个步长而不是将其设为1,是因为若某一位置处的
城市代码因为进行了交叉而发生了改变,则其经过该处的两个距离都会改变。这种交叉兼有
遗传和变异两方面的作用,因为若交叉点处的城市编号都相同,则对两个个体而言交叉后样
本无变化,否则样本有变化。
变异
方法为随机两点I,J的交互位置法。对于A= [1 2 3 4 5 6 7 8 9 10],若I= 3, J=8,则变异后B= [1 2 8 4 5 6 7 3 9 10]虽然是简单的随机两点交互,但实际上已经有40%的距离发生了改变。若用dij表示城市i与j之间的距离,则变异后与变异前样本路径的距离差为B23十B34 + B78十B89一A23十A34 + A78 + A89可见,随机两点交互足以产生新的模式样本。较大地提高变异率就会产生大量的新样本,全局最优样本出现的概率随之提高。为了收敛到最优解,借鉴模拟退火算法的思想,采取了变异率由很大逐渐衰减到较小的数量,这样做也利于找到全局最优解。
将复制,交叉,变异后得到的种群group1重新赋给group,然后重复3,4,5,6步操作。
直至满足循环停止条件,即找到最优路径。
四. 参考代码
程序实现:
clc
clear all
city=[0 1453 157 2087 3768;
1453 0 1326 2523 4077;
157 1326 0 2300 3900;
2087 2523 2300 0 3358;
3768 4077 3900 3358 0] %初始化城市距离
maxdis=4077; %城市间最大距离
N=50; %每一代种群中的个体数
maxlun=100; %迭代次数设为100
for i=1:N
ttemp=randperm(5); %初始化种群,即随机产生50种路径,放在5行,N列的矩阵group中
for j=1:5
group(j,i)=ttemp(j);
end
end
for lun=1:maxlun %迭代循环maxlun次
sumadapt=0; %适度值之和
maxadapt(1,lun)=0; %最大适
您可能关注的文档
- 天棚轻钢龙骨石膏板吊顶安装技术交底.doc
- 天津市武清区2011-2012学年七年级语文上学期周清试题十三(无答案)新人教版.doc
- 天津科技大学计算机组成原理试卷期末试卷.docx
- 天鹅湖赏析.doc
- 太仓经济开发区朝阳路大半泾桥桥报告.doc
- 天线技术简介.doc
- 太原市公共交通规划方案展示.docx
- 太极拳健身效果研究.doc
- 太阳能电池新型光敏化染料的合成的研究.doc
- 太阳能自动浇花系统设计.doc
- GB/T 29324-2024架空导线用碳纤维增强复合材料芯.pdf
- 《GB/T 29324-2024架空导线用碳纤维增强复合材料芯》.pdf
- GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集.pdf
- 《GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集》.pdf
- 中国国家标准 GB/T 43905.1-2024焊接及相关工艺中烟尘和气体取样的实验室方法 第1部分:电弧焊中烟尘排放速率的测定和分析用烟尘的收集.pdf
- 中国国家标准 GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范.pdf
- GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范.pdf
- 《GB/T 18910.21-2024液晶显示器件 第2-1部分:无源矩阵单色液晶显示模块 空白详细规范》.pdf
- GB/T 43860.1220-2024触摸和交互显示 第12-20部分:触摸显示测试方法 多点触摸性能.pdf
- 中国国家标准 GB/T 43860.1220-2024触摸和交互显示 第12-20部分:触摸显示测试方法 多点触摸性能.pdf
文档评论(0)