hopfield_TSP程序.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
hopfield_TSP程序

人工神经网络实验用CHNN 算法求解TSP问题问题描述利用连续型Hopfield 反馈网络求解10 城市的旅行商(TSP)问题。其中10 个城市的坐标给定如下:1 (0.4000, 0.4439), 2 (0.2439, 0.1463), 3 (0.1707, 0.2293),4 (0.2293, 0.7610),5 (0.5171, 0.9414),6 (0.8732, 0.6536), 7 (0.6878, 0.5219), 8 (0.8488, 0.3609),9 (0.6683, 0.2536),10 (0.6195, 0.2634),基本网络参数为: 0 500, 200, 0.02 A B D C      二.算法实现1.CHNN 算法应用CHNN 网络解决优化问题一般需要以下步骤: (1.)对于特定的问题,要选择一种合适的表示方法,使得神经网络的输出与问题的解相对应。 (2.)构造网络的能量函数,使其最小值对应于问题的最佳解。 (3.)将能量函数与CHNN 算法标准形式相比较,推出神经网络权值与偏流表达式。 (4.)推出网络状态更新公式,并利用更新公式迭代求问题的最优解。2.TSP 问题为使用 CHNN 网络进行 TSP 问题的求解,根据上述步骤,可将问题转化为: (1.)对N 个城市的TSP 问题,用一个N* N 的换位阵描述旅行路线,换位阵中每行每列有且只有一个元素为1,其余全为0。为1 的元素其横坐标 x 表示城市名,纵坐标 i 表示该城市在访问路线中的位臵。 (2.)网络的能量函数由四部分组成,分别用来保证换位阵的合法性以及最终路线长度的最短。      (3.)将能量函数与标准形式相比较,得到网络权值与偏流表达式为(4.)从而,网络更新公式为:3.程序设计根据上述推导在MATLAB 中设计CHNN 网络求解TSP 问题的程序(程序代码见附页)。程序说明本程序中有以下两点需要说明。  迭代结束条件:理论上来说,当网络的能量函数不再减小时网络达到最优状态,但在实际中如果用能量函数的变化来判断程序的结束存在潜在的问题(如计算能量函数的复杂性以及误差导致判断不准确等),因此,本实验利用迭代次数控制程序结束,当迭代至1000 次时,一次运行结束。  程序输出规则:由于不能保证每次迭代结束所到的解都是合法解,而当城市个数较多时人为检查合法性又非常的不方便,因此每次迭结束后在程序中检查该次解的合法性,若为合法解,则输出该解,程序结束;否则,再次求解。  参数调整:在实验中发现,当网络参数取为最初给定的值A=B=D500,C= 200,u0= 0.02 时,几乎得不到合法解,观察每次迭代结束后的解,发现大部分下只有8 个每行每列有且只有一个1 的情况,另外还有两列全部为0。这说明在能量函数中保证有N 个1 的合法性所占的比重相对较小,也就是参数C 相对于A、B、D 来说较小,因此,将基本参数C 调整为1000,其余不变。 (2.) 程序流程 i. 初始化:城市个数、城市坐标、网络参数 ii. 用随机数初始化换位阵及状态阵 iii. 对状态阵及换位阵,进行1000 步同步更新,得最终换位阵的解V iv. 判断所得 V 的合法性,若为合法解,给出访问次序,旅行路线图及路线总长度,程序结束;否则,转到第ii 步。三.实验结果 1.基本结果在城市个数取为 10 ,网络的基本参数取为A=B=D=500, C=1000,u0= 0.02,lamda= 0.0001 时运行程序并统计实验结果,得:(图见下页)运行次数 200 合法解次数 29 最优解次数 1 最优解(路线总长度) 2.6907 次优解次数 1 次优解(路线总长度) 2.7693 较优解(路线总长度) 2.7782 较优解(路线总长度) 2.8352 平均一次运行所需时间(s) 0.8813 4 图1 最优路线(2.6907)图2 最优解换位阵图3 次优路线(2.7693)图4 次优换位阵图5 较优路线(2.7782)图6 较优换位阵5 2.参数影响运行时间估计在城市数目N 及更新步长lamda固定的情况下,每求解一次 V 所用的时间是固定的,因此,比较每次出现合法解所用的时间可通过比较循环次数进行。在下面参数影响的讨论中,均通过循环次数比较相对时间长短。 (2.) 权系数A、B、C 权矩阵A、B、C、D 的相对大小反映了对解的要求。其中A、 B、C 是为了保证合法解的项的权系数,A 是保证每行最多一个1 的权系数;B 是保证每列最多一个 1 的权系数;C 是保证共有 N 个1;D 是保证路线总长度最短的项的权系数。当C 相对于A 和B 较小(A=B=500,C=200)时,实验很难出现合法解,多数解都有两列全为0,程序往往陷入死循环。

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档