?? mytsp4.m
字號:
function myTSP1
%城市數(shù)目
N=10;
%城市坐標(biāo)及城市間距離
cityx=[0.4,0.2439,0.1707,0.2293,0.5171,0.8732,0.6878,0.8488,0.6683,0.6195];
cityy=[0.4439,0.1463,0.2293,0.761,0.9414,0.6536,0.5219,0.3609,0.2536,0.2634];
for i=1:1:10
for j=1:1:10
d(i,j)=sqrt((cityx(i)-cityx(j))^2+(cityy(i)-cityy(j))^2);
end
end
%網(wǎng)絡(luò)參數(shù)
A=500;
B=500;
C=200;
D=500;
u0=0.02;
tao=1;
lamda=0.0001;
%多次實驗并統(tǒng)計結(jié)果
for count=1:1:1
%換位陣及初始化
V=0.5+rand(N,N)*0.1;
U=atanh(2*V-1)*u0;
%狀態(tài)更新
for renew=1:1:100
%同步更新
for ux=1:1:N
for ui=1:1:N
m1=0;
m2=0;
m3=0;
m4=0;
%求導(dǎo)公式第一項
for j=1:1:N
if j~=ui
m1=m1+V(ux,j);
end
if j==ui
m1=m1;
end
end
m1=-1*A*m1
%求導(dǎo)公式第二項
for y=1:1:N
if y~=ux
m2=m2+V(y,ui);
end
if y==ux
m2=m2;
end
end
m2=-1*B*m2
%求導(dǎo)公式第三項
for x=1:1:N
for j=1:1:N
m3=m3+V(x,j);
end
end
m3=(m3-N);
m3=-1*C*m3
%求導(dǎo)公式第四項
for y=1:1:N
if y~=ux && ui<N && ui>1
m4=m4+d(ux,y)*(V(y,ui+1)+V(y,ui-1));
end
if y~=ux && ui==1
m4=m4+d(ux,y)*(V(y,ui+1)+V(y,N));
end
if y~=ux && ui==N
m4=m4+d(ux,y)*(V(y,ui-1)+V(y,1));
end
if y==ux
m4=m4;
end
end
m4=-2*D*m4
%導(dǎo)數(shù)及狀態(tài)更新
Udao=-U(ux,ui)+m1+m2+m3+m4;
U(ux,ui)=U(ux,ui)+lamda*Udao;
V(ux,ui)=(1+tanh(U(ux,ui)/u0))/2 ;
V(ux,ui);
% if V(ux,ui)<0.001
% V(ux,ui)=0;
% end
% if V(ux,ui)>0.5
% V(ux,ui)=1;
% end
end
end
end
V
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -