一种基于信息素初始分配和动态更新的蚁群算法优化方法技术

技术编号:28976706 阅读:24 留言:0更新日期:2021-06-23 09:21
本发明专利技术提供一种基于信息素初始分配和动态更新的蚁群算法优化方法,包括:101:为最大迭代次数和进行信息素回滚的限定值赋予初值;S102:根据贪心策略搜索出次优路径;S103:从起始节点开始搜索;S104:根据选择概率公式,依次选择各个节点,分别为每只蚂蚁求得一条完整路径;S105:计算并比较各个蚂蚁所走路径的长度,找出当前最优路径;S106:对当前最优路径进行变异操作;S107:比较当前最优路径和变异路径的长度;S108:若最优路径结果不变的连续迭代次数超过预设限定值;S109:若当前迭代次数未达到预设最大迭代次数,则迭代次数加1,并跳转到S103,否则,输出最优路径。

【技术实现步骤摘要】
一种基于信息素初始分配和动态更新的蚁群算法优化方法
本专利技术涉及蚁群算法改进
,特别是涉及一种基于信息素初始分配和动态更新的蚁群算法优化方法。
技术介绍
人工智能指借助信息技术,使机器能够对人类的思维以及行为进行模仿,实施此方面的开发研究旨在使人类的智慧融入到学术研究中,由此将人类的智慧借助机械得以拓展,并服务于人类。人工智能的实质为具备类似人的机器。人工智能算法是通过对自然界中的某些行为及规律加以分析,并对其展开模拟,最终得出对多种类型问题的解算。人们从生物进化及仿生学中受到启发,提出许多启发式的智能优化方法,比如遗传算法、蚁群算法、模拟退火、粒子群算法等。其中,蚁群算法是产生在上个世纪,其是对蚁群寻找食物的过程进行模仿,通常单只蚂蚁无法快速并准确搜索到食物,但若是蚁群集体出动,互相帮助,便可以得出既定食物最近的路线,因而该智能算法一般应用在求取路线的问题。其原理可被表述成:随意选择一定数量的蚂蚁,之后每只蚂蚁借助自身对所处环境的感知和信息素对食物的位置加以判断,与此同时将自身携带的信息素释放,并且信息素浓度会不断下降,其他蚂蚁则对获取的信息素浓度情况判断是否按照前者的路线行进。由此,搜寻食物的蚁群规模不断过大,环境中的信息素浓度便会随之提升,后续的蚂蚁跟随浓度相对更大的方向前进,通过此种方式,最终获得最佳路线。蚁群算法是一种应用于组合优化问题的启发式搜索算法,其具有鲁棒性强、全局搜索、并行分布式计算、易于其他算法结合等优点。在求解TSP问题、车辆调度问题、车辆路径问题、分配问题、网络路由问题、蛋白质折叠问题、数据挖掘以及图像识别等方面都取得了较好的效果。然而,蚁群算法的局限性也限制了它的发展,蚁群算法作为一种正反馈算法,在搜索前期,由于信息素积累缺乏,蚂蚁盲目搜索,导致算法搜索时间较长,收敛速度缓慢。于此同时,随着某些路径信息素的不断积累,蚂蚁都会前往这些路径,从而容易使算法进行停滞,陷入局部最优。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于信息素初始分配和动态更新的蚁群算法优化方法,。在初始化阶段,引入贪心策略搜索出次优路径,并增加次优路径上的信息素浓度,让蚂蚁在前期更快地向最优路径靠拢,加快了算法的收敛速度;在信息素更新阶段,引入遗传变异操作,在蚁群搜索完毕后,对当前最优路径进行变异操作,试图发现更优路径,利用更优路径动态调节信息素增量,同时利用回滚次数动态调节挥发因子,大大提高了搜索和跳出局部最优的能力,使蚁群更快地搜索出最优路径。为实现上述目的及其他相关目的,本专利技术提供一种基于信息素初始分配和动态更新的蚁群算法优化方法,所述方法包括:S101:根据TSP问题定义数组,为最大迭代次数和进行信息素回滚的限定值赋予初值,并初始化其他参数;S102:根据贪心策略搜索出次优路径,并对该路径上的信息素进行初始分配;S103:为每只蚂蚁随机选择一个起始节点,并从起始节点开始搜索;S104:根据选择概率公式,依次选择各个节点,分别为每只蚂蚁求得一条完整路径;S105:计算并比较各个蚂蚁所走路径的长度,找出当前最优路径;S106:对当前最优路径进行变异操作,并计算变异路径的长度;S107:比较当前最优路径和变异路径的长度,依据两者中的更优路径长度按信息素更新公式对全局路径进行更新;S108:若最优路径结果不变的连续迭代次数超过预设限定值,则进行信息素回滚并修改挥发因子的值;S109:若当前迭代次数未达到预设最大迭代次数,则迭代次数加1,清空搜索禁忌表,并跳转到S103,否则,输出最优路径。一种实现方式中,所述对该路径上的信息素进行初始分配,包括:S201:通过贪心策略搜索一条次优路径L;S202:根据式(1)修改路径L上的信息素;其中,τij表示节点i和j之间的信息素浓度;τ0表示所有路径分配相同的信息素初始化值;add表示在分配相同的信息素初始化值后,额外增加的信息素值。一种实现方式中,所述选择概率公式的具体表达为:其中,蚂蚁k,k=1,2,···,m,表示蚂蚁k在t时刻从节点i移动到节点j的概率,allowedk表示蚂蚁k未经过的城市集合;τij(t)表示t时刻节点i和j之间的信息素浓度;α为信息素启发因子,表示信息素的相对重要程度;ηij(t)为启发函数,表示可见度,其值等于节点i和j之间距离的倒数;β表示期望值的相对重要程度;dij表示节点i和j的距离。一种实现方式中,所述对当前最优路径进行变异操作的步骤,包括:S601:获取当前迭代的最优路径;S602:从最优路径中随机选取两个不同的节点,对两个节点之间的所有节点进行交换。一种实现方式中,所述比较当前最优路径和变异路径的长度,依据两者中的更优路径长度按信息素更新公式对全局路径进行更新的步骤,包括:在所有蚂蚁对全部城市进行一次游历后,对路径上遗留的信息素进行更新,每条路径上的信息素进行更新,所采用的具体公式表达为:τij(t+n)=(1-ρ)·τij(t)+ρ·Δτij(t)其中,τij(t+n)表示t+n时刻节点i和j之间的信息素浓度;ρ为挥发因子,表示信息素的发挥程度;τij(t)表示t时刻节点i和j之间的信息素浓度;Δτij(t)为信息素增量,具体表达为:其中,表示t时刻蚂蚁k在节点i和j之间留下的信息素浓度,其具体表达为:其中,Q为常量,信息素强度;b为一个可变参数,用来调节初始信息素增量的大小;N为迭代次数;Dk表示当前迭代中蚂蚁k所走路径的长度;Dbest表示最优路径长度,执行变异操作后,如果变异路径长度小于当前迭代最优路径长度,Dbest为变异路径长度,否则Dbest为当前迭代最优路径长度。。一种实现方式中,所述进行信息素回滚并修改挥发因子的值的步骤,包括:S801:设置一个最大值R,如果连续R次迭代得到的最优结果没有发生变化,则将当前路径上的信息素值修改为R次迭代前的信息素值;S802:在每次信息素回滚后,都对挥发因子进行一次修改,修改公式为:ρ0为发挥因子的初值;ρadd为每次回滚发挥因子的增加量;c为信息素回滚的次数;ρmax为信息素阈值。如上所述,本专利技术实施例提供的一种基于信息素初始分配和动态更新的蚁群算法优化方法,。在初始化阶段,引入贪心策略搜索出次优路径,并增加次优路径上的信息素浓度,让蚂蚁在前期更快地向最优路径靠拢,加快了算法的收敛速度;在信息素更新阶段,引入遗传变异操作,在蚁群搜索完毕后,对当前最优路径进行变异操作,试图发现更优路径,利用更优路径动态调节信息素增量,同时利用回滚次数动态调节挥发因子,大大提高了搜索和跳出局部最优的能力,使蚁群更快地搜索出最优路径。附图说明图1为本专利技术基于信息素初始分配和动态更新的蚁群算法优化方法的总体流程图;图2为本专利技术应用实例中所用TSP本文档来自技高网
...

【技术保护点】
1.一种基于信息素初始分配和动态更新的蚁群算法优化方法,其特征在于,所述方法包括:/nS101:根据TSP问题定义数组,为最大迭代次数和进行信息素回滚的限定值赋予初值,并初始化其他参数;/nS102:根据贪心策略搜索出次优路径,并对该路径上的信息素进行初始分配;/nS103:为每只蚂蚁随机选择一个起始节点,并从起始节点开始搜索;/nS104:根据选择概率公式,依次选择各个节点,分别为每只蚂蚁求得一条完整路径;/nS105:计算并比较各个蚂蚁所走路径的长度,找出当前最优路径;/nS106:对当前最优路径进行变异操作,并计算变异路径的长度;/nS107:比较当前最优路径和变异路径的长度,依据两者中的更优路径长度按信息素更新公式对全局路径进行更新;/nS108:若最优路径结果不变的连续迭代次数超过预设限定值,则进行信息素回滚并修改挥发因子的值;/nS109:若当前迭代次数未达到预设最大迭代次数,则迭代次数加1,清空搜索禁忌表,并跳转到S103,否则,输出最优路径。/n

【技术特征摘要】
1.一种基于信息素初始分配和动态更新的蚁群算法优化方法,其特征在于,所述方法包括:
S101:根据TSP问题定义数组,为最大迭代次数和进行信息素回滚的限定值赋予初值,并初始化其他参数;
S102:根据贪心策略搜索出次优路径,并对该路径上的信息素进行初始分配;
S103:为每只蚂蚁随机选择一个起始节点,并从起始节点开始搜索;
S104:根据选择概率公式,依次选择各个节点,分别为每只蚂蚁求得一条完整路径;
S105:计算并比较各个蚂蚁所走路径的长度,找出当前最优路径;
S106:对当前最优路径进行变异操作,并计算变异路径的长度;
S107:比较当前最优路径和变异路径的长度,依据两者中的更优路径长度按信息素更新公式对全局路径进行更新;
S108:若最优路径结果不变的连续迭代次数超过预设限定值,则进行信息素回滚并修改挥发因子的值;
S109:若当前迭代次数未达到预设最大迭代次数,则迭代次数加1,清空搜索禁忌表,并跳转到S103,否则,输出最优路径。


2.根据权利要求1所述的基于信息素初始分配和动态更新的蚁群算法优化方法,其特征在于,所述对该路径上的信息素进行初始分配,包括:
S201:通过贪心策略搜索一条次优路径L;
S202:根据式(1)修改路径L上的信息素;



其中,τij表示节点i和j之间的信息素浓度;τ0表示所有路径分配相同的信息素初始化值;add表示在分配相同的信息素初始化值后,额外增加的信息素值。


3.根据权利要求1或2所述的基于信息素初始分配和动态更新的蚁群算法优化方法,其特征在于,所述选择概率公式的具体表达为:






其中,蚂蚁k,k=1,2,…,m,表示蚂蚁k在t时刻从节点i移动到节点j的概率,allowedk表示蚂蚁k未经过的城市集合;τij(t)表示t时刻节点i和j之间的信息素浓度;α为信息素启发因子,表示信息素的相对重要程度;ηij(t)为启发函数,表示可见度,其值等于节点i和j之间距离的倒数;β表示期望值的相对重要...

【专利技术属性】
技术研发人员:陈颖杰高茂庭
申请(专利权)人:上海海事大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1