• 大小: 1.08 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-11-13
  • 语言: Matlab
  • 标签: TSP  matlab  hopfield  

资源简介

用hopfield网络解决TSP问题,在这里有10个程序,最后程序求出了最可行的解,效果还是非常好的

资源截图

代码片段和文件信息

N=10;A=1.5;D=1;u0=0.02;%分别为城市数、系数A和D、u0的初始值
Step_t=0.1;   %计算步长
MaxEpochs=2000; %迭代次数
CityCood=[0.40000.24390.17070.22390.51710.87320.68780.84880.66830.6195;0.44390.14630.22930.76100.94140.65360.52190.36090.25360.2634];%城市坐标
DistanceMat=dist(CityCood‘CityCood)  %城市间距离矩阵
U=0.2*rand(NN)-0.1;         %神经元输入初始值在0附件产生
for Count=1:MaxEpochs
    V=(1+tansig(U/u0))/2;
    E=CacuEnergy(VDistanceMatAD);   %计算能量
    delta_U=CacuDeltaU(VDistanceMatAD);   %计算U的增量
    U=U+delta_U*Step_t;
end
[NewVCheckRes]=RouteCheck(V);
if(CheckRes<1)
    FinalE=CacuEnergy(NewVDistanceMatAD);
    Routelen=Totalroutelength(NewVCityCood);    %计算路径的真实长度
    PlotRoute(NewVCityCood);
else
    disp(‘路径无效!!‘);
end
function E=CacuEnergy(VdAD)   %计算能量
[nn]=size(V);
t1=sumsqr(sum(V2)-1);
t2=sumsqr(sum(V1)-1);
permitV=V(:2:n);
permitV=[PermitV V(:1)];
temp=d*PermitV;
t3=sum(sum(V.*temp));
E=0.5*(A*t1+A*t2+D+t3);

%function d_U=CacuDeltaU(VdADdt)   %计算U的增量
[nn]=size(v);
t1=repmat(sum(V2)-11n);
t2=repmat(sum(V2)-1n1);
PermitV=V(:2:n);
PermitV=[PermitV V(:1)];
t3=d*PermitV;
d_U=-dt*(A*ti+A*t2+D*t3);

%function [NewVCheckRes]=RouteCheck(V)  %检查是否是有效路径
[rowscolumns]=size(V);
NewV=zeros(rowscolomns);
[XCOrder]=max(V);
for j=1:columns
    NewV(Order(j)j)=1;
end
SC=sum(NewV)
SR=sum(NewV‘)
CheckRes=sumsqr(SC-SR);
Order

%function PlotRoute(VCityCood)  %绘制路径
figure;
title(‘连续Hopfiele网络解决TSP‘);
xlabel(‘X坐标‘);
ylabel(‘Y坐标‘);
axis([0101]);
axis on ;
[xxxorder]=max(V);
NewCood=CityCood(:order);
NewCood=[NewCood NewCood(:1)];
plot(NewCood(1:)NewCood(2:)‘o-‘);

%function Len=TotalRouteLength(VCityCood)
[xxxorder]=max(V);
NewCood=CityCood(:order);
NewCood=[NewCood NewCood(:1)];
[rowscolumns]=size(NewCood);
Len=0;
for i=2:columns
    Len=Len+dist(NewCood(:i-1)‘NewCood(:i));
end
Len



    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2019  2010-06-29 21:04  Hopfield.m

----------- ---------  ---------- -----  ----

                 2019                    1


评论

共有 条评论