蚁群算法求解TSP问题

蚁群算法背景:(模型不理解或代码获取来这里

        蚁群算法灵感来源于蚂蚁寻找食物过程中找到路径的行为。在蚂蚁觅食的过程中,蚂蚁会在走过的路径中释放一种叫做“信息素”的物质,用来标记自己走过的路径。“信息素”被释放后,蚂蚁以及同类可以根据信息素的位置定位食物。

        蚁群算法的基本思想就是根据概率选择信息素浓度大的路径走,信息素浓度越大,这条路被选择的概率就越大,碰到还没走过的路,就随机挑选一条路走。蚁群算法是一种用来寻找优化路径的概率型算法,本质上是进化算法中的一种启发式全局优化算法。

        

蚁群算法步骤:

蚁群算法具体步骤如下,在这里不多赘述。

 计算蚂蚁选择某个城市的概率:

        在这里着重说一下,tabuk是禁忌表的意思,所谓禁忌表就是蚂蚁已经到访过的城市,例如有1 2 3 4 5 6一共6个城市,蚂蚁已经走完第了6 2 1个城市,那么禁忌表就是6 2 1,对于概率公式来说,只能计算出3 4 5这三座城市的概率。计算每个城市的概率后,采用赌轮盘法则选择应该走哪个城市。

更新信息素:

        蚂蚁留下信息素的方式有三种:蚁周模型 蚁量模型 蚁密模型,从全局求解性考虑,本文使用蚁周模型,蚁周模型从全局性考虑,算法寻优效果好。蚁周算法公式如下:

         更新信息素公式如下,更新信息素是为了让劣解的信息新逐渐挥发,让优解信息素堆积,这样可以让后续求解时寻优效果更好。

 

求解结果:

        以下是我自己手写的蚁群算法求解TSP问题的代码和求解结果,可以看出代码寻优效果好,算法收敛快。

(给自己打个小广告)

        手写蚁群算法求解tsp问题的代码,对于初学者很有好,算法通俗易懂,代码有注释,可以直接运行。
         内有算法手把手教学视频,教学内容十分详细,逐行讲解代码,对于matlab初学者在理解和编程上有很大的帮助
        代码纯自己手动编写,支持原创,感谢配合。
        不支持售后,视频内容十分详细,有代码参数的讲解,代码编写的讲解,看完视频即可有对代码的全部理解。
        代码获取方式,详情请见这里
        代码只可用来做日常学习,不可用于售卖以及商业用途,违者追究法律责任,望重视!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值