基于蚁群算法的聚类优化
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1. 山东师范大学管理与经济学院,济南 250014;2. 德州学院,德州 253023)
摘 要:为解决大型网络中的最短路径问题,基于蚁群算法进行聚类优化研究。结合蚁群算法和聚类算法,将网络分割成若干个小网络后 进行处理并合成,同时在过程中直接简化网络,透明化无意义的点。实验结果表明,优化后的算法能准确获得所要求的最优解,具有较快 的收敛速度。 关键词:蚁群算法;路径优化;路网简化;聚类优化
上时,判断树与环状网是否直接相连,若是,先求出树型网 络上的点到连接点的最短距离,再求出连接点到另外一点的 最短距离,计算两者之和;
4)当所求的两点分别在两树型网络上时,先求出两点分 别到各自的树状网络连接点的最短距离,把整个环状网络节 点化。
5)当所求的两点分别在 2 个环状网络上时,参照 4)。
第 36 卷 第 9 期 Vol.36 No.9
计算机工程 Computer Engineering
·人工智能及识别技术·
文章编号:1000—3428(2010)09—0190—02 文献标识码:A
基于蚁群算法的聚类优化
2010 年 5 月 May 2010
中图分类号:TP18
张 丽 1,刘希玉 1,李章泉 2
参数 α 的大小反映了蚁群在路径搜索中随机性因素作用的
强度,其值越大,蚂蚁在以后的循环中选择之前循环走过的
路径的可能性越大,搜索的随机性减弱,并且 α 值过大还会
导致蚁群的搜索过早陷于局部最优解;参数 β 的大小反映了
蚁群在路径搜索中先验性、确定性因素作用的强度,其值越
大,蚂蚁在某个局部点上选择局部最短路径的可能性越大,
降低交易成本,设蚁群中蚂蚁的数量为 n,dij(i,j=1,2,…,n)表示城市
与城市之间的距离。
聚类之后,就会形成数目不等的城市聚类,从而大幅度 降低城市规模;在进行最短路计算的时候,能够节省大量计 算资源,减少无谓的漫游;当以值较大时,资源的节省是相 当可观的。
3.5 算法实现 算法实现的具体步骤如下:
【Abstract】In order to solute the shortest path problem in the large networks, a clustering algorithm based on ant colony optimization is analysed. According to ant colony algorithm and clustering algorithm combining the idea, using the large-scale network is separated into several small networks to deal with later after the synthesis as well as directly in the process to simplify network approach. Transparency of the optimization algorithm meaningless points, thus simplify the calculation, improve computational efficiency. Experimental results show that the optimization algorithm can accurately obtain the required optimal solution, and has a faster convergence speed. 【Key words】ant colony algorithm; path optimization; road network simplification; clustering optimization
蚁群算法中, α,β,ρ 等参数对算法性能有很大的影响。
基金项目:国家自然科学基金资助项目(60873058);山东省自然科学 基金资助项目(Z2007G03) 作者简介:张 丽(1984-),女,硕士研究生,主研方向:数据挖掘, 人工智能;刘希玉,教授、博士、博士生导师;李章泉,研究员 收稿日期:2009-10-05 E-mail:zhang_li1008@163.com
这样就存在着某些蚂蚁率先停止工作,而某些蚂蚁一直工作
到最后。
3.4 聚类策略 聚类策略如下:
For i from 1 to n(n 为聚类中 L 中的城市个数)
对 n 个城市分别求出
Si ,Si
=
n
∑ dij (i
=
1, 2," , n )
;
j=1
对 Si 按照从大到小的顺序排列,Si 中第一个元素即为城市网中 离其他城市距离最近的那个城市,作为新的聚类中心。为了组织能
时,会使那些从来未被搜索到的路径(可行解)上的信息激素
减小到接近 0,因此降低了算法的全局搜索能力。
3.3 聚类中蚂蚁的搜索思想
蚂蚁从聚类中心 p 出发,在整个解空间中搜索到下一个
节点 A , A ∈ Cp (其中 Cp 为 p 的邻接点),把节点 A 放入该聚
Fra Baidu bibliotek
类 L,返回到聚类中心;现在蚂蚁从聚类中心能够到达的点
2 蚁群算法
本节以求解平面上一个 n 阶旅行商问题(TSP)为例,来说 明基本蚁群算法的原理。TSP 问题就是给定一组城市,求得 一条遍历所有城市的最短路的问题[2]。该问题空间可以用一 个简单图来描述,并且可以用距离矩阵 D={ dij }来描述问题
空间本身的特征。在 TSP 问题中,城市数目称为该问题的阶 数[3]。蚁群算法描述如下:
(2)迭代过程: While not 结束条件 do For i=1 to n-1 do (遍历所有城市) For k=1 to M do (对 M 只蚂蚁循环)
—190—
For j=1 to n do (对 n 个城市循环) 蚂蚁 k 选择下一个城市 j,将蚂蚁 k 移动到城市 j,
把城市 j 置入禁忌列表 tabuk End
的所有可达点都已经搜索到时,从该聚类中心的搜索结束。
搜索过程中必须注意几点:样本点的选择按照转移概率 公式[5]
⎧Q
∆τ
k ij
(t
)
=
⎪ ⎨
Lk
⎪⎩0
若蚂蚁k在本次循环中经过边(i, j) 否则
得到。搜索开始后,蚂蚁从各个聚类中心同时出动搜索,直
到网内所有的节点被分配到各个聚类里面,本次聚类才结束,
0.7
适应度值
0.6
0.5
0.4 蚁群聚类优化算法
0.3 蚁群算法
0.2
0.1
0.0 0 50 100 150 200 250 300 350 400 450 500 迭代次数
图 1 Griewank 函数 10 次平均适应度进化曲线
从表 1 的仿真结果和图 1 可以看出:对于 Griewank 函数, 蚁群聚类优化算法的寻优效果明显好于标准蚁群算法。蚁群 算法在函数的优化过程中都不同程度地发生了早熟收敛,而 蚁群聚类优化算法提高了算法跳出局部收敛的能力,能够有 效地避免早熟收敛。蚁群聚类优化算法运算量较蚁群算法略 微有所增加,但具有较快的收敛速度,且易于实现。
素 τi = ∑ xijτij ,并对 τi 进行排序,选取最大的前 C 个节点作
为初始聚类中心,聚类算法如下: 1)初始化 ni , C, µ1,µ2,",µc ; 2)do 利用聚类分析中蚂蚁的搜索方法对城市子网 Pi 按 C 个聚类
中心 µ1 进行聚类; 3)until µi 不再改变; 4)返回 µ1 ; (3)把 C 个聚类放入到子网集 G 中,并在 G 中删除 Pi ,
(1)利用蚁群算法对城市进行子网分割,生成的子网集为
Q, Q=P+T,其中,P 为网状子网集,T 为树状子网集,并把
各个子网间距离记录进集合 M 中。
(2)当网状子网 Pi 中城市节点个数 ni 大于 P0 时( P0 为设
定的阈值),对 Pi 进行子网分割,即对城市子网 Pi 进行聚类分
析。令 C 表示聚类的数量,对城市网络的各个节点计算信息
4 实验分析
为了验证蚁群算法聚类优化的寻优效果,本文通过 3 个经 典的测试函数 Griewank 函数、Sphere 函数、Rastrgin 函数对蚁 群算法及蚁群聚类优化算法进行测试[6]。实验参数设置如下: 所有函数的维数 D 均取 20,群体规模为 40,收敛精度 ε = 10−10 , 每个函数独立运行 10 次,求平均最优值。如表 1 所示。
1 概述
当今社会己进入高速发展时代,随着人类生存空间不断 扩大,认识世界和改造世界的范围不断拓宽,各领域内遇到 的超大规模、非线性、随机性的复杂问题不断涌现,对各种 智能优化算法提出了新的和更高的要求。这就产生了一个问 题:当网络为小型网络且不太复杂的时候,很多方法都能够 很快的解决最短路径问题,但是当网络复杂的时候,这些算 法所花费的时间往往呈指数增长,当出现大型网络时应怎样 处理。高效的智能优化算法成为需要迫切解决的关键问题[1]。 在众多的智能优化算法中,蚁群算法是一种较新的算法,它 是对社会性昆虫蚂蚁组成群体以后具有的智能的一种模拟, 擅长于组合优化问题求解。以蚁群算法为例进行聚类优化分 析,将使算法能更好的搜索到潜在的最优解。
(1)初始化:设置路径(i, j)上的初始信息量 τij = C ( C 为常量), ∆τikj (0) = 0 ,将 M 只蚂蚁随机放置在 n 个城市,同时为每只蚂蚁建 立禁忌列表 tabuk ,将初始节点置入禁忌列表,为参数 α,β,ρ, q0, q, Q 设定初始值,设定算法迭代次数初值 nc = 0 ;
End End 计算所有蚂蚁求得的回路距离,更新路径(i, j)上的信息素; nc = nc +1 End while (3)输出结果,结束计算。
3 蚁群算法的聚类优化
3.1 优化思想 本文利用蚁群算法和聚类算法相结合的思想,提出路网
简化的解决方案。这个思想可以分成 2 个方面:(1)直接把大 型网络分割成若干个小网络,然后根据并行的思想对每个小 网络进行处理,最后在根据要求对各小网络的处理结果进行 合成,来得到所要求的最优解;(2)使网络简化思想在大型网 络直接求解的过程中实现。不是对于每个步骤,每个节点都 是有意义的,也就是说在求解的某一个步骤中,某些节点的 存在是没有意义的,此时可对这些无意义的点进行处理,使 其透明化,从而简化计算,提高计算效率。 3.2 蚁群算法的参数选择
Clustering Optimization Based on Ant Colony Algorithm
ZHANG Li1, LIU Xi-yu1, LI Zhang-quan2
(1. School of Management and Economics, Shandong Normal University, Jinan 250014; 2. Dezhou College, Dezhou 253023)
表 1 2 种算法 10 次寻优的平均最优值
测试函数 Griewank
Sphere Rastrgin
理论最优值 0 0 0
蚁群算法 0.052 594 8 0.041 644 6 3.033 268 5
蚁群聚类优化算法 0.000 000 00 1.416531e-013 0.001 567 8
Griewank 函数 10 次平均适应度进化曲线如图 1 所示。
除了与聚类中心 p 邻接的点外,还有从 p 经由 A 能够到达的
点,即此时从聚类中心的可达点集为 Cp − A + CA − Q ,Q 为 A
的邻接点中已经收入进其他聚类的节点,当节点 B ∈CA −Q
时, dp,B 为从 p 经由 L 中的节点到达 B 的最短距离;再从聚
类中心出发,搜索另一个样本点,……,当该聚类中心出发
虽然搜索的收敛速度得以加快,但蚁群在最优路径的搜索过 程中随机性减弱,易于陷入局部最优[4]。
信息激素残留系数 ρ 的大小直接关系到蚁群算法的全
局搜索能力及其收敛速度。本文采用的信息激素更新方式是
在一个循环结束(即蚂蚁构造得到一个解)之后进行更新。由
于信息激素残留系数 ρ 的存在,当要处理的问题规模比较大
把子网间距离记录进 M 中。 (4)当要求城市网络中两点之间的最短路径时,可根据两
点所在位置的不同来进行分类求解两点距离,具体情况如下: 1)当 2 个城市在同一个树型子网中时,就用树型结构中
两点最短路径方法来求解它们之间的最短距离; 2)当 2 个城市在同一个环状子网中时,可以用蚁群算法
来计算; 3)当 2 个城市一个在树型网络上,另外一个在环形网络
摘 要:为解决大型网络中的最短路径问题,基于蚁群算法进行聚类优化研究。结合蚁群算法和聚类算法,将网络分割成若干个小网络后 进行处理并合成,同时在过程中直接简化网络,透明化无意义的点。实验结果表明,优化后的算法能准确获得所要求的最优解,具有较快 的收敛速度。 关键词:蚁群算法;路径优化;路网简化;聚类优化
上时,判断树与环状网是否直接相连,若是,先求出树型网 络上的点到连接点的最短距离,再求出连接点到另外一点的 最短距离,计算两者之和;
4)当所求的两点分别在两树型网络上时,先求出两点分 别到各自的树状网络连接点的最短距离,把整个环状网络节 点化。
5)当所求的两点分别在 2 个环状网络上时,参照 4)。
第 36 卷 第 9 期 Vol.36 No.9
计算机工程 Computer Engineering
·人工智能及识别技术·
文章编号:1000—3428(2010)09—0190—02 文献标识码:A
基于蚁群算法的聚类优化
2010 年 5 月 May 2010
中图分类号:TP18
张 丽 1,刘希玉 1,李章泉 2
参数 α 的大小反映了蚁群在路径搜索中随机性因素作用的
强度,其值越大,蚂蚁在以后的循环中选择之前循环走过的
路径的可能性越大,搜索的随机性减弱,并且 α 值过大还会
导致蚁群的搜索过早陷于局部最优解;参数 β 的大小反映了
蚁群在路径搜索中先验性、确定性因素作用的强度,其值越
大,蚂蚁在某个局部点上选择局部最短路径的可能性越大,
降低交易成本,设蚁群中蚂蚁的数量为 n,dij(i,j=1,2,…,n)表示城市
与城市之间的距离。
聚类之后,就会形成数目不等的城市聚类,从而大幅度 降低城市规模;在进行最短路计算的时候,能够节省大量计 算资源,减少无谓的漫游;当以值较大时,资源的节省是相 当可观的。
3.5 算法实现 算法实现的具体步骤如下:
【Abstract】In order to solute the shortest path problem in the large networks, a clustering algorithm based on ant colony optimization is analysed. According to ant colony algorithm and clustering algorithm combining the idea, using the large-scale network is separated into several small networks to deal with later after the synthesis as well as directly in the process to simplify network approach. Transparency of the optimization algorithm meaningless points, thus simplify the calculation, improve computational efficiency. Experimental results show that the optimization algorithm can accurately obtain the required optimal solution, and has a faster convergence speed. 【Key words】ant colony algorithm; path optimization; road network simplification; clustering optimization
蚁群算法中, α,β,ρ 等参数对算法性能有很大的影响。
基金项目:国家自然科学基金资助项目(60873058);山东省自然科学 基金资助项目(Z2007G03) 作者简介:张 丽(1984-),女,硕士研究生,主研方向:数据挖掘, 人工智能;刘希玉,教授、博士、博士生导师;李章泉,研究员 收稿日期:2009-10-05 E-mail:zhang_li1008@163.com
这样就存在着某些蚂蚁率先停止工作,而某些蚂蚁一直工作
到最后。
3.4 聚类策略 聚类策略如下:
For i from 1 to n(n 为聚类中 L 中的城市个数)
对 n 个城市分别求出
Si ,Si
=
n
∑ dij (i
=
1, 2," , n )
;
j=1
对 Si 按照从大到小的顺序排列,Si 中第一个元素即为城市网中 离其他城市距离最近的那个城市,作为新的聚类中心。为了组织能
时,会使那些从来未被搜索到的路径(可行解)上的信息激素
减小到接近 0,因此降低了算法的全局搜索能力。
3.3 聚类中蚂蚁的搜索思想
蚂蚁从聚类中心 p 出发,在整个解空间中搜索到下一个
节点 A , A ∈ Cp (其中 Cp 为 p 的邻接点),把节点 A 放入该聚
Fra Baidu bibliotek
类 L,返回到聚类中心;现在蚂蚁从聚类中心能够到达的点
2 蚁群算法
本节以求解平面上一个 n 阶旅行商问题(TSP)为例,来说 明基本蚁群算法的原理。TSP 问题就是给定一组城市,求得 一条遍历所有城市的最短路的问题[2]。该问题空间可以用一 个简单图来描述,并且可以用距离矩阵 D={ dij }来描述问题
空间本身的特征。在 TSP 问题中,城市数目称为该问题的阶 数[3]。蚁群算法描述如下:
(2)迭代过程: While not 结束条件 do For i=1 to n-1 do (遍历所有城市) For k=1 to M do (对 M 只蚂蚁循环)
—190—
For j=1 to n do (对 n 个城市循环) 蚂蚁 k 选择下一个城市 j,将蚂蚁 k 移动到城市 j,
把城市 j 置入禁忌列表 tabuk End
的所有可达点都已经搜索到时,从该聚类中心的搜索结束。
搜索过程中必须注意几点:样本点的选择按照转移概率 公式[5]
⎧Q
∆τ
k ij
(t
)
=
⎪ ⎨
Lk
⎪⎩0
若蚂蚁k在本次循环中经过边(i, j) 否则
得到。搜索开始后,蚂蚁从各个聚类中心同时出动搜索,直
到网内所有的节点被分配到各个聚类里面,本次聚类才结束,
0.7
适应度值
0.6
0.5
0.4 蚁群聚类优化算法
0.3 蚁群算法
0.2
0.1
0.0 0 50 100 150 200 250 300 350 400 450 500 迭代次数
图 1 Griewank 函数 10 次平均适应度进化曲线
从表 1 的仿真结果和图 1 可以看出:对于 Griewank 函数, 蚁群聚类优化算法的寻优效果明显好于标准蚁群算法。蚁群 算法在函数的优化过程中都不同程度地发生了早熟收敛,而 蚁群聚类优化算法提高了算法跳出局部收敛的能力,能够有 效地避免早熟收敛。蚁群聚类优化算法运算量较蚁群算法略 微有所增加,但具有较快的收敛速度,且易于实现。
素 τi = ∑ xijτij ,并对 τi 进行排序,选取最大的前 C 个节点作
为初始聚类中心,聚类算法如下: 1)初始化 ni , C, µ1,µ2,",µc ; 2)do 利用聚类分析中蚂蚁的搜索方法对城市子网 Pi 按 C 个聚类
中心 µ1 进行聚类; 3)until µi 不再改变; 4)返回 µ1 ; (3)把 C 个聚类放入到子网集 G 中,并在 G 中删除 Pi ,
(1)利用蚁群算法对城市进行子网分割,生成的子网集为
Q, Q=P+T,其中,P 为网状子网集,T 为树状子网集,并把
各个子网间距离记录进集合 M 中。
(2)当网状子网 Pi 中城市节点个数 ni 大于 P0 时( P0 为设
定的阈值),对 Pi 进行子网分割,即对城市子网 Pi 进行聚类分
析。令 C 表示聚类的数量,对城市网络的各个节点计算信息
4 实验分析
为了验证蚁群算法聚类优化的寻优效果,本文通过 3 个经 典的测试函数 Griewank 函数、Sphere 函数、Rastrgin 函数对蚁 群算法及蚁群聚类优化算法进行测试[6]。实验参数设置如下: 所有函数的维数 D 均取 20,群体规模为 40,收敛精度 ε = 10−10 , 每个函数独立运行 10 次,求平均最优值。如表 1 所示。
1 概述
当今社会己进入高速发展时代,随着人类生存空间不断 扩大,认识世界和改造世界的范围不断拓宽,各领域内遇到 的超大规模、非线性、随机性的复杂问题不断涌现,对各种 智能优化算法提出了新的和更高的要求。这就产生了一个问 题:当网络为小型网络且不太复杂的时候,很多方法都能够 很快的解决最短路径问题,但是当网络复杂的时候,这些算 法所花费的时间往往呈指数增长,当出现大型网络时应怎样 处理。高效的智能优化算法成为需要迫切解决的关键问题[1]。 在众多的智能优化算法中,蚁群算法是一种较新的算法,它 是对社会性昆虫蚂蚁组成群体以后具有的智能的一种模拟, 擅长于组合优化问题求解。以蚁群算法为例进行聚类优化分 析,将使算法能更好的搜索到潜在的最优解。
(1)初始化:设置路径(i, j)上的初始信息量 τij = C ( C 为常量), ∆τikj (0) = 0 ,将 M 只蚂蚁随机放置在 n 个城市,同时为每只蚂蚁建 立禁忌列表 tabuk ,将初始节点置入禁忌列表,为参数 α,β,ρ, q0, q, Q 设定初始值,设定算法迭代次数初值 nc = 0 ;
End End 计算所有蚂蚁求得的回路距离,更新路径(i, j)上的信息素; nc = nc +1 End while (3)输出结果,结束计算。
3 蚁群算法的聚类优化
3.1 优化思想 本文利用蚁群算法和聚类算法相结合的思想,提出路网
简化的解决方案。这个思想可以分成 2 个方面:(1)直接把大 型网络分割成若干个小网络,然后根据并行的思想对每个小 网络进行处理,最后在根据要求对各小网络的处理结果进行 合成,来得到所要求的最优解;(2)使网络简化思想在大型网 络直接求解的过程中实现。不是对于每个步骤,每个节点都 是有意义的,也就是说在求解的某一个步骤中,某些节点的 存在是没有意义的,此时可对这些无意义的点进行处理,使 其透明化,从而简化计算,提高计算效率。 3.2 蚁群算法的参数选择
Clustering Optimization Based on Ant Colony Algorithm
ZHANG Li1, LIU Xi-yu1, LI Zhang-quan2
(1. School of Management and Economics, Shandong Normal University, Jinan 250014; 2. Dezhou College, Dezhou 253023)
表 1 2 种算法 10 次寻优的平均最优值
测试函数 Griewank
Sphere Rastrgin
理论最优值 0 0 0
蚁群算法 0.052 594 8 0.041 644 6 3.033 268 5
蚁群聚类优化算法 0.000 000 00 1.416531e-013 0.001 567 8
Griewank 函数 10 次平均适应度进化曲线如图 1 所示。
除了与聚类中心 p 邻接的点外,还有从 p 经由 A 能够到达的
点,即此时从聚类中心的可达点集为 Cp − A + CA − Q ,Q 为 A
的邻接点中已经收入进其他聚类的节点,当节点 B ∈CA −Q
时, dp,B 为从 p 经由 L 中的节点到达 B 的最短距离;再从聚
类中心出发,搜索另一个样本点,……,当该聚类中心出发
虽然搜索的收敛速度得以加快,但蚁群在最优路径的搜索过 程中随机性减弱,易于陷入局部最优[4]。
信息激素残留系数 ρ 的大小直接关系到蚁群算法的全
局搜索能力及其收敛速度。本文采用的信息激素更新方式是
在一个循环结束(即蚂蚁构造得到一个解)之后进行更新。由
于信息激素残留系数 ρ 的存在,当要处理的问题规模比较大
把子网间距离记录进 M 中。 (4)当要求城市网络中两点之间的最短路径时,可根据两
点所在位置的不同来进行分类求解两点距离,具体情况如下: 1)当 2 个城市在同一个树型子网中时,就用树型结构中
两点最短路径方法来求解它们之间的最短距离; 2)当 2 个城市在同一个环状子网中时,可以用蚁群算法
来计算; 3)当 2 个城市一个在树型网络上,另外一个在环形网络