CN111695668A - 一种基于反向学习的蚁群算法优化方法 - Google Patents

一种基于反向学习的蚁群算法优化方法 Download PDF

Info

Publication number
CN111695668A
CN111695668A CN202010549642.2A CN202010549642A CN111695668A CN 111695668 A CN111695668 A CN 111695668A CN 202010549642 A CN202010549642 A CN 202010549642A CN 111695668 A CN111695668 A CN 111695668A
Authority
CN
China
Prior art keywords
path
reverse
pheromone
node
ant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010549642.2A
Other languages
English (en)
Inventor
许钊雄
张兆军
李轩宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Normal University
Original Assignee
Jiangsu Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu Normal University filed Critical Jiangsu Normal University
Priority to CN202010549642.2A priority Critical patent/CN111695668A/zh
Publication of CN111695668A publication Critical patent/CN111695668A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Agricultural Chemicals And Associated Chemicals (AREA)

Abstract

本发明涉及一种基于反向学习的蚁群算法优化方法,用于求解旅行商问题。该算法的改进主要包括以下几点:1,在初始路径求出后,对初始路径中每个城市的序号进行反向,构造反向路径;2,将初始路径和反向路径分别按照长度从小到大排序,取其中的部分路径构成一组新的路径;3,设置一个迭代阈值,如果当前的迭代次数未达到迭代阈值时,对新的一组路径进行信息素更新;否则,则对初始路径进行信息素更新。本发明对基本蚁群算法的信息素更新方面做了改进,在迭代前期,引入反向学习构造反向路径,并参与信息素更新,有利于扩大蚂蚁的搜索范围,避免蚂蚁陷入局部极值,平衡了解空间的探索和开发。

Description

一种基于反向学习的蚁群算法优化方法
技术领域
本发明属于计算机技术领域,涉及一种基于反向学习的蚁群算法优化方法。
背景技术
随着科学技术的发展,优化方法在人工智能、电子科学、交通运输、公共管理等领域得到了广泛的应用。国内外许多专家学者从自然中得到启发,通过模拟自然现象和生物行为,提出了一系列优化算法,其中包括:人工势场法、模拟退火算法、遗传算法、粒子群算法以及蚁群算法等。其中,人工势场法缺乏全局信息,容易出现局部极值;模拟退火算法的收敛速度较慢,性能对参数较为敏感;遗传算法计算量大,且搜索速度较慢;粒子群算法容易出现早熟收敛,局部寻优能力较差;蚁群算法存在搜索时间过长、易陷入局部最优解等缺陷。
蚁群算法是通过模拟自然界中真实蚂蚁的觅食行为而提出的一种启发式搜索算法。根据研究发现,蚂蚁在寻找食物的过程中,会在其经过的路径上释放信息素。信息素能被其它蚂蚁所感知,并且会影响其它蚂蚁接下来的路径选择。路径越短,释放的信息素就越多。信息素浓度越高,蚂蚁选择该路径的概率就越大,而其他路径上的信息素浓度随着时间的推移而逐渐消减。最终,蚂蚁会找到一条从蚁巢到食物源的最短路径。
蚁群算法包括两个主要步骤:路径构建和信息素更新。在构建解过程中,通过随机比例规则,逐步建立优化问题的解;在信息素更新过程中,依据蚂蚁所构造的解,修改空间内的信息素浓度。凭借其具有较强的鲁棒性、分布式并行计算、易与其他算法相结合等优点,蚁群算法已经成功应用于旅行商问题、车辆路径规划问题、背包问题、连续函数寻优等多个领域。旅行商问题是一个经典的组合优化问题,简单描述为:求旅行商遍历完所有城市且每个城市只经过一次的最短路径。
发明内容
本发明的目的是提供一种基于反向学习的蚁群算法优化方法,用于求解旅行商问题。该算法通过引入反向学习算法构造反向路径,在信息素更新阶段,选择反向路径中部分效果较好的路径参与信息素更新,增加算法对解空间的探索,有利于算法跳出局部极值。
本发明采用的技术方案是:一种基于反向学习的蚁群算法优化方法,包括如下步骤:
S1:初始化蚁群算法参数,输入旅行商问题节点坐标;
S2:将每只蚂蚁随机放入任意一个节点中作为起始节点;
S3:每只蚂蚁从起始节点开始,按照状态转移规则选择下一个移动节点,直到遍历完所有节点,得到初始路径;
S4:设定一个迭代阈值R,判断当前迭代次数是否大于阈值R,若是则跳转至S6,否则对初始路径中每个城市的序号进行反向,构造反向路径;
S5:将初始路径和反向路径按照其路径长度进行排序,分别取其中部分路径构成一组新的路径;
S6:按照信息素更新公式,对路径进行信息素更新;
S7:判断是否达到最大迭代次数,若是则停止搜索,输出全局最优路径,否则跳转至S2进行下一次迭代;
进一步地,所述步骤S3的状态转移规则具体为:
蚂蚁在进行路径构建时,主要受信息素浓度和启发信息两个因素的影响。在t时刻,蚂蚁k从当前节点i移动到下一个节点j的状态转移概率为
Figure BDA0002541990690000021
其中:α和β是决定信息素和启发因子重要性的两个参数;τij表示边(i,j)上的信息素浓度;ηij为启发因子,表示从节点i到节点j的期望程度,通常取两个节点间距离的倒数;Jk(i)表示蚂蚁k下一步可选节点的集合。
进一步地,所述步骤S4中构造反向路径具体为:
首先根据下式,确定一个镜像点M:
Figure BDA0002541990690000022
其中:
Figure BDA0002541990690000023
表示向上取整;n表示节点数。
当节点数n为奇数时,当前节点C对应的反向节点
Figure BDA0002541990690000024
定义为
Figure BDA0002541990690000025
当节点数n为偶数时,当前节点C对应的反向节点
Figure BDA0002541990690000031
定义为
Figure BDA0002541990690000032
进一步地,所述步骤S5中构成新路径的方法为:
当有m只蚂蚁搜索路径,初始路径的数量即为m条,反向路径同样为m条。将初始路径和反向路径分别按照长度从小到大排序,将初始路径中排列在前的m1条路径和反向路径中排列在前的m2条路径组合成新路径。其中,m=m1+m2.
进一步地,所述步骤S6中信息素更新公式具体为:
当蚂蚁遍历完所有节点得到完整路径后,对信息素进行调整。信息素更新公式如下
Figure BDA0002541990690000033
其中:ρ(0<ρ≤1)表示信息素的挥发系数;
Figure BDA0002541990690000034
表示蚂蚁k在本次迭代之后,路径(i,j)上的信息素增量。
Figure BDA0002541990690000035
的取值如下
Figure BDA0002541990690000036
其中:Q表示信息素增强系数;Lk表示蚂蚁k完成一次周游后的路径长度。
本发明的有益效果是:通过引入反向学习算法构造反向路径,由于蚁群算法初始化方式类似于贪婪算法,因此构造的反向路径一般比初始路径的长度要长。即便如此反向路径中仍含有一些有效信息,在迭代前期,将部分长度较短的反向路径参与信息素更新,使反向路径上的信息素获得额外增量,能够增加蚂蚁对解空间的探索,避免算法陷入局部极值。在迭代后期,算法已经收敛到最优路径或接近最优路径,再使反向路径上的信息素获得额外增量已经没有意义,因此只选择在迭代前期引入反向学习,能够有效减少算法运行时间,提高算法的搜索效率。
附图说明
图1为本发明基于反向学习的蚁群算法优化方法的总体流程图;
图2为本发明实施例中与基本蚁群算法在kroA100算例下的迭代过程对比曲线;
图3为本发明实施例中与基本蚁群算法在pr226算例下的迭代过程对比曲线;
图4为本发明实施例中与基本蚁群算法在vm1084算例下的迭代过程对比曲线;
具体实施方式
为了便于理解下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅是本发明的一部分实施例。
如图1所示,一种基于反向学习的蚁群算法优化方法,主要包括以下步骤:
S1:初始化蚁群算法参数,包括:蚂蚁数、迭代次数、启发因子、挥发系数、初始信息素浓度等;算例选用TSPLIB中的kroA100、pr226、vm1084进行实验测试,利用节点坐标计算出任意两个节点之间的距离;
S2:将每只蚂蚁随机放入任意一个节点中作为起始节点开始遍历;
S3:每只蚂蚁从起始节点开始,按照状态转移规则选择下一个移动节点,直到遍历完所有节点,得到初始路径。蚂蚁在进行路径构建时,主要受信息素浓度和启发信息两个因素的影响。在t时刻,蚂蚁k从当前节点i移动到下一个节点j的状态转移概率为
Figure BDA0002541990690000041
其中:α和β是决定信息素和启发因子重要性的两个参数;τij表示边(i,j)上的信息素浓度;ηij为启发因子,表示从节点i到节点j的期望程度,通常取两个节点间距离的倒数;Jk(i)表示蚂蚁k下一步可选节点的集合。
S4:设定一个迭代阈值R,判断当前迭代次数是否大于阈值R,若是则跳转至S6,否则对初始路径中每个城市的序号进行反向,构造反向路径,具体为:
首先根据下式,确定一个镜像点M:
Figure BDA0002541990690000042
其中:
Figure BDA0002541990690000043
表示向上取整;n表示节点数。
当节点数n为奇数时,当前节点C对应的反向节点
Figure BDA0002541990690000044
定义为
Figure BDA0002541990690000051
当节点数n为偶数时,当前节点C对应的反向节点
Figure BDA0002541990690000052
定义为
Figure BDA0002541990690000053
S5:当有m只蚂蚁搜索路径,初始路径的数量即为m条,反向路径同样为m条。将初始路径和反向路径分别按照长度从小到大排序,将初始路径中排列在前的m1条路径和反向路径中排列在前的m2条路径组合成新路径。其中,m=m1+m2.
S6:求得路径后,对路径上的信息素进行调整。信息素更新公式如下
Figure BDA0002541990690000054
其中:ρ(0<ρ≤1)表示信息素的挥发系数;
Figure BDA0002541990690000055
表示蚂蚁k在本次迭代之后,路径(i,j)上的信息素增量。
Figure BDA0002541990690000056
的取值如下
Figure BDA0002541990690000057
其中:Q表示信息素增强系数;Lk表示蚂蚁k完成一次周游后的路径长度。
S7:判断是否达到最大迭代次数,若是则停止搜索,输出全局最优路径,否则跳转至S2进行下一次迭代。
为了验证改进算法的有效性,将本发明提出的改进算法和基本蚁群算法进行比较,程序的编译环境为MATLAB R2016a。实验选取了kroA100、pr226、vm1084三个TSP测试算例对比两种算法在不同阶段的迭代进化曲线。实验结果如图2、图3、图4所示。
从图中可以看出,基本蚁群算法在迭代前期收敛速度优于本发明改进算法,而随着迭代的进行,基本蚁群算法的收敛速度逐渐降低,改进算法的收敛速度逐渐加快。改进算法的平均路径长度在迭代后期低于基本蚁群算法。在迭代前期,通过引入反向路径参与信息素更新对算法的收敛速度带来负面影响,这是因为改进算法在迭代前期主要对解空间进行探索;在迭代后期,改进算法不再对解空间进行探索,侧重于对解空间的开发,因此算法收敛速度加快,得到的解优于基本蚁群算法。实验结果表明,通过引入反向学习,有利于扩大蚂蚁的搜索范围,避免蚂蚁陷入局部极值,收敛速度和收敛结果均优于基本蚁群算法
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (5)

