利用Hopfield求解一个N6的TSP问题

利用Hopfield求解一个N6的TSP问题

ID:47236424

大小:91.35 KB

页数:5页

时间:2019-08-29

利用Hopfield求解一个N6的TSP问题_第1页
利用Hopfield求解一个N6的TSP问题_第2页
利用Hopfield求解一个N6的TSP问题_第3页
利用Hopfield求解一个N6的TSP问题_第4页
利用Hopfield求解一个N6的TSP问题_第5页
资源描述:

《利用Hopfield求解一个N6的TSP问题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、利用Hopfield求解一个N>6的TSP问题此次设计考虑了N二10的情况,应用Hopfield神经网络求解思路为:利用nXn个神经元组成Hopfield神经网络,网络达到稳定状态吋各个神经元之状态对应置换矩阵的各个元素值,各个城市间的距离作为一组约束信息决定神经元之间的连接强度wijo期望网络演变的最终结果给出最优解,也即以置换矩阵表明最短距离条件下路径之顺序。能量函数为:E=f工X以仏+耳工XVxiVyiXIXI程序步骤如下:1.假设10个城市的位置坐标如表1所示,其屮1-10表示10个城市的编号。表1城市坐标城市12345678

2、910X坐标0.10.20.40.50.70.80.20.50.70.9Y坐标0.60.30.10.50.20.40.80.90.60.82.载入城市坐标并计算各个城市之间的相互距离,设置参数N=10;$10个城市,城市间的坐标及距离的计算cityx=[0.10.20.40.50.70.80.20.50.70.9];cityy=[0.60.30.10.50.20.40.80.90.60.8];fori=l:1:Nforj=l:1:Nd(i,j)=sqrt((cityx(i)-cityx(j))A2+(cityy(i)-cityy(j)

3、)A2);endend%参数设置A=500;B=500;C=10;D=500;u0=0.002;lamda=0.0001;total=0;toend=0;time=clock;display([1currenttimeis1,num2str(time(1,4:6))])3.能量函数等相关函数的计算whiletoend==0total=to;V=rand(N,N);U=atanh(2*V-1)*uO;forrenew=l:1:1000forux=l:1:Nforui=l:1:Nml=0;m2=0;m3=0;m4=0;%求导forj=l:

4、1:Nifj~=uiml=ml+v(ux,j);endendml=-A*ml;fory=l:1:Nify〜=uxm2=m2+V(y,ui);endendm2=-B*m2;forx=l:1:Nforj=l:1:Nm3=m3+V(x,j);endendm3=-C*(m3-N);fory=l:1:Nify~=uxifui==lm4=m4+d(ux,y)*(V(yzui+l)+V(yzN));elseifui==Nm4=m4+d(ux,y)*(V(yzui-1)+V(y,1));elsem4=m4+d(ux,y)*(V(y,ui+1)+V(y

5、,ui-1));endendendm4=-D*m4;Udao(uxzui)=-U(ux,ui)+ml+m2+m3+m4;endend%状态更新U=U+lamda*Udao;V=(1+tanh(U/uO))/2;forux=l:1:Nforui=l:1:NifV(ux,ui)<0・3V(ux,ui)=0;endifV(ux,ui)>0.7V(uxzui)=1;endendendendV;3.判断合法解%合法解判断test1=0;forux=l:1:Nforui=l:1:Ntestl=test1+V(ux,ui);endendtest2=

6、0;forx=l:1:Nfori=l:1:N-lforj=i+l:1:Ntest2=test2+V(xzi)*V(x,j);endendendtest3=0;fori=l:1:Nforx=l:1:N-lfory=x+l:1:Ntest3=test3+V(x,i)*V(yzi);endendendiftest1==N&&test2==0&&test3==0toend=1;elsetoend=0;endendtime=clock;display([Tendtimeis1,num2str(time(1,4:6))])VTotal4.路径显示

7、与长度计算咎重排城市坐标forj=l:1:Nfori=l:1:NifV(izj)==lcityx_final(j)=cityx(i);cityy_final(j)=cityy(i);endendendcityx_final(N+l)=cityx_final(1);cityy_final(N+l)=cityy_final(1);%计算总长度td=0;fori=l:1:N-ltd=td+sqrt((cityx_final(i)-cityx_final(i+1))A2+(cityy_final(i)-cityy_final(i+1))A2)

8、;endtd=td+sqrt((cityx_final(N)-cityx_final(1))A2+(cityy_final(N)-cityy_fina1(1))A2);tdplot(cityx_final,cityy_f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。