hopfield网络求解TSP问题_第1页
hopfield网络求解TSP问题_第2页
hopfield网络求解TSP问题_第3页
hopfield网络求解TSP问题_第4页
hopfield网络求解TSP问题_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上Hopfield神经网络求解TSP问题 1. 什么是TSP问题? 旅行商问题,即TSP问题(Traveling Salesman Problem),也是最优化问题。一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要 回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。 用数学语言描述TSP如下 :设有限个城市集合 : C = C1 , C 2 , , Cn ,每两个城市间的距离为 d(Ci,Cj)Z, 其中 Ci,CjC( 1<=i , j <=n), 即求 minL=d(Ci,Cj)的

2、值的问题。 有效路径的方案数目为Rn=(n-1)!/2),例如:R4=3,R5=12,R6=120,R10=可见路径总数,随n增大而急剧增长,当城市数目增加到一定的程度,计算量增加到无法进行的地步,所以要选择一种合理快速的算法,而不能对所有情况使用人工列举的方法。2. Hopfield神经网络介绍 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系

3、,从而达到处理信息的目的.最基础的为BP、Hopfield网络等。 Hopfield网络是一种互连型网络的一种,它引入类似于Lyapunov函数的能量函数概念,把神经网络的拓扑结构(用连接权矩阵表示)与所求问题(用目标函数描述)相对应,并将其转换为神经网动力学系统的演化问题。3. 神经元的数学模型 人的大脑是由大量神经细胞或神经元组成的。每个神经元可以看作为一个小的处理单元,这些神经元按照某种方式相互连接起来,构成大脑内部的生理神经元网络系统,他们中各个神经元之间连接的强弱不是固定不变的,而是按照外部的信号激励程度做自适应的变化,而每个神经元又随着接收到的多个激励信号的综合大小呈现兴奋或抑制状

4、态。大脑的学习过程就是神经元之间连接强度随外部激励信号做自适应变化的过程。大脑处理信息的结果由神经元状态表现出来。由此见,神经元是信息处理的最小单位。神经元,也就是神经细胞,由细胞体、树突、轴突和突触组成。从细胞体上伸出许多树突和一条长的轴突,树突和轴突分别负责传入和传出兴奋或抑制信号到细胞体。神经元的树突短而且分支很多,是信号的输入端;轴突较长,是信号的输出端,其未端化为许多细小的分支,称为神经术梢。一个神经元通过轴突与其它细胞的树突相连。神经末梢与树突接触的界面称为突触,它是一个神经元与另一个神经元联系的特殊结构部位,突触包括突触前(成分)、突触间隙和突触后(成分)三个部分。树突和轴突一一

5、对接,从而靠突触把众多的神经元连接成一个神经元网络。神经元群或者神经网络系统对外界有兴奋或抑制两种反应,兴奋指的是由相对静止变为相对活动,而抑制则是指由相对活动变为相对静止。神经元之间的信息传递有正负两种连接。正连接相互激发,负连接相互抑制。 图1.1 神经元的结构型 其中,.为输入信息,为神经元内部状态,为阈值,为到连接的权值,表示外部输入信号,(在某些情况下,它可以控制神经元,使可以保持在某一状态),为激发函数,为输出,上述模型的数学形式可以描述为: (式1.1) (式1.2) (式1.3)其中, (式1.4) 4.Hopfield神经网络结构图图2.2 连续型Hopfield神经网络的电

6、路形式若定义网络中第j个神经元的总输入为,输出状态为,那么网络的状态转移方程可写为: (式2.10)其中g为S型函数,一般常用的有 这两个函数的共同特点是。和。时,函数值饱和到两极,限制了网络中状态及流动信息的增长范围。函数,中的参数以控制S型函数在零点附近的斜率变化。函数可看做符号函数。在网络的整个运行过程中,所有节点状态的演变有异步、同步和连续更新三种形式。与离散Hopfield网络比较,多了一种连续更新的形式,表示网络中所有节点都随连续时间并行更新。网络中状态在一定范围内连续变化。5. 神经元网络的动力学方程连续型hopfield神经网络在时间上是连续的。所以,网络中各神经元是处于同步方

