专利名称:一种基于征税机制的蚁群优化方法
一种基于征税机制的蚁群优化方法 技术领域
本发明属于信息与控制技术领域,涉及自动化技术,特别是涉及一种改进的蚁群 优化方法。
背景技术:
蚁群优化算法是由意大利学者M. Dorigo, V. Maniezzo, A Colorni等人在20世纪 90年代初首先提出来的,并成功解决旅行商(TSP)等组合优化问题。蚁群算法不仅能够智 能搜索、全局优化,而且具有稳健性(鲁棒性)、正反馈、分布式计算、易与其它算法结合等 特点。因此,蚁群算法的问世为诸多领域解决复杂优化问题提供了有力的工具。但蚁群算 法在构造解的过程中,利用了随机选择策略,这种选择策略使得进化速度较慢,容易出现停 滞现象,即搜索进行到一定程度后,所有个体所发现的解完全一致,不能对解空间进一步进 行搜索,不利于发现更好的解。
发明内容
本发明的目标是针对蚁群算法容易出现停滞现象的难题,根据人类社会中税收的 作用,引入了信息素征税算子,以提高蚁群算法的全局搜索能力和搜索速度。本发明的技术方案是仿效税收在调整社会分配关系和调控经济结构的作用,提出 信息素征税算子,在迭代初期,抑止不同路径上信息素贫富差异过大现象出现,非常明显的 抑止信息素差异急剧膨胀,维持蚂蚁搜索的稳定性,有利于获得全局性的解。本发明方法的具体步骤是步骤1、初始化蚂蚁个数m、挥发系数P和每条边上的信息素τ。.(0),随机放置m 个蚂蚁到η个城市上。步骤2、初始化禁忌表tabuk(s),令s = 1,tabuk表示第k个蚂蚁的禁忌表, tabuk(s)表示禁忌表中第s个元素;步骤3、蚂蚁k (k = 1,2. . . m)随机选择转移到城市j,在时刻t蚂蚁k由城市i转 移到城市j的概率《幻为 其中τ ^.(t)表示时刻t时路径(i,j)上信息素浓度,启发因子Ilij = 1/Cij; Cij 为路径(i,j)的距离。α和β两个参数,分别用来控制信息素浓度和路径长度的相对重 要程度。all0Wedk = {0,1, ... , n_l}表示蚂蚁k下一步允许选择的城市集。然后将j插入到tabuk(s)中,将城市j从allowedk中删除,并对第k个蚂蚁经过 的路径进行信息素浓度局部更新,得到 ⑴r,⑴=(1 -扑、⑴+ 00式2
式中,
Lm表示最近的相邻城市路径长度,如此重复直到每只蚂蚁都遍历n个城市。步骤4、计算每只蚂蚁的总路线长度,更新找到的最短路径,更新时刻t至t+1,对 最优蚂蚁经过的路径进行全局更新,得到t+1时刻的信息素浓度t ij (t+1),所述最优蚂蚁 经过的路径为所有蚂蚁经过的最短路径。
式 3 式中,p为一个取值范围在0到1之间的常数系数,Lgb为到目前为止找出的全局 最优路径。步骤5、利用征税算子(式4)对路径上的信息素浓度进行调整,得到征税后的信息 素浓度, 其中,i。m(t)是时刻t的征税标准信息素浓度,£表示征税税率,满足0< e < 1。步骤6、将A 置零,重复步骤(2)至步骤(5),记重复的次数为h,如果h大于设 定的值或者所有的蚂蚁选择同一条路径,则结束本次算法,同时输出全局优化的最佳路径。本发明的有益效果本发明针对蚁群算法容易出现停滞现象的问题,提出了信息 素浓度征税算子,抑止不同路径上信息素贫富差异过大现象出现,以提高蚁群算法的全局 搜索能力和搜索速度。
具体实施例方式一种基于征税机制的蚁群优化方法,包括如下步骤步骤1、初始化蚂蚁个数m、挥发系数P和每条边上的信息素Tu(0),随机放置m 个蚂蚁到n个城市上。步骤2、初始化禁忌表tabuk(s),令s = 1,tabuk表示第k个蚂蚁的禁忌表, tabuk(s)表示禁忌表中第s个元素;步骤3、蚂蚁k(k = l,2...m)随机选择转移到城市j,在时刻t蚂蚁k由城市i转 移到城市j的概率《幻为 其中t u(t)表示时刻t时路径(i,j)上信息素浓度,启发因子I」=1/Cij,C^. 为路径(i,j)的距离。a和0两个参数,分别用来控制信息素浓度和路径长度的相对重 要程度。all0Wedk = {0,1, ... , n-1}表示蚂蚁k下一步允许选择的城市集。然后将j插入到tabuk (s)中,将城市j从allowedk中删除,并对第k个蚂蚁经过的路径进行信息素浓度局部更新,得到 式中
Lnn表示最近的相邻城市路径长度,如此重复直到每只蚂蚁都遍历η个城市。步骤4、计算每只蚂蚁的总路线长度,更新找到的最短路径,更新时刻t至t+Ι,对 最优蚂蚁经过的路径进行全局更新,得到t+Ι时刻的信息素浓度τ u (t+1),所述最优蚂蚁 经过的路径为所有蚂蚁经过的最短路径。
全局最优路径 、—1 0否则式中,ρ为一个取值范围在0到1之间的常数系数,Lgb为到目前为止找出的全局 最优路径。步骤5、利用征税算子(式4)对路径上的信息素浓度进行调整,得到征税后的信息 素浓度, 其中,τ _(t)是时刻t的征税标准信息素浓度,ε表示征税税率,满足0< ε < 1。步骤6、将Δ τ。_置零,重复步骤(2)至步骤(5),记重复的次数为h,如果h大于设 定的值或者所有的蚂蚁选择同一条路径,则结束本次算法,同时输出全局优化的最佳路径。
权利要求
一种基于征税机制的蚁群优化方法,其特征在于该方法包括如下步骤步骤1、初始化蚂蚁个数m、挥发系数ρ和每条边上的信息素τij(0),随机放置m个蚂蚁到n个城市上;步骤2、初始化禁忌表tabuk(s),令s=1,tabuk表示第k个蚂蚁的禁忌表,tabuk(s)表示禁忌表中第s个元素;步骤3、蚂蚁k(k=1,2...m)随机选择转移到城市j,在时刻t蚂蚁k由城市i转移到城市j的概率为 <mrow><msubsup> <mi>P</mi> <mi>ij</mi> <mi>k</mi></msubsup><mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo></mrow><mo>=</mo><mfrac> <mrow><msup> <mrow><mo>[</mo><msub> <mi>τ</mi> <mi>ij</mi></msub><mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo></mrow><mo>]</mo> </mrow> <mi>α</mi></msup><mo>·</mo><msup> <mrow><mo>[</mo><msub> <mi>η</mi> <mi>ij</mi></msub><mo>]</mo> </mrow> <mi>β</mi></msup> </mrow> <mrow><munder> <mi>Σ</mi> <mrow><mi>k</mi><mo>∈</mo><msub> <mi>allowed</mi> <mi>k</mi></msub> </mrow></munder><msup> <mrow><mo>[</mo><msub> <mi>τ</mi> <mi>ik</mi></msub><mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo></mrow><mo>]</mo> </mrow> <mi>α</mi></msup><mo>·</mo><msup> <mrow><mo>[</mo><msub> <mi>η</mi> <mi>ik</mi></msub><mo>]</mo> </mrow> <mi>β</mi></msup> </mrow></mfrac> </mrow>其中τij(t)表示时刻t时路径(i,j)上信息素浓度,启发因子ηij=1/Cij,Cij为路径(i,j)的距离,α为控制信息素浓度参数,β为路径长度参数,allowedk={0,1,...,n-1}表示蚂蚁k下一步允许选择的城市集;然后将j插入到tabuk(s)中,将城市j从allowedk中删除,并对第k个蚂蚁经过的路径进行信息素浓度局部更新,得到 <mrow><msubsup> <mi>τ</mi> <mi>ij</mi> <mo>′</mo></msubsup><mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo></mrow><mo>=</mo><mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>ξ</mi> <mo>)</mo></mrow><mo>·</mo><msub> <mi>τ</mi> <mi>ij</mi></msub><mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo></mrow><mo>+</mo><mi>ξ</mi><mo>·</mo><msub> <mi>τ</mi> <mn>0</mn></msub> </mrow>式中,ξ∈
,Lnn表示最近的相邻城市路径长度,如此重复直到每只蚂蚁都遍历n个城市;步骤4、计算每只蚂蚁的总路线长度,更新找到的最短路径,更新时刻t至t+1,对最优蚂蚁经过的路径进行全局更新,得到t+1时刻的信息素浓度τij(t+1),所述最优蚂蚁经过的路径为所有蚂蚁经过的最短路径;τij(t+1)=ρ·τij(t)+(1-ρ)Δτij式中,ρ为一个取值范围在0到1之间的常数系数,Lgb为到目前为止找出的全局最优路径;步骤5、利用征税算子(式4)对路径上的信息素浓度进行调整,得到征税后的信息素浓度其中,τcen(t)是时刻t的征税标准信息素浓度,ε表示征税税率,满足0<ε<1;步骤6、将Δτij置零,重复步骤2至步骤5,记重复的次数为h,如果h大于设定的值或者所有的蚂蚁选择同一条路径,则结束本次算法,同时输出全局优化的最佳路径。FSA00000134777800011.tif,FSA00000134777800014.tif,FSA00000134777800016.tif,FSA00000134777800017.tif,FSA00000134777800018.tif,FSA00000134777800019.tif
全文摘要
本发明涉及一种基于征税机制的蚁群优化方法。现有的算法容易出现停滞现象。本发明方法首先初始化蚂蚁个数、挥发系数和每条边上的信息素,并随机放置m个蚂蚁到n个城市上,其次让蚂蚁随机选择转移到城市j,将j插入到tabuk(s)中,将城市j从allowedk中删除,并对第k个蚂蚁经过的路径进行信息素浓度局部更新;然后计算每只蚂蚁的总路线长度,更新找到的最短路径,利用征税算子对路径上的信息素浓度进行调整,得到征税后的信息素浓度;最后满足h大于设定的值或者所有的蚂蚁选择同一条路径,则结束本次算法,同时输出全局优化的最佳路径。本发明方法能有效提高全局搜索能力和搜索速度。
文档编号G06F17/30GK101872355SQ20101018065
公开日2010年10月27日 申请日期2010年5月21日 优先权日2010年5月21日
发明者李春富, 葛铭, 郑小青, 郑松, 魏江 申请人:杭州电子科技大学