MAT之SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题

简介: MAT之SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题

输出结果

image.png


实现代码


%SA:利用SA算法解决TSP(数据是14个虚拟城市的横纵坐标)问题——Jason niu

X = [16.4700   96.1000

    16.4700   94.4400

    20.0900   92.5400

    22.3900   93.3700

    25.2300   97.2400

    22.0000   96.0500

    20.4700   97.0200

    17.2000   96.2900

    16.3000   97.3800

    14.0500   98.1200

    16.5300   97.3800

    21.5200   95.5900

    19.4100   97.1300

    20.0900   92.5500];

D = Distance(X);  

N = size(D,1);    

T0 = 1e10;    

Tend = 1e-30;

L = 2;        

q = 0.9;      

Time = ceil(double(solve([num2str(T0) '*(0.9)^x = ',num2str(Tend)])));  

count = 0;            

Obj = zeros(Time,1);  

track = zeros(Time,N);

S1 = randperm(N);  

DrawPath(S1,X)    

title('利用自定义函数绘制TSP问题的初始路径(随机产生)—Jason niu')

disp('初始种群中的一个随机值:')

OutputPath(S1);    

Rlength = PathLength(D,S1);

disp(['总距离:',num2str(Rlength)]);

while T0 > Tend    

   count = count + 1;    

   temp = zeros(L,N+1);

   S2 = NewAnswer(S1);  

   [S1,R] = Metropolis(S1,S2,D,T0);

   if count == 1 || R < Obj(count-1)

       Obj(count) = R;          

   else

       Obj(count) = Obj(count-1);

   end

   track(count,:) = S1;

   T0 = q * T0;        

end

figure

plot(1:count,Obj)

xlabel('迭代次数')

ylabel('距离')

title('SA:显示SA算法对TSP问题的优化过程(适应度函数)—Jason niu')

DrawPath(track(end,:),X)

title('SA:利用SA对TSP问题优化,绘制出利用SA算法优化后的最优路径图—Jason niu')

%% IX. 输出最优解的路线和总距离

disp('最优解:')

S = track(end,:);

p = OutputPath(S);

disp(['总距离:',num2str(PathLength(D,S))]);


相关文章
|
4月前
|
数据采集 机器学习/深度学习 算法
【优秀设计案例】基于K-Means聚类算法的球员数据聚类分析设计与实现
本文通过K-Means聚类算法对NBA球员数据进行聚类分析,旨在揭示球员间的相似性和差异性,为球队管理、战术决策和球员评估提供数据支持,并通过特征工程和结果可视化深入理解球员表现和潜力。
150 1
【优秀设计案例】基于K-Means聚类算法的球员数据聚类分析设计与实现
|
1月前
|
存储 算法 决策智能
基于免疫算法的TSP问题求解matlab仿真
旅行商问题(TSP)是一个经典的组合优化问题,目标是寻找经过每个城市恰好一次并返回起点的最短回路。本文介绍了一种基于免疫算法(IA)的解决方案,该算法模拟生物免疫系统的运作机制,通过克隆选择、变异和免疫记忆等步骤,有效解决了TSP问题。程序使用MATLAB 2022a版本运行,展示了良好的优化效果。
|
1月前
|
存储 编解码 负载均衡
数据分片算法
【10月更文挑战第25天】不同的数据分片算法适用于不同的应用场景和数据特点,在实际应用中,需要根据具体的业务需求、数据分布情况、系统性能要求等因素综合考虑,选择合适的数据分片算法,以实现数据的高效存储、查询和处理。
|
1月前
|
存储 缓存 算法
分布式缓存有哪些常用的数据分片算法?
【10月更文挑战第25天】在实际应用中,需要根据具体的业务需求、数据特征以及系统的可扩展性要求等因素综合考虑,选择合适的数据分片算法,以实现分布式缓存的高效运行和数据的合理分布。
|
2月前
|
机器学习/深度学习 人工智能 算法
"拥抱AI规模化浪潮:从数据到算法,解锁未来无限可能,你准备好迎接这场技术革命了吗?"
【10月更文挑战第14天】本文探讨了AI规模化的重要性和挑战,涵盖数据、算法、算力和应用场景等方面。通过使用Python和TensorFlow的示例代码,展示了如何训练并应用一个基本的AI模型进行图像分类,强调了AI规模化在各行业的广泛应用前景。
34 5
|
1月前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
42 0
|
2月前
|
人工智能 算法 前端开发
无界批发零售定义及无界AI算法,打破传统壁垒,累积数据流量
“无界批发与零售”是一种结合了批发与零售的商业模式,通过后端逻辑、数据库设计和前端用户界面实现。该模式支持用户注册、登录、商品管理、订单处理、批发与零售功能,并根据用户行为计算信用等级,确保交易安全与高效。
|
2月前
|
前端开发 算法 JavaScript
无界SaaS模式深度解析:算力算法、链接力、数据确权制度
私域电商的无界SaaS模式涉及后端开发、前端开发、数据库设计、API接口、区块链技术、支付和身份验证系统等多个技术领域。本文通过简化框架和示例代码,指导如何将核心功能转化为技术实现,涵盖用户管理、企业店铺管理、数据流量管理等关键环节。
|
2月前
|
算法 决策智能
基于GA-PSO遗传粒子群混合优化算法的TSP问题求解matlab仿真
本文介绍了基于GA-PSO遗传粒子群混合优化算法解决旅行商问题(TSP)的方法。TSP旨在寻找访问一系列城市并返回起点的最短路径,属于NP难问题。文中详细阐述了遗传算法(GA)和粒子群优化算法(PSO)的基本原理及其在TSP中的应用,展示了如何通过编码、选择、交叉、变异及速度和位置更新等操作优化路径。算法在MATLAB2022a上实现,实验结果表明该方法能有效提高求解效率和解的质量。
|
2月前
|
机器学习/深度学习 算法 数据处理
EM算法对人脸数据降维(机器学习作业06)
本文介绍了使用EM算法对人脸数据进行降维的机器学习作业。首先通过加载ORL人脸数据库,然后分别应用SVD_PCA、MLE_PCA及EM_PCA三种方法实现数据降维,并输出降维后的数据形状。此作业展示了不同PCA变种在人脸数据处理中的应用效果。
35 0