1.一种基于反向学习的蚁群算法优化方法,其特征在于,包括以下步骤:
S1:初始化蚁群算法参数,输入旅行商问题节点坐标;
S2:将每只蚂蚁随机放入任意一个节点中作为起始节点;
S3:每只蚂蚁从起始节点开始,按照状态转移规则选择下一个移动节点,直到遍历完所有节点,得到初始路径;
S4:设定一个迭代阈值R,判断当前迭代次数是否大于阈值R,若是则跳转至S6,否则对初始路径中每个城市的序号进行反向,构造反向路径;
S5:将初始路径和反向路径按照其路径长度进行排序,分别取其中部分路径构成一组新的路径;
S6:按照信息素更新公式,对路径进行信息素更新;
S7:判断是否达到最大迭代次数,若是则停止搜索,输出全局最优路径,否则跳转至S2进行下一次迭代。
2.根据权利要求1所述的一种基于反向学习的蚁群算法优化方法,其特征在于,所述步骤S3的状态转移规则具体为:
蚂蚁在进行路径构建时,主要受信息素浓度和启发信息两个因素的影响。在t时刻,蚂蚁k从当前节点i移动到下一个节点j的状态转移概率为
Figure FDA0002541990680000011
其中:α和β是决定信息素和启发因子重要性的两个参数;τij表示边(i,j)上的信息素浓度;ηij为启发因子,表示从节点i到节点j的期望程度,通常取两个节点间距离的倒数;Jk(i)表示蚂蚁k下一步可选节点的集合。
3.根据权利要求1所述的一种基于反向学习的蚁群算法优化方法,其特征在于,所述步骤S4中构造反向路径具体为:
首先根据下式,确定一个镜像点M:
Figure FDA0002541990680000012
其中:
Figure FDA0002541990680000013
表示向上取整;n表示节点数。
当节点数n为奇数时,当前节点C对应的反向节点
Figure FDA0002541990680000014
定义为
Figure FDA0002541990680000021
当节点数n为偶数时,当前节点C对应的反向节点
Figure FDA0002541990680000022
定义为
Figure FDA0002541990680000023
4.根据权利要求1所述的一种基于反向学习的蚁群算法优化方法,其特征在于,所述步骤S5中构成新路径的方法为:
当有m只蚂蚁搜索路径,初始路径的数量即为m条,反向路径同样为m条。将初始路径和反向路径分别按照长度从小到大排序,将初始路径中排列在前的m1条路径和反向路径中排列在前的m2条路径组合成新路径。其中,m=m1+m2
5.根据权利要求1所述的一种基于反向学习的蚁群算法优化方法,其特征在于,所述步骤S6中信息素更新公式具体为:
当蚂蚁遍历完所有节点得到完整路径后,对信息素进行调整。信息素更新公式如下
Figure FDA0002541990680000024
其中:ρ(0<ρ≤1)表示信息素的挥发系数;
Figure FDA0002541990680000025
表示蚂蚁k在本次迭代之后,路径(i,j)上的信息素增量。
Figure FDA0002541990680000026
的取值如下
Figure FDA0002541990680000027
其中:Q表示信息素增强系数;Lk表示蚂蚁k完成一次周游后的路径长度。
CN202010549642.2A 2020-06-16 2020-06-16 一种基于反向学习的蚁群算法优化方法 Pending CN111695668A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010549642.2A CN111695668A (zh) 2020-06-16 2020-06-16 一种基于反向学习的蚁群算法优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010549642.2A CN111695668A (zh) 2020-06-16 2020-06-16 一种基于反向学习的蚁群算法优化方法

