发明名称 一种基于征税机制的蚁群优化方法
摘要 本发明涉及一种基于征税机制的蚁群优化方法。现有的算法容易出现停滞现象。本发明方法首先初始化蚂蚁个数、挥发系数和每条边上的信息素,并随机放置m个蚂蚁到n个城市上,其次让蚂蚁随机选择转移到城市j,将j插入到tabu<sub>k</sub>(s)中,将城市j从allowed<sub>k</sub>中删除,并对第k个蚂蚁经过的路径进行信息素浓度局部更新;然后计算每只蚂蚁的总路线长度,更新找到的最短路径,利用征税算子对路径上的信息素浓度进行调整,得到征税后的信息素浓度<img file="201010180654.9_AB_0.GIF" wi="46" he="32" />;最后满足h大于设定的值或者所有的蚂蚁选择同一条路径,则结束本次算法,同时输出全局优化的最佳路径。本发明方法能有效提高全局搜索能力和搜索速度。
申请公布号 CN101872355A 申请公布日期 2010.10.27
申请号 CN201010180654.9 申请日期 2010.05.21
申请人 杭州电子科技大学 发明人 葛铭;郑松;李春富;郑小青;魏江
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.一种基于征税机制的蚁群优化方法,其特征在于该方法包括如下步骤:步骤1、初始化蚂蚁个数m、挥发系数ρ和每条边上的信息素τ<sub>ij</sub>(0),随机放置m个蚂蚁到n个城市上;步骤2、初始化禁忌表tabu<sub>k</sub>(s),令s=1,tabu<sub>k</sub>表示第k个蚂蚁的禁忌表,tabu<sub>k</sub>(s)表示禁忌表中第s个元素;步骤3、蚂蚁k(k=1,2...m)随机选择转移到城市j,在时刻t蚂蚁k由城市i转移到城市j的概率<img file="FSA00000134777800011.GIF" wi="109" he="67" />为<maths num="0001"><![CDATA[<math><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>&tau;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>]</mo></mrow><mi>&alpha;</mi></msup><mo>&CenterDot;</mo><msup><mrow><mo>[</mo><msub><mi>&eta;</mi><mi>ij</mi></msub><mo>]</mo></mrow><mi>&beta;</mi></msup></mrow><mrow><munder><mi>&Sigma;</mi><mrow><mi>k</mi><mo>&Element;</mo><msub><mi>allowed</mi><mi>k</mi></msub></mrow></munder><msup><mrow><mo>[</mo><msub><mi>&tau;</mi><mi>ik</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>]</mo></mrow><mi>&alpha;</mi></msup><mo>&CenterDot;</mo><msup><mrow><mo>[</mo><msub><mi>&eta;</mi><mi>ik</mi></msub><mo>]</mo></mrow><mi>&beta;</mi></msup></mrow></mfrac></mrow></math>]]></maths>其中τ<sub>ij</sub>(t)表示时刻t时路径(i,j)上信息素浓度,启发因子η<sub>ij</sub>=1/C<sub>ij</sub>,C<sub>ij</sub>为路径(i,j)的距离,α为控制信息素浓度参数,β为路径长度参数,allowed<sub>k</sub>={0,1,...,n-1}表示蚂蚁k下一步允许选择的城市集;然后将j插入到tabu<sub>k</sub>(s)中,将城市j从allowed<sub>k</sub>中删除,并对第k个蚂蚁经过的路径进行信息素浓度局部更新,得到<img file="FSA00000134777800014.GIF" wi="96" he="63" /><maths num="0002"><![CDATA[<math><mrow><msubsup><mi>&tau;</mi><mi>ij</mi><mo>&prime;</mo></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&xi;</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msub><mi>&tau;</mi><mi>ij</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>+</mo><mi>&xi;</mi><mo>&CenterDot;</mo><msub><mi>&tau;</mi><mn>0</mn></msub></mrow></math>]]></maths>式中,<img file="FSA00000134777800016.GIF" wi="254" he="119" />ξ∈[0,1],L<sub>nn</sub>表示最近的相邻城市路径长度,如此重复直到每只蚂蚁都遍历n个城市;步骤4、计算每只蚂蚁的总路线长度,更新找到的最短路径,更新时刻t至t+1,对最优蚂蚁经过的路径进行全局更新,得到t+1时刻的信息素浓度τ<sub>ij</sub>(t+1),所述最优蚂蚁经过的路径为所有蚂蚁经过的最短路径;τ<sub>ij</sub>(t+1)=ρ·τ<sub>ij</sub>(t)+(1-ρ)Δτ<sub>ij</sub><img file="FSA00000134777800017.GIF" wi="787" he="149" />式中,ρ为一个取值范围在0到1之间的常数系数,L<sub>gb</sub>为到目前为止找出的全局最优路径;步骤5、利用征税算子(式4)对路径上的信息素浓度进行调整,得到征税后的信息素浓度<img file="FSA00000134777800018.GIF" wi="123" he="58" /><img file="FSA00000134777800019.GIF" wi="621" he="70" />其中,τ<sub>cen</sub>(t)是时刻t的征税标准信息素浓度,ε表示征税税率,满足0<ε<1;步骤6、将Δτ<sub>ij</sub>置零,重复步骤2至步骤5,记重复的次数为h,如果h大于设定的值或者所有的蚂蚁选择同一条路径,则结束本次算法,同时输出全局优化的最佳路径。
地址 310018 浙江省杭州市下沙高教园区2号大街
您可能感兴趣的专利