旅行商從城市1出發,終點城市由算法求解而定
部分代碼
close all clear clc global data load('data.txt')%導入TSP數據集 Dim=size(data,1)-1;%維度 lb=-100;%下界 ub=100;%上界 fobj=@Fun;%計算總距離 SearchAgents_no=100; % 種群大小(可以修改) Max_iteration=1000; % 最大迭代次數(可以修改) %% 畫收斂曲線圖 figure plot(curve,'g-','linewidth',2) xlabel('迭代次數') ylabel('總距離') legend('SO') %% 顯示結果 fprintf('算法得到的路徑:%d',Kd(1)) for i=2:length(Kd)fprintf(' > %d',Kd(i)); end fprintf('\n'); display(['算法求解的總路徑總長:' num2str(curve(end))]); %% 保存數據 dlmwrite('Kd.txt',Kd,'delimiter', '\n')%保留最終的城市序列 dlmwrite('curve.txt',curve,'delimiter', '\n')%保留算法求解的收斂曲線
部分結果
算法得到的路徑:1 > 13 > 4 > 18 > 14 > 17 > 22 > 11 > 15 > 19 > 25 > 7 > 16 > 24 > 27 > 23 > 8 > 28 > 12 > 9 > 5 > 29 > 3 > 26 > 6 > 21 > 2 > 20 > 10
算法求解的總路徑總長:10653.3976
完整MATLAB代碼
不閉合三維TSP:蛇優化算法SO求解不閉合三維TSP(起點固定,終點不定,可以更改數據集),MATLAB代碼
點擊main.m即可運行