资源简介
自己写的matlab代码 TSP,Hopfiled神经网络,代码功力不高见谅
代码片段和文件信息
clear;clc;
% hopfield神经网络
% 问题拟定为在网格上随机选取N个点作为城市,然后计算出TSP问题的最优解
%(1)初始化Hopfield神经网络的初值
city_num=11;
% 惩罚参数A和D
% A=city_num^2;
% D=city_num/2;
A=1.5;
D=1;
%初始电压
u_0=0.02;
%步长
step=1;
%最大迭代次数
iter=0;
MAX=10000;
%最小能量最小距离
E_min=10000;
d_min=10000;
%(2)生成网格,并计算n个城市之间的距离矩阵Dxy
%随机生成城市坐标
% 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‘;
%计算城市间距
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
%画出网格
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)初始化神经网络的输入状态
% U=zeros(city_num);
U_0=zeros(city_num)+u_0;
% delta=2*rand(city_num)-1;%随机项
delta=(2*rand(city_num)-1)/10;%随机项
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)利用动态方程计算输入状态的增量,并更新神经网络下一个时刻的状态
% 计算增量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)计算当前的能量函数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
相关资源
- matlab程序用Hopfield网络解决TSP
- 用蚁群算法求解TSP问题的matlab程序
- 基于遗传算法的旅游全国的路径最优
- 求解多旅行商(MTSP)的遗传算法的
- mtsp源代码MATLAB
- matlab蚁群算法各种经典蚁群算法for
- zw_TSP_matlab_c_高斯去噪.zip
- GA算法解决TSP问题(超完整版)(ma
- 贪婪算法和最小路径算法解决TSP问题
- 邮政运输网络中的邮路规划和邮车调
- 离散Hopfield神经网络的联想记忆—数字
- 离散Hopfield神经网络的联想记忆—数字
- 基于遗传算法的TSP问题求解
- MATLAB遗传算法解决旅行商问题TSP、多
- 蚁群算法MATLAB代码287131
- SOM-TSP[Matlab].rar
- 蜂群算法优化旅行商问题
- hopfield神经网络的matlab仿真程序-hopf
- matlab解决旅行商问题
- hopfield网络解决TSP问题
- 关于MATLAB优化TSP算法的完善及推广
- city_location.mat
- Hopfield解决TSP问题
- 商旅问题TSP代码
- matlab 人工鱼群求解TSP
- 基于遗传算法的TSP问题(matlab)
- 神经网络中hopfield算法的Matlab的实现
- 解决灾情巡视TSP问题数模的MATLAB程序
- 模拟退火解决tsp的Matlab程序+设计报告
- 基于离散型Hopfield神经网络识别手写数
评论
共有 条评论