7、式工作的。考虑对于一个神经细胞,即神经元i,其内部膜电位状态用表示,生物神经元的动态(微分系统)由运算放大器来模拟,其中微分电路中细胞膜输入电容为Ci,细胞膜的传递电阻为Ri,输出电压为Vi,外部输入电流用表示。神经元的状态满足如下动力学方程: (式2.11) 则连续型Hopfield神经网络模型可用图2.2所示的电路来模拟实现。6. Hopfield神经网络解决TSP问题Hopfield神经网络解决TSP问题的基本步骤1)将 TSP 问题的每一条可能路径用一个置换矩阵表示,并给出相应的距离表示式。2)将 TSP 问题的置换矩阵集合与由 N 个神经元构成的神经元阵列相应,每条路径对应的置换矩阵

8、的各元素与相应的神经元稳态输出相应。3)找出一个反映 TSP 的约束优化问题的能量函数 E。4)求出使 E 取最小值的神经网络连接权值矩阵和偏置参数。7.神经元矩阵和关联矩阵Hopfield网络来解决TSP问题时体现了人脑的一些特征。开始首先把问题转化成适合于神经元网络处理的形式。对于n个城市的TSP问题,用一个"n×n”的神经元矩阵,用神经元的状态来表示某一个城市在某一条有效路径中的位置。神经元的状态用,表示,其中:第X个城市用表示,而i1,2,n表示城市在路径中是第i个城市。状态表示在路径中第i个位置出现;表示在第i个位置不出现,说明此时第i个位置上是其它城市。由此可见

9、,n×n矩阵v可以表示n个城市TSP问题一次有效的路径,即v矩阵可以唯一地确定对于所有城市的访问次序。为了保证每个城市只去一次(出发点除外),那么关联矩阵v上每一行只能有一个为1,其它必须为0,对应于每次访问而且只访问一个城市,所以对于关联矩阵的次序上,也是每一列只有一个元素为1,其它为0,全部非0元素的总和为n。8. 优化约束条件能量函数为了解决TSP问题,必须构成这样的网络:在网络运行时,计算能量降低。网络稳定后其输出状态代表城市被访问的次序。网络能量的极小点对应于最佳或者较好的路径的形成,此时由输出换位阵能得到较好路径。问题的关键一步是构成合适的能量函数。能量函数约束条件的含义

10、: ,其中A>0为常数。保证当矩阵V的每一行不多于一个1时,达到最小=0。 ,其中B>0为常数。保证当矩阵V的每一列不多于一个l时,达到最小=0。 ,其中C>0为常数。保证当矩阵V中的1的个数恰好为n时,即整个矩阵有n个1时,达到最小=0。 ,实际数值就是一次有效路径总长度的倍数。若路径为最佳时,达到最小点。9. Hopfield神经网络状态方程将约束条件能量函数E和神经网络电路标准能量函数公式对比,并化简后得:其中为神经元的时空综合输入, 为其对应的神经元的输出10.Matlab实现与仿真结果实验一:10个城市的归一化坐标: (0.7788 0.5181) (0.4235

11、0.9436) (0.0908 0.6377) (0.2665 0.9577) (0.1537 0.2407) (0.2810 0.6761) (0.4401 0.2891) (0.5271 0.6718) (0.4574 0.6951)(0.8754 0.0680)k=1:1:5000(迭代次数);A=B=D=500,C=200;u0=0.02(初始条件);step=0.01;N=10(10个城市)>> TSP_hopfield迭代次数k = 5000寻优路径矩阵:V1 = 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

12、 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0优化路径L=C6-C9-C8-C1-C10-C7-C5-C3-C4-C2-C6最优能量函数:Final_E = 1.5063初始路程:Initial_Length = 4.1888最短路程:Final_Length =3.0126迭代次数对能量函数的影响能量函数随着迭代次数的增加而减小,最后达到极小稳定值,

13、而在迭代开始的时候优化约束条件能量函数迅速下降,说明神经网络对于解决TSP的有效性。实验二改变u0=0.03,其他的都变>>TSP_hopfield迭代次数k = 5000寻优路径矩阵:V1 = 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0