Publications (1)

Publication Number Publication Date
CN111695668A true CN111695668A (zh) 2020-09-22

Family

ID=72481535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010549642.2A Pending CN111695668A (zh) 2020-06-16 2020-06-16 一种基于反向学习的蚁群算法优化方法

Country Status (1)

Country Link
CN (1) CN111695668A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183710A (zh) * 2020-10-22 2021-01-05 中国联合网络通信集团有限公司 确定路径的方法及装置
CN112668542A (zh) * 2021-01-07 2021-04-16 上海艾因思萌信息科技有限公司 基于蚁群算法的幼儿互动学习编辑方法
CN113009821A (zh) * 2021-02-10 2021-06-22 上海海事大学 一种基于信息素初始分配和动态更新的蚁群算法优化方法
CN113253756A (zh) * 2021-05-18 2021-08-13 河北科技大学 基于改进蚁群算法的无人机冲突解脱方法
CN114131932A (zh) * 2021-11-25 2022-03-04 江苏科技大学 基于栅格化3d打印分区路径规划方法
CN117668671A (zh) * 2024-02-01 2024-03-08 成都工业学院 一种基于机器学习的教育资源治理方法
CN114131932B (zh) * 2021-11-25 2024-07-02 江苏科技大学 基于栅格化3d打印分区路径规划方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345657A (zh) * 2013-04-02 2013-10-09 江苏大学 云计算环境下基于遗传和蚁群的任务调度方法
CN106413021A (zh) * 2016-09-18 2017-02-15 扬州大学 基于蚁群算法的无线传感网络路由方法
CN109214498A (zh) * 2018-07-10 2019-01-15 昆明理工大学 基于搜索集中度和动态信息素更新的蚁群算法优化方法
CN111008685A (zh) * 2019-11-26 2020-04-14 辽宁工程技术大学 基于生产者依概率反向再生机制的改进人工生态系统优化算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345657A (zh) * 2013-04-02 2013-10-09 江苏大学 云计算环境下基于遗传和蚁群的任务调度方法
CN106413021A (zh) * 2016-09-18 2017-02-15 扬州大学 基于蚁群算法的无线传感网络路由方法
CN109214498A (zh) * 2018-07-10 2019-01-15 昆明理工大学 基于搜索集中度和动态信息素更新的蚁群算法优化方法
CN111008685A (zh) * 2019-11-26 2020-04-14 辽宁工程技术大学 基于生产者依概率反向再生机制的改进人工生态系统优化算法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘中强;游晓明;刘升;: "一种启发式动态信息素更新策略的蚁群算法" *
邓小飞;张志刚;: "基于改进蚁群算法的码垛机器人路径规划应用研究" *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183710A (zh) * 2020-10-22 2021-01-05 中国联合网络通信集团有限公司 确定路径的方法及装置
CN112183710B (zh) * 2020-10-22 2023-11-24 中国联合网络通信集团有限公司 确定路径的方法及装置
CN112668542A (zh) * 2021-01-07 2021-04-16 上海艾因思萌信息科技有限公司 基于蚁群算法的幼儿互动学习编辑方法
CN113009821A (zh) * 2021-02-10 2021-06-22 上海海事大学 一种基于信息素初始分配和动态更新的蚁群算法优化方法
CN113253756A (zh) * 2021-05-18 2021-08-13 河北科技大学 基于改进蚁群算法的无人机冲突解脱方法
CN114131932A (zh) * 2021-11-25 2022-03-04 江苏科技大学 基于栅格化3d打印分区路径规划方法
CN114131932B (zh) * 2021-11-25 2024-07-02 江苏科技大学 基于栅格化3d打印分区路径规划方法
CN117668671A (zh) * 2024-02-01 2024-03-08 成都工业学院 一种基于机器学习的教育资源治理方法
CN117668671B (zh) * 2024-02-01 2024-04-30 成都工业学院 一种基于机器学习的教育资源治理方法

