一种基于BAS改进的粒子群优化算法求解旅行商问题的方法与流程

文档序号:31452581发布日期:2022-09-07 13:42阅读:328来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
一种基于BAS改进的粒子群优化算法求解旅行商问题的方法与流程
一种基于bas改进的粒子群优化算法求解旅行商问题的方法
技术领域
1.本发明涉及群智能优化算法技术领域,具体涉及一种基于bas改进的粒子群优化算法求解旅行商问题的方法。


背景技术:

2.旅行商问题(tsp)是数学领域著名的问题,是商人拜访n个城市并且每个城市仅访问一次,最后回到出发城市,并且要求选择的路线最短的问题。针对著名的旅行商问题,随着城市数量的增加,会产生组合爆炸的情况。早期的研究者使用精确算法求解该问题,在后来,国内外的研究者重点使用近似算法或者启发式算法。因此,我们选择了一种改进的粒子群优化算法来解决此问题。粒子群优化算法(pso)是一种进化计算技术,起源于对鸟群觅食行为的研究。传统的粒子群优化算法容易陷入局部最优并且不稳定,pso的机理性研究较少、缺乏严密的数学指导。


技术实现要素:

3.为解决上述问题,本发明提供一种基于bas改进的粒子群优化算法求解旅行商问题的方法,设计合理,解决了现有技术的不足,具有良好的效果。
4.为了实现发明目的,采用以下技术方案:
5.一种基于bas改进的粒子群优化算法求解旅行商问题的方法,包括以下步骤:
6.s1、初始化相关参数,包括城市数量、粒子群数量以及最大迭代次数;
7.s2、初始化城市坐标、每个粒子的位置和速度;
8.s3、通过bas算法产生随机速度,并根据适应度大小选择速度;
9.s4、更新每个粒子的位置和速度;
10.s5、分别保存个体最优和群体最优;
11.s6、重复步骤s3、s4和s5,当迭代次数达到预设的上限后,停止迭代;
12.s7、停止迭代后,输出当前群体最优对应的位置序列,即为旅行商问题最短路径的图解。
13.进一步地,s1包括以下子步骤:
14.s11、设置城市数量为n,粒子群数量为m,最大迭代次数为maxlteration;
15.s12、设置粒子群算法的惯性因子为w,该值为非负值,随着迭代次数减小,学习因子为c1、c2、c3;
16.进一步地,s2包括以下子步骤:
17.s21、根据实际情况表示出n个城市的坐标,城市坐标用(x,y)表示;
18.s22、设置每个粒子的位置为n个城市序号的随机序列;
19.s23、设置每个粒子的速度为n维的随机序列;
20.进一步地,s3包括以下子步骤:
21.s31、利用bas算法产生每个粒子的速度,表达式如式(1)所示:
22.v_bas=round(rand(1,n)'.*n)(1)
23.其中,v_bas为bas算法产生的每个粒子的速度,round为取整函数,rand(1,n)产生n维的随机向量,rand(1,n)'表示对rand(1,n)求转置矩阵;
24.s32、利用bas算法产生的粒子速度更新每个粒子的位置,表达式如式(2)所示:
[0025][0026]
其中,为第i个粒子在k+1次迭代中的位置,为第i个粒子在k次迭代中的位置;
[0027]
利用评价函数评价更新后的位置好或者坏,选择使更新后的位置好的速度,评价函数的表达式如下所示:
[0028][0029]
其中,|city
i+1-cityi|为两座城市之间的欧氏距离,为第i个粒子在k+1次迭代时的遍历n个城市后又回到初始城市的总距离。
[0030]
进一步地,s4包括以下子步骤:
[0031]
s41、利用传统的pso算法更新每个粒子的速度,表达式如式(4)所示:
[0032][0033]
其中,为第i个粒子在第k+1次迭代中更新后的速度,为上一次迭代的速度,w为惯性因子,c1,c2和c3为学习因子,为上一次迭代中的个体最优,为上一次迭代中的全局最优;
[0034]
s42、利用传统的pso算法更新每个粒子的位置,表达式如式(5)所示:
[0035][0036]
其中,为第i个粒子在第k+1次迭代中更新后的位置,由上一次迭代中的位置和速度决定。
[0037]
本发明具有的有益效果是:
[0038]
本发明在传统的粒子群算法中引入了bas算法,利用bas算法更新粒子群的速度和位置,可以解决传统粒子群算法容易陷入局部最优的缺点,该方法提高了搜索速度,并且更加稳定,提高了解决旅行商问题的效率。通过程序验证,验证了该算法的有效性。
附图说明
[0039]
图1为本发明的流程图;
[0040]
图2为传统粒子群算法解决旅行商问题的最短路径收敛图;
[0041]
图3为基于bas改进的粒子群算法解决旅行商问题的最短路径收敛图;
[0042]
图4为传统粒子群算法解决旅行商问题的城市分布图;
[0043]
图5为基于bas改进的粒子群算法解决旅行商问题的城市分布图;
具体实施方式
[0044]
下面结合附图和具体实施例对本发明的具体实施方式做进一步说明:
[0045]
一种基于bas改进的粒子群优化算法求解旅行商问题的方法,其特征在于,包括以下步骤:
[0046]
s1、初始化相关参数,包括城市数量、粒子群数量以及最大迭代次数;
[0047]
具体地,s1包括以下子步骤:
[0048]
s11、设置城市数量为n=14,粒子群数量为m=500,最大迭代次数为maxlteration=100;
[0049]
s12、设置粒子群算法的惯性因子为w,iteration代表迭代次数,w为非负值,随着迭代次数减小,学习因子为c1=0.5、c2=0.7、c3=0.05;
[0050]
s2、初始化城市坐标、每个粒子的位置和速度;
[0051]
具体地,s2包括以下子步骤:
[0052]
s21、根据实际情况表示出14个城市的坐标,城市坐标用(x,y)表示;
[0053]
本实施例用14x2的数组表示出14个城市的位置为:[16.47 96.10;16.47 94.44;20.09 92.54;22.39 93.37;25.23,97.24;22.00 96.05;20.47 97.02;17.20 96.29;16.30 97.38;14.05 98.12;16.53 97.38;21.52 95.59;19.41 97.13;20.09 94.55];
[0054]
s22、设置每个粒子的位置为14个城市序号的随机序列;
[0055]
s23、设置每个粒子的速度为14维的随机序列;
[0056]
s3、通过bas算法产生随机速度,并根据适应度大小选择速度;
[0057]
s3包括以下子步骤:
[0058]
s31、利用bas算法产生每个粒子的速度,表达式如式(1)所示:
[0059]
v_bas=round(rand(1,n)'.*n)(1)
[0060]
其中,v_bas为bas算法产生的每个粒子的速度,round为取整函数,rand(1,n)产生n维的随机向量,rand(1,n)'表示对rand(1,n)求转置矩阵;
[0061]
s32、利用bas算法产生的粒子速度更新每个粒子的位置,表达式如式(2)所示:
[0062][0063]
其中,为第i个粒子在k+1次迭代中的位置,为第i个粒子在k次迭代中的位置;
[0064]
利用评价函数评价更新后的位置好或者坏,选择使更新后的位置好的速度,评价函数的表达式如下所示:
[0065][0066]
其中,|city
i+1-cityi|为两座城市之间的欧氏距离,为第i个粒子在k+1次迭代时的遍历n个城市后又回到初始城市的总距离,当总距离小时评价为“好”,当总距离大时评价为“坏”。
[0067]
s4、更新每个粒子的位置和速度;
[0068]
所述s4包括以下子步骤:
[0069]
s41、利用传统的pso算法更新每个粒子的速度,表达式如式(4)所示:
[0070]
[0071]
其中,为第i个粒子在第k+1次迭代中更新后的速度,为上一次迭代的速度,w为惯性因子,c1,c2和c3为学习因子,为上一次迭代中的个体最优,为上一次迭代中的全局最优;
[0072]
s42、利用传统的pso算法更新每个粒子的位置,表达式如式(5)所示:
[0073][0074]
其中,为第i个粒子在第k+1次迭代中更新后的位置,由上一次迭代中的位置和速度决定。
[0075]
s5、分别保存个体最优和群体最优;
[0076]
其中,个体最优为一个粒子在迭代过程中的最优,群体最优是利用群体优化算法选取在所有个体最优中的最优;
[0077]
s6、重复步骤s3、s4和s5,当迭代次数达到预设的上限后,停止迭代;
[0078]
s7、停止迭代后,输出当前群体最优对应的位置序列,即为旅行商问题最短路径的图解,如图5所示。
[0079]
经过实验验证,如图2所示,传统的pso算法最短路径收敛于32.1767,通过加入bas算法改进后,如图3所示,最短路径收敛于30.8785。如图4和图5所示,传统pso算法容易陷入局部最优,加入bas算法以后可以跳出局部最优,求得全局最优解。
[0080]
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • AI数据云测质量的提升方法、...
  • 一种尾矿库溃坝灾害避险转移方...
  • 流场数值模拟方法、装置、计算...
  • 电力负荷类型识别方法、装置、...
  • 显示面板及显示装置的制作方法
  • 一种快速拆装的计算机主机箱的...
  • 用于创建场景的超分辨率图像的...
  • 图像的处理方法、装置和车辆与...
  • 英文搜索词的纠错搜索方法及装...
  • 一种基于区块链的数字凭证发行...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

PHP网站源码宝安网站搜索优化东莞网站开发南澳企业网站设计深圳品牌网站设计大浪网站seo优化宝安外贸网站设计丹竹头网站优化排名同乐网站制作塘坑网页制作惠州网站优化推广坪地外贸网站制作盐田优化南澳网站优化推广南山百度竞价包年推广双龙企业网站建设观澜企业网站设计荷坳网站优化按天收费木棉湾网站搭建木棉湾关键词排名坑梓模板推广横岗seo网站推广南联网站搭建罗湖SEO按天扣费同乐阿里店铺运营大芬网站关键词优化爱联网站优化排名坪山百搜标王宝安网站优化按天收费观澜阿里店铺运营南联企业网站改版歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化