版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、人工神经网络实验二用CHNN算法求解TSP问题李琳琳自研422004211068一 问题描述利用连续型Hopfield反馈网络求解10城市的旅行商(TSP)问题。其中10个城市的坐标给定如下:基本网络参数为:二 算法实现1CHNN算法应用CHNN网络解决优化问题一般需要以下步骤:(1.)对于特定的问题,要选择一种合适的表示方法,使得神经网络的输出与问题的解相对应。(2.)构造网络的能量函数,使其最小值对应于问题的最佳解。(3.)将能量函数与CHNN算法标准形式相比较,推出神经网络权值与偏流表达式。(4.)推出网络状态更新公式,并利用更新公式迭代求问题的最优解。2TSP问题为使用CHNN网络进行
2、TSP问题的求解,根据上述步骤,可将问题转化为: (1.)对N个城市的TSP问题,用一个的换位阵描述旅行路线,换位阵中每行每列有且只有一个元素为1,其余全为0。为1的元素其横坐标x表示城市名,纵坐标i表示该城市在访问路线中的位置。(2.)网络的能量函数由四部分组成,分别用来保证换位阵的合法性以及最终路线长度的最短。(3.)将能量函数与标准形式相比较,得到网络权值与偏流表达式为: (4.)从而,网络更新公式为:3 程序设计根据上述推导在MATLAB中设计CHNN网络求解TSP问题的程序(程序代码见附页)。(1.) 程序说明本程序中有以下两点需要说明。Ø 迭代结束条件:理论上来说,当网络
3、的能量函数不再减小时网络达到最优状态,但在实际中如果用能量函数的变化来判断程序的结束存在潜在的问题(如计算能量函数的复杂性以及误差导致判断不准确等),因此,本实验利用迭代次数控制程序结束,当迭代至1000次时,一次运行结束。Ø 程序输出规则:由于不能保证每次迭代结束所到的解都是合法解,而当城市个数较多时人为检查合法性又非常的不方便,因此每次迭结束后在程序中检查该次解的合法性,若为合法解,则输出该解,程序结束;否则,再次求解。Ø 参数调整:在实验中发现,当网络参数取为最初给定的值时,几乎得不到合法解,观察每次迭代结束后的解,发现大部分下只有8个每行每列有且只有一个1的情况,另
4、外还有两列全部为0。这说明在能量函数中保证有N个1的合法性所占的比重相对较小,也就是参数C相对于A、B、D来说较小,因此,将基本参数C调整为1000,其余不变。(2.) 程序流程i. 初始化:城市个数、城市坐标、网络参数ii. 用随机数初始化换位阵及状态阵iii. 对状态阵及换位阵,进行1000步同步更新,得最终换位阵的解Viv. 判断所得V的合法性,若为合法解,给出访问次序,旅行路线图及路线总长度,程序结束;否则,转到第ii步。三 实验结果1基本结果在城市个数取为10,网络的基本参数取为时运行程序并统计实验结果,得:(图见下页) 运行次数200合法解次数29最优解次数1最优解(路线总长度)2
5、.6907次优解次数1次优解(路线总长度)2.7693较优解(路线总长度)2.7782较优解(路线总长度)2.8352平均一次运行所需时间(s)0.8813图1 最优路线(2.6907)图2 最优解换位阵 图3次优路线(2.7693) 图4次优换位阵图5较优路线(2.7782) 图6较优换位阵2参数影响(1.)运行时间估计在城市数目N及更新步长lamda固定的情况下,每求解一次V所用的时间是固定的,因此,比较每次出现合法解所用的时间可通过比较循环次数进行。在下面参数影响的讨论中,均通过循环次数比较相对时间长短。(2.)权系数A、B、C权矩阵A、B、C、D的相对大小反映了对解的要求。其中A、B、
6、C是为了保证合法解的项的权系数,A是保证每行最多一个1的权系数;B是保证每列最多一个1的权系数;C是保证共有N个1;D是保证路线总长度最短的项的权系数。当C相对于A和B较小(A=B=500,C=200)时,实验很难出现合法解,多数解都有两列全为0,程序往往陷入死循环。这说明,解的合法性的第三项没有得到足够的重视。因此,逐渐加大C并观察实验结果,当C为500时,上述情况仍没有明显改善;当C取为1000时,合法解出现频率明显提高(200次实验中,平均每6.7次出现一次合法解),其中也出现了最优解(见1中的实验结果);当C取为2000是,平均每6次出现一次全法解,其中同样出现一次最优解。总结,C较小
7、不能保证解的合法性,C较大时出现合法解的频率明显提高,但同时C较大时路线最短项的权系数D相对较小,因此,出现最优解的频率将有所下降。(3.) 权系数D权系数D反映了路线长度在能量函数中所占的比重。当D取为200时,平均每1.5次出现一次合法解,但路线长度非常大,一般在4.0左右,几乎不能出现最优解;当D取为500时,平均每6.7次出现一次合法解,其中也出现了最优解(见1中的实验结果);当D取为600时,出现合法解的频率有所下降;当D取为700时,151次运行中出现一次较优解;当D取为1000时,程序几乎陷于死循环,出现合法解的几率极低。总结,D较小时,相对更强调解的合法性,因此出现合法解的频率
8、较大,但路线长度很大;D较大时,出现合法解的频率有所降低,但路线长度明显变小,出现最优解的可能性相对增加;而当D过大时,由于过度强调路线长度,很难出现合法解,因此程序易冻结。(4.) 步长lamda当lamda为0.0001时运行结果如1中所述;当lamda取为0.001时,平均每2.5次出现一次合法解。可见,lamda较大时,状态矩阵变化较大,会提高出现合法解的频率;但lamda过大时状态矩阵会由于变化剧烈而难以出现合法解;lamda较小时会导致更新速度过慢甚至冻结。(5.) 初值取为0.02时运行结果如1中所述;当取为0.005时,平均每3.6次出现一次最优解;取为0.3时,平均每41次出
9、现一次全法解。可见,较小,激励函数趋近于离散值,缩短出现寻优时间,但不易出现最优解;较大,激励函数过于平坦,不利于收敛。3改变城市数目下面分别给出城市数目为5和11,网络参数不变时的实验结果。由实验结果可知,城市数目下降,寻优时间缩短,得到合法解和最优解的频率明显增加。另外,由于网络参数对实验的影响同前面类似,此处不再赘述。(1.) 城市数目为11(第11个城市的坐标为(0.9125,0.9568))平均每7.5次出现一次合法解,其中一次较优解路线长度为3.1382,图形如下:图7十一城市TSP问题较优解(2.) 城市数目为5(取前5个城市的坐标)平均每5次出现一次合法解,35次实验中出现3次
10、最优解。最优解为1.8324,其中还多次出现较优解1.8904,图形如下: 图8五城市TSP问题的最优解图9五城市TSP问题较优解四附页(程序代码)function myTSP1%城市数目N=10;%5%11%城市坐标及城市间距离cityx=0.4,0.2439,0.1707,0.2293,0.5171,0.8732,0.6878,0.8488,0.6683,0.6195,0.9125;cityy=0.4439,0.1463,0.2293,0.761,0.9414,0.6536,0.5219,0.3609,0.2536,0.2634, 0.9568;for i=1:1:N for j=1:1:
11、N d(i,j)=sqrt(cityx(i)-cityx(j)2+(cityy(i)-cityy(j)2); endend%网络参数A=500;B=500;C=1000;D=500;u0=0.02;tao=1;lamda=0.0001;%求得一个合法解%统计每次求得一个合法解要经过多少次非法解total=0;%结束标志toend=0;time=clock;display('current time is ',num2str(time(1,4:6)while toend=0 total=total+1 %换位阵及初始化 V=rand(N,N); U=atanh(2*V-1)*u0
12、; %状态更新 for renew=1:1:1000 %同步更新 for ux=1:1:N for ui=1:1:N m1=0; m2=0; m3=0; m4=0; %求导公式第一项 for j=1:1:N if j=ui m1=m1+V(ux,j); end end m1=-A*m1; %求导公式第二项 for y=1:1:N if y=ux m2=m2+V(y,ui); end end m2=-B*m2; %求导公式第三项 for x=1:1:N for j=1:1:N m3=m3+V(x,j); end end m3=-C*(m3-N); %求导公式第四项 for y=1:1:N if
13、y=ux if ui=1 m4=m4+d(ux,y)*(V(y,ui+1)+V(y,N); elseif ui=N m4=m4+d(ux,y)*(V(y,ui-1)+V(y,1); else m4=m4+d(ux,y)*(V(y,ui+1)+V(y,ui-1); end end end m4=-D*m4; Udao(ux,ui)=-U(ux,ui)+m1+m2+m3+m4; end end %导数及状态更新 U=U+lamda*Udao; V=(1+tanh(U/u0)/2; for ux=1:1:N for ui=1:1:N if V(ux,ui)<0.3 V(ux,ui)=0; en
14、d if V(ux,ui)>0.7 V(ux,ui)=1; end end end end V; %判断是否为合法解 %换位阵全局约束,要求总共有N个1 test1=0; for ux=1:1:N for ui=1:1:N test1=test1+V(ux,ui); end end %城市行约束,每行不多于一个1 test2=0; for x=1:1:N for i=1:1:N-1 for j=i+1:1:N test2=test2+V(x,i)*V(x,j); end end end %城市列约束,每列不多于一个1 test3=0; for i=1:1:N for x=1:1:N-1
15、for y=x+1:1:N test3=test3+V(x,i)*V(y,i); end end end %当为合法解时,跳出循环 if test1=N && test2=0 && test3=0 toend = 1; else toend=0; endendtime=clock;display('end time is ',num2str(time(1,4:6)Vtotal%按结果重新排列城市坐标for j=1:1:N for i=1:1:N if V(i,j)=1 cityx_final(j)=cityx(i); cityy_final(j)=cityy(i); end endendcityx_final(N+1)=cityx_final(1);cityy_final(N+1)=cityy_final(1);cityx_fi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年深圳益新中学选聘教师真题
- 2025年湘潭市韶山市卫健系统招聘专业技术人员真题
- 2025年广西事业单位招聘真题
- 教师教研成果考核实施细则
- 教师安全责任不实个人自查及整改措施
- 机关工作落实不力问题整改措施
- 航空航天高性能碳基复合材料产业基地环评报告表
- 广西柳州市2025-2026学年高一下学期期末考试语文试题含答案
- 电动升降杆技术与应用解析
- 客户满意度优化统计分析指南
- 2026年高铁广告媒体创新实践与市场洞察报告
- 2026年新版甘肃辅警考试题库必考题(含答案解析)
- 2026年小学语文教师高频面试题包含详细解答
- SYT 6649-2025《油气管道管体缺陷修复技术规范》
- 气瓶委托管理合同
- 2026年秋季新教材统编版九年级上册道德与法治全册知识点背诵提纲精简版
- 《全国病媒生物监测技术指南(2025年)》
- (2025年)宜昌市伍家岗区网格员考试题库(含答案)
- 2026舞台灯光音响行业市场规模深度研究与发展战略分析报告
- 2026年基层选调生遴选笔试试卷(附答案)
- 山地丘陵村镇水土环境协同修复技术指南编制说明
评论
0/150
提交评论