Similar Documents

Publication Publication Date Title
CN111695668A (zh) 一种基于反向学习的蚁群算法优化方法
CN111310999B (zh) 一种基于改进蚁群算法的仓库移动机器人路径规划方法
Magzhan et al. A review and evaluations of shortest path algorithms
Brezina Jr et al. Solving the travelling salesman problem using the ant colony optimization
Huang et al. A discrete shuffled frog-leaping algorithm based on heuristic information for traveling salesman problem
CN105426992B (zh) 移动机器人旅行商优化方法
CN105717926A (zh) 基于改进蚁群算法的移动机器人旅行商优化方法
CN106228265B (zh) 基于改进粒子群优化的总拖期运输计划调度方法
Yu et al. A new design of genetic algorithm for solving TSP
CN114611801A (zh) 一种基于改进的鲸鱼优化算法的旅行商问题求解方法
CN104808661A (zh) 一种旅游路径规划方法
Saud et al. Solving travelling salesman problem by using optimization algorithms
CN115271273A (zh) 基于改进鲸鱼优化算法的旅行商问题求解方法及系统
Wickman et al. A Generic Graph Sparsification Framework using Deep Reinforcement Learning
CN113778090A (zh) 基于蚁群优化和prm算法的移动机器人路径规划方法
CN113219991A (zh) 一种基于改进acs算法的移动机器人路径规划方法
Acan An external partial permutations memory for ant colony optimization
Abeysundara et al. A genetic algorithm approach to solve the shortest path problem for road maps
Meng et al. Heterogeneous ant colony optimization based on adaptive interactive learning and non-zero-sum game
CN112000105A (zh) 一种基于交流策略蚁群算法的移动机器人路径规划方法
Gong et al. An improved ant colony optimization algorithm based on fractional order memory for traveling salesman problems
CN113009821B (zh) 一种基于信息素初始分配和动态更新的蚁群算法优化方法
CN115933669A (zh) 基于改进蝴蝶优化算法的移动机器人路径规划方法
Nemani et al. Algorithms and optimization techniques for solving TSP
CN114996278A (zh) 一种基于强化学习的路网最短路径距离计算方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200922