基于麻雀搜索算法的TSP问题解决(文末附代码)

本文介绍了旅行商问题,一种经典的NP难问题,重点探讨了如何使用新兴的麻雀搜索算法来求解大规模问题。算法基于麻雀社会行为,通过发现者、加入者和警戒者角色实现高效收敛。同时,文中提及了动态规划和分支界限法作为精确算法的对比。附有代码下载链接。
摘要由CSDN通过智能技术生成


前言

旅行商问题是典型的NP难问题。旅行商问题 可以描述为:一个商品推销员要去若干个城市推销 商品,他从一个城市出发,需要经过所有城市后, 回到出发地[2],他应如何选择行进路线,以使总的 行程最短。常用的精确算法例如动态规划法、分支 界限法等适用于城市规模较小的旅行商问题,而对 于城市规模较大的旅行商问题,则需要元启发式等 近似算法来求解。


一、麻雀搜索算法

麻雀搜索算法是近两年提出的新兴群智能优化算法,具备算法原理简单、收敛速度快等优势。该算法基于麻雀种群的社会行为将麻雀个体分为发现、加入者以及警戒者,发现者能力较强可以找到食物并为同类指明方向,公式为:
发现者

式中:t和T分别为算法当前以及最大更新次数,∝为随机数,其取值范围为1,1;Q同样为随机数,但服从正态分布;L为所有元素都是1的行短阵,其列数由待求解问题维度确定;R2为大于0小于1的预警值,ST为大于0.5小于1的安全值。

加入者则通过观察发现者的食物来源以便取而代之,公式为:
在这里插入图片描述

式中:Xp(t+1)为所有发现者中位置更新后的最佳位置;A+ = AT(AAT)-1其中,A为所有元素随机取值为1或-1的行矩阵,列数为求解问题维度;Xworst为当前种群中的最劣位置;n为种群中麻雀数量.
警戒者需要时刻留意当前环境,以便发现危险立即飞往安全环境。位置更新公式为:
在这里插入图片描述

式中:Xbest为当前种群中的最佳位置;β为随机数且遵循标准正态分布;fi, fg, fw分别为目前个体、当前种群最优、最劣的适应度值;k在-1,1范围内随机取值,ε的作用是防止分母为0.

二、TSP问题求解

TSP1
在这里插入图片描述
在这里插入图片描述
TSP2
在这里插入图片描述

在这里插入图片描述

三、代码下载

点击下载代码

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值