91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-04
  • 語言: Matlab
  • 標(biāo)簽: hopfie??TSP??

資源簡(jiǎn)介

自己寫的matlab代碼 TSP,Hopfiled神經(jīng)網(wǎng)絡(luò),代碼功力不高見諒

資源截圖

代碼片段和文件信息

clear;clc;
%?hopfield神經(jīng)網(wǎng)絡(luò)
%?問題擬定為在網(wǎng)格上隨機(jī)選取N個(gè)點(diǎn)作為城市,然后計(jì)算出TSP問題的最優(yōu)解
%(1)初始化Hopfield神經(jīng)網(wǎng)絡(luò)的初值
city_num=11;
%?懲罰參數(shù)A和D
%?A=city_num^2;
%?D=city_num/2;
A=1.5;
D=1;
%初始電壓
u_0=0.02;
%步長(zhǎng)
step=1;
%最大迭代次數(shù)
iter=0;
MAX=10000;
%最小能量最小距離
E_min=10000;
d_min=10000;
%(2)生成網(wǎng)格,并計(jì)算n個(gè)城市之間的距離矩陣Dxy
%隨機(jī)生成城市坐標(biāo)
%?city_pos_1=randi([19]1city_num);
%?city_pos_2=randperm(9);
city_perm=randperm(81);
city_perm=city_perm(11:city_num);
city_pos_1=(floor(city_perm./9)+1).*0.1;
city_pos_2=(mod(city_perm9)+1).*0.1;
city_pos=[city_pos_1;city_pos_2(11:city_num)];
%?city_pos=[1122;1212];
%?citys=load(‘8.txt‘);
%
%?city_num=8;
%?city_pos=citys‘;
%計(jì)算城市間距
d=zeros(city_num);
for?i=1:city_num
????for?j=1:city_num
????????d(ij)=(city_pos(:i)-city_pos(:j))‘...
????????????*(city_pos(:i)-city_pos(:j));
????????d(ij)=d(ij)^(1/2);
????end
end
%畫出網(wǎng)格
hold?on;
plot(city_pos(1:)city_pos(2:)‘Ko‘);
for?k=1:city_num
????str=[‘???city‘?num2str(k)?‘‘];
????text(city_pos(1k)city_pos(2k)str);
end
%?set(gca‘XLim‘[0?city_num+1]‘YLim‘[0?city_num+1]);
set(gca‘XLim‘[0?1]‘YLim‘[0?1]);
grid?on;
%%
tic
%(3)初始化神經(jīng)網(wǎng)絡(luò)的輸入狀態(tài)
%?U=zeros(city_num);
U_0=zeros(city_num)+u_0;
%?delta=2*rand(city_num)-1;%隨機(jī)項(xiàng)
delta=(2*rand(city_num)-1)/10;%隨機(jī)項(xiàng)
U=(0.5*log(city_num-1)).*U_0+delta;
V=0.5*(1+tanh(U/u_0));

V_col=sum(V1);%列和
V_row=sum(V2);%行和
Best_Route=[E_min;d_min;zeros(city_num1)];
while?iter~=MAX
????%(4)利用動(dòng)態(tài)方程計(jì)算輸入狀態(tài)的增量,并更新神經(jīng)網(wǎng)絡(luò)下一個(gè)時(shí)刻的狀態(tài)
????%?計(jì)算增量dU
%?????if?iter==0
%?????????U_c=U;
%?????end??
????dU=zeros(city_num);
????for?l=1:city_num
????????for?m=1:city_num
????????????m_0=m+1;
????????????m_1=m-1;
????????????if?m==city_num
????????????????m_0=1;
????????????end
????????????if?m==1
????????????????m_1=city_num;
????????????end
????????????dU(lm)=-A*(V_col(m)+V_row(l)-2)-...
????????????????D*d(l:)*V(:m_0);
%?????????????dU(lm)=-A*(V_row(m)-U(lm))-B*(V_col(l)-U(lm))-...
%?????????????????C*(sum(V_row)-city_num)-D*(d(l:)*U(:m_0)+d(l:)*U(:m_1));
????????end
????end
????%更新U
????U=U+dU*step;
????V=0.5*(1+tanh(U/u_0));
????%(5)計(jì)算當(dāng)前的能量函數(shù)E
????V_col=sum(V1);%列和
????V_row=sum(V2);%行和
????part_1=sum((V_col-1).^2);
????part_2=sum((V_row-1).^2);
????part_3=0;
????for?n=1:city_num
????????for?o=1:city_num
????????????for?p=1:city_num
????????????????p_0=p+1;
????????????????if?p==city_num
????????????????????p_0=1;
????????????????end
????????????????part_3=part_3+V(np)*V(op_0)*d(no

評(píng)論

共有 條評(píng)論