资源简介
自己写的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
相关资源
- 51个城市的TSP问题
- 邮政运输网络中的邮路规划和邮车调
- 遗传算法(GA)求tsp问题
- netspeedmonitor64位Win10可用
- 使用遗传算法(GA)解决旅行商问题(
- VRP的py禁忌搜索+tsplib数据集与matlab.
- matlab中的旅行商问题
- TSP算法程序
- 22个城市TSP问题求解,matlab源码,可运
- Matlab多旅行商TSP-5种算法
- 蚁群算法解决 TSP问题 matlab 2017a 编
- NSGAII解决TSP问题matlab源码
- 模糊自适应粒子群和蚁群混合算法求
- 全面的TSP测试函数
- MATLAB-MTSP
- mtsp-with--pso 应用启发式算法-粒子群算
- TS_TSP
- ofdm-papr_slmPptsPc
-
TSP-ba
sed-on-improved-pso 基于对粒子群优 - TSP-PSO 粒子群算法解决经典的TSP问题
- 遗传算法解决5种多旅行商问题mtsp的
- matlab 蚁群算法求解基本TSP问题的源
- 混沌COA优化算法解决TSP问题,附混沌
- 各种优化算法解决TSP问题
- 基于免疫算法的TSP问题MATLAB源程序
- 各种优化算法解决TSP问题的matlab源代
- matlab实现TSP问题
- 遗传算法解TSP问题MATLAB代码
- 遗传算法解决5种多旅行商问题MTSP的
- 蚁群算法解决TSP问题31城matlab
评论
共有 条评论