14、0 0优化路径L=C4-C6-C3-C5-C7-C10-C1-C8-C9-C-C4最优能量函数:Final_E =1.4469初始路程:Initial_Length = 4.1888最短路程:Final_Length =2.8938实验一和实验二对比:初始条件的微小变化,也会对结果产生严重的影响,致使寻优路径,换位矩阵,能量函数都发生变化,产生了更优的结果。 实验三20个城市归一化坐标: (0.8954 0.0946) (0.5825 0.3232) (0.5827 0.7696) (0.8549 0.2341) (0.0349 0.7404) (0.8854 0.6928) (0.4077

15、0.8241) (0.0364 0.8280) (0.7461 0.2934) (0.1548 0.3094) (0.1439 0.5230) (0.6060 0.3253) (0.2545 0.8318) (0.3242 0.8103) (0.4018 0.5570) (0.4064 0.2630) (0.3862 0.6806) (0.6098 0.2337) (0.1669 0.4564) (0.1881 0.3846)k=1:1:5000(迭代次数);A=B=D=500,C=200;u0=0.02(初始条件);step=0.01; N=20(10个城市)寻优路径矩阵:V1 =10000

16、000000000000000000010000000000000000000000000000000001001000000000000000000000000000000100000000000000000000000000100000000000000000100000000000001000000000010000000000000000000000000000000100000000000000000000010000000010000000000000000000000001000000000000000000100000000000000000100000000000000000

17、01000000000000000000000100000000000000100000000000000000000000000000001000000000000000001000000优化路径:C1-C4-C9-C18-C2-C12-C16-C15-C17-C14-C13-C8-C5-C20-C10-C19-C11-C7-C3-C6最优能量函数E=1.9335初始路程LI= 9.0503优化最短路程LF=3.8671对比可知,经过神经网络得出的路径能量函数减小,路程比初始路程优化了很多,说明hopfield神经网络可以有效解决TSP问题。附录:程序代码 % % % % % % 计算duf

18、unction du=DeltaU(V,d,A,D)n,n=size(V);t1=repmat(sum(V,2)-1,1,n);t2=repmat(sum(V,1)-1,n,1);PermitV=V(:,2:n);PermitV=PermitV V(:,1);t3=d*PermitV;du=-1*(A*t1+A*t2+D*t3);% % % % % % 计算能量函数function E=Energy(V,d,A,D)n,n=size(V);t1=sumsqr(sum(V,2)-1);t2=sumsqr(sum(V,1)-1);PermitV=V(:,2:n);PermitV=PermitV V

19、(:,1);temp=d*PermitV;t3=sum(sum(V.*temp);E=0.5*(A*t1+A*t2+D*t3);% % % % % % 计算最终总路程function L=Final_RouteLength(V,citys)xxx,order=max(V);New=citys(order,:);New=New;New(1,:);rows,cs=size(New);L=0;for i=2:rowsL=L+dist(New(i-1,:),New(i,:)');end% 计算初始总路程function L0=Initial_RouteLength(citys)%citys=c

20、itys;citys(1,:);r,c=size(citys);L0=0;for i=2:r L0=L0+dist(citys(i-1,:),citys(i,:)');end% % % % % % % 路径寻优作图function PlotR(V,citys)figure;citys_origin=citys;citys=citys;citys(1,:);xxx,order=max(V);New=citys(order,:);New=New;New(1,:);% subplot(1,2,1)figure(1) ;plot(citys(1,1),citys(1,2),'p'

21、;) % first cityhold onplot(citys(2,1),citys(2,2),'p') % second cityhold onplot(citys(:,1),citys(:,2),'ko-')for i=1:length(citys_origin) text(citys_origin(i,1),citys_origin(i,2),' ' num2str(i)endxlabel('横向距离X')ylabel('纵向距离Y')title('原始路线')axis(0 1 0 1)gr

22、id onfigure(2) ;plot(New(1,1),New(1,2),'p') % first cityhold onplot(New(2,1),New(2,2),'p') % second cityhold onplot(New(:,1),New(:,2),'ko-')for i=1:length(citys_origin) text(citys_origin(i,1),citys_origin(i,2),' ' num2str(i)endxlabel('横向距离X')ylabel('纵向距离Y&

23、#39;)title('TSP路线')axis(0 1 0 1)axis ongrid on% % % % % % 标准化路径,并检查路径合法性,要求每行每列只有一个“1”function V1,CheckR=RouteCheck(V)rows,cols=size(V);V1=zeros(rows,cols);XC,Order=max(V);for j=1:cols V1(Order(j),j)=1;endC=sum(V1);R=sum(V1');CheckR=sumsqr(C-R);%神经网络解决TSP问题%function TSP_hopfield()clear all;close all;% step 1A=1.5;D=1;u0=0.02;step=0.01;% step 2N=20;citys=load('cities10.txt');Initial_Length=Initial_R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论