文摘

蚁群优化(ACO)通常用于解决优化问题,如旅行商问题(TSP)。当它应用于TSP,其运行时的平方大小成正比的问题 看起来不那么有效。下面的统计特性是观察在作者的长期使用ACO基因数据分析:当数据大小 大,当地集群出现频繁。集群紧密,一些数据在一个小区域,形成一个类,和不同阶层之间的相关性是微弱的。和这个特性使得分而治之的想法可行的解决TSP的估计。本文改进了ACO算法,首先将所有数据分为本地集群和计算小茶匙路线然后组装一个大茶匙路线。仿真表明,该方法提高了算法的运行速度到200年因素条件下局部聚类数据集包含的特性。

1。介绍

1.1。引入蚁群优化(ACO)

1991年,蚁群优化(ACO)是首先由Colorni et al。1),应用于解决TSP首先民宿et al。1- - - - - -3]。民宿等人创造了一个新的研究课题由许多学者研究了。

算法本质上是一个基于代理的系统模拟蚂蚁的自然行为,真正的蚂蚁能找到最短的路线从巢的食物来源,不使用视觉线索利用信息素信息(2]。信息素沉积在蚂蚁行走路线。它提供了启发式信息为其他蚂蚁选择自己的路线。路径的信息素轨迹越密集,越可能选择路线的蚂蚁。最后,几乎所有的蚂蚁选择的路线最密集的追踪信息素,它是可能的最短路线。

算法被广泛应用于解决优化问题,成功,如TSP (1- - - - - -4),二次分配问题(5),图像处理6,数据挖掘7)、分类或聚类分析8),和生物学(9]。的应用ACO算法的理论研究。Gutijahr首先分析算法的收敛性质(10]。Stutzle和民宿的重要结论证明如果配电网的运行时间足够长,算法可以找到最优解可能是(11]。另一个有趣的属性是透露目前Birattari等人的一系列解决方案的一些算法不依赖于问题的规模实例(12]。

ACO尤其适合解决困难的优化问题,传统的优化方法效率较低。然而,算法不是非常高效的解决大问题因为运行时间太长,解的质量仍然很低。解决两个主要问题,讨论了参数的配置(2,3]。为了进一步改进算法,提出了很多方法。在这些方法中,使用并行计算和其他方法来加速算法(13]。在这项研究中,我们设计一种新的聚类算法命名为当地特殊的聚类算法(SLC),这是用于分类和找到解决TSP问题。此外,一群蚂蚁作用于每个类当地TSP路径。我们使用路线长度的收敛算法的终止准则。实验结果表明,改进后的算法加速和其质量变得更高的测试问题。它比比较更健壮的方法。

1.2。聚类关联算法的运行时间

算法的研究重点之一是减少运行时间。算法的运行时间 , 一般来说,在 , , 表示迭代数,蚂蚁的数量,和城市的数量,分别4]。运行时间成正比 。减少城市的数量 的关键是减少运行时间。因此,所有的城市分类到不同的类,让算法作用于每个类将减少运行时间。胡锦涛和黄用这种方法提高算法的运行速度(14),名叫ACO-K-Means。这是速度比ACO大约5 - 15的因素。模拟表明,ACO-K-Means算法只有一组有效的城市明显聚类特性和无效的更一般的情况。ACO-K-Means意味着使用聚类方法来提高算法的运行速度是可能的。

1.3。介绍当地的聚类算法

聚类分类对象的一组(名为训练集)到不同的集群(或组),这样每个类中的数据(理想情况下)分享一些共同的特征。最受欢迎的k - means聚类算法聚类算法(15,16]。k - means聚类算法分配每个点到集群的中心(即。质心)最近的质心,然后更新。重复这个过程,直到满足终止准则(16]。

th k - means算法的迭代, th类失真,被定义为每个点的平均距离和类质心,用 ( ), 类的数量。彭日成证明 变形序列 是收敛的,如果 显然th类分开其他类(16]。也就是说,在本地失真序列收敛。根据这个性质,一个名叫局部聚类算法的算法(LC)提出了17),其基本思想介绍如下。

步骤1。k - means应用于给定的训练集生成类。

步骤2。的类失真 收敛是第一次从训练集,然后删除更新训练集,它是由残余点。去一步1

重复的过程步骤12直到所有数据分类。

LC算法速度比k - means算法大约42的因素。

假设 th类 k - means算法的迭代。集 有熵 ,在那里 的概率是数据 。这是证明了熵序列 是收敛的16]。也就是说,k - means算法的收敛判据可以取而代之的是熵序列的收敛性18]。收敛准则的k - means熵收敛快的因素2至少[18,19]。

2。提高当地的聚类算法生成紧凑类

2.1。紧集的方法生成

欧几里得空间的任何子集 在这个子集,每个序列收敛的子序列,属于设定的极限点。这个子集紧集。紧集的概念(或密实度)是一个拓扑的概念。很容易理解它,密实度可以形容视觉现象,许多点集群紧密在一个小区域,而noncompact集的集合点集群的最松散的大区域。

k - means聚类、信用证或其他算法的目标是一个训练集分割成类。一些类是紧凑的,有些不是。最常见的情况是,一个类包含一个紧凑的子集和一些宽松点,和紧凑的子集的点的中心类。也就是说,类的核心部分是紧凑的可能。从一个类中提取紧凑的子集,下面 原理介绍。

高斯分布假设 表示随机数据的偏差。这是 原则,有99%以上的概率随机点落在中部地区的数据集的半径 (16]。中部地区包含超过99%的点。因此,如果半径 是足够小,点的数量足够大,中部地区是紧凑的。如果半径的中部地区 不紧凑,缩短的半径中部地区 , 等等会让它紧凑。为高斯分布,由足够的点,紧凑的中部地区始终存在。一般来说,对一个类生成的聚类算法,从类的所有距离重心构成一个类似高斯分布。因此,类的中部地区是紧凑的可能。

假设 th类 th的迭代 ——或LC算法。随着迭代的增加,类序列 ( )出现, 表示类的数量。让 在哪里 表示元素的数量 表示距离。

考虑

很明显, 是类的扭曲 近似的偏差

考虑

类的中心地区吗 。参数 是用来缩短的半径中部地区 并使它紧凑。图1说明了 原则和紧凑的子集

2.2。子程序1:当地的聚类算法 原则

当地的聚类算法 原则是用来分类点类和类的提取紧凑的中部地区。其基本思想是描述如下。

首先,LC算法应用到集群数据。并应用熵融合的标准(例如, ),标志着稳定的类

其次,提取紧凑的中部地区 从类 并保存它作为一个真正的类。删除 从训练集和更新它。重复以上两个步骤,直到所有的紧凑的中部地区都提取出来。算法描述的细节1

输入参数:
:训练集
:类的数量
:停止为聚类阈值。
:初始质心集。
:一个参数来调整subs-ets紧凑的大小
输出:
(例如,the set of co-mpact subset, see Figure1)
,在那里 ,它是由分散的点
( ,见图1)
无效的子程序1( )
{
步骤1。初始化:让迭代数 。让 。让 ,在那里
根据初始质心集表示空集。 训练集,生成初始分区
步骤2。而
步骤2.1。生成新的重心组 和新分区
/ *注意:检查是否熵序列{ }是收敛的。如果是收敛的,
让收敛StableMarker标志 * /
步骤2.2。为
估计类的熵 ,也就是说,
如果
其他的
}
/ *注意:提取数据的质心类作为一个真正的类* /
步骤2.3。为
如果
计算紧凑的中部地区 根据公式(3)
计算 :
更新训练集:
更新质心设置:
}
}
}
}

2.3。特殊LC算法来生成紧凑类(SLC)

注意,上面的子例程1不是一个训练集的分区。子例程1提取只有紧凑的中部地区的所有类和剩余点是不保密的。剩余点组成一个新的训练集,它是可能的,一些剩余点紧密聚集在一起,组成一些小型紧凑的子集。这些小型紧凑的子集是新类。获得这些新类和分类所有点,SLC算法中描述的算法2

输入参数:
:训练集
:最初的类的数量。
:停止为聚类阈值。
输出:
Num:最后的类的数量。
CLS:分区 中,每个类com-pact。
SLC算法:
步骤1。初始化: , , ,
步骤2。( / *注意: 表示整数* /
步骤2.1。生成初始质心集
步骤2.2。叫Subroutine1
步骤2.3。 ;
步骤2.4。 ;
/ *注意:增加 变小紧凑类* /
步骤2.5。  ;
}
步骤3。每一个剩余点 在最后一集 被认为是一个类 。,让
让Num表示CLS中包含的类的数量。两个输出是CLS和全国矿工工会。

2.4。混合分布的聚类(SLC-Mixture)

上面给出的聚类算法SLC生成球形类。然而,对于一般的分布,一些类是球形的,一些类的链形状点集群紧密围绕一个曲线(或直线),和一些类包含孤立点。这种常见的分布称为混合分布。大规模TSP,城市的分布混合分布。提出了混合分布的聚类方法如下。

2.4.1。简单的制造商区分球形类和链形类

城市的位置在地图上是二维的点。给定的类可以分为8个地区沿南北四个方向,西和两个对角线通过类的重心。如果类球形,在每个区域的比例接近1/8,大约是相同的。如果类是链形类(或链形类)的一部分,这是不可能的,每个领域的比例接近1/8的在同一时间。因此,在每个区域的比例是球形的制造商类。图2说明了标记。

2.4.2。应用SLC处理混合分布(SLC-Mixture)

起初,SLC适用于训练集的所有数据进行分类。其次,应用上述标记来区分球形类并提取它们的训练集,然后所有剩余点组成一组新的命名残余。残余集只包含链形类和孤立点。第三,应用提出的方法(20.)所有剩余点剩余组划分为不同的链形类或标记为孤立点。提出的方法(20.是叫链形聚类算法。

本节中给出的聚类方法叫做SLC-Mixture算法,这过程的混合分布球形类、链形类和孤立点。

3所示。SLC适用于配电网

3.1。算法的终止准则

假设算法作用于一个紧凑的课堂,让 表示的最小生成的路径长度 迭代计算。有序列 这是在理想条件下收敛。收敛准则 提出了算法的终止准则。

在下面的讨论中,路径指的是算法的终止准则

3.2。应用SLC改善配电网的运行速度(ACO-SLC)

在本节中,聚类算法SLC将应用于提高算法的运行速度。方法ACO-SLC命名和描述如下。

输入参数: 的城市。输出:最短的TSP算法获得的路线。

ACO-SLC算法。

步骤1。SLC算法适用于分区设置 。的类是 , ,他们的重心 , ,分别。

步骤2。构造图 :重心 , 分别被视为虚拟城市,和虚拟城市被视为图的顶点 。对两类 如果存在两个城市 分别和他们互相连接,使用一条边加入两个相应的顶点 。边缘的重量是两个类之间的最小距离;也就是说,

步骤3。计算图形的TSP的路线 生成所有类的旅游秩序:让ACO算法作用于图 找到一个用茶匙路线 ,在那里 的排列顺序 。两类 被称为邻居类。

步骤4。选择一条边作为桥加入一对邻居类,和这条边叫桥边缘。假设这两个邻居类 。如果存在这样的优势 边缘 是边缘的桥梁, 被称为边境城市,顶点在哪里 应该不习惯加入其他邻居类。

第5步。计算每个类当地TSP的路线 ( ):添加一个新的边缘加入班上两个边境城市边缘和边缘标记为必要的当地TSP的路线。这条边叫pseudoedge。让ACO算法收敛性判据 当地TSP类来生成一个行动路线。

步骤6。构造一个茶匙路线:沿着步骤获得的旅游秩序3;为每一对邻居类、删除每个类的pseudoedge这样当地的路线并不密切。然后让每个类的本地路由和桥优势这两个类之间的连接。

3说明了ACO-SLC的处理算法。

3.3。使用小窗口和删除过界的方法改善ACO-SLC (ACO-SLC-LWCR)

集群可能会导致错误的解决方案虽然提高了算法的运行速度。紧凑,如果所有类分离很明显,解决ACO-SLC质量应该很好。然而,事实上,两个邻居类之间的边界是模糊的。模糊边界将导致不准确的解决方案,和更长的路线将会出现。和认识的时间越长和删除一部分可能会产生更好的解决方案。众所周知,最短的路线总是在凸包的表面。因此,应该在内部部分长一个凸包和两个长边相交。换句话说,相交的两条边的标记可能长路线的一部分。根据标记,删除长边删除过界去除交叉边缘,这是类似于[方法4]。(注意:在[4),在执行算法之前,长期和交叉的边缘来提高算法的运行速度,而不是提高解决方案的质量。)

4说明的方法消除过界。

此外,一个简单的方法小窗口策略提出了改善配电网的运行速度(21]。构造一组 这是由 访问和短边加入 th城市, 是预先分配常数。蚂蚁到达 城市将从窗口选择一条边 只有到达下一个城市,而不是选择一个从这个顶点的所有邻居边边缘。因此,这种方法提高了算法的运行速度。

ACO-SLC小窗口策略和cross-edges移除ACO-SLC-LWCR

3.4。混合分布ACO-SLC (ACO-SLC-Mixture)

ACO-SLC只适用于球形分布,低质量的解决方案可能会出现当ACO-SLC应用于过程混合分布。处理混合分布,本文提出了以下方法命名ACO-SLC-Mixture。

首先,应用SLC-Mixture部分2.4。2的集合城市分割成球形类、链形类或孤立点。其次,ACO-SL-C-LWCR适用于每个类和生成一个茶匙路线。

4所示。模拟

在本节中,五个相关算法算法,ACO-K-Means, ACO-SLC, ACO-SLC-LWCR, ACO-SLC-Mixture测试和比较。在下面的模拟,提出的算法是指ant-cycle Colorni et al .,这是非常典型的(1]。

所有测试数据在本文下载http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/tsp/。本文算法在个人电脑上运行(CPU: 1.80 GHz;内存:480;软件:Matlab)。列出的参数如下。初始化信息素轨迹 迭代1000号, , , , , , 。两项测试性能。一项是运行时间,它被定义为=时间(ACO)/时间(算法)。比率越大,算法越快。此外,该比率的优点是其他进程运行时的微妙的感染是逃避,和它比原始测量更准确运行时因为其他进程所造成的价值给小的贡献比例。另一项是质量的解决方案,这被定义为错误的百分比错误=(Solution-Optimum)/最优,在那里最优表示目前已知的最佳解决方案。误差越小,解的质量越好。

在图列出了五个算法的性能5。这表明ACO-SLC ACO-SLC-LWCR, ACO-SLC-Mixture比算法快 , ,257 - 9419年的因素,分别!然而,一些ACO-K-Means和ACO-SLC低质量的解决方案。ACO-SLC-Mixture的准确比例小于算法在大多数情况下,比ACO最多2%。

ACO-SLC的缺陷。 从图5,应该注意的是,只有在当地的条件是数据集包含特征聚类,解决方案的质量是好的。 本文的模拟表明,ACO-SLC解决方案的质量取决于质量的集群和集群初始质心SLC质量敏感就像K-Mean算法。这是ACO-SLC的主要缺陷。

5。结论

算法的时间复杂度。。ACO算法是受蚁群的觅食行为,已经应用于解决许多优化问题。算法是应用程序的典型应用在旅行商问题(TSP)。算法的运行时间 ,在那里 , , 表示迭代数,蚂蚁的数量,分别和城市的数量。参数 是一个经验值和设置 一般来说。参数 运行时间的关键因素,因为运行时间正比于它的广场。参数 都是可用的,并且减少参数 将减少运行时间。

算法研究的焦点。算法可以生成解决方案和高质量的。但其不足,运行时间太长了。减少运行时间算法的研究重点之一,和一种方法是减少参数 ,特别是

基本思想为本研究的焦点。在这项研究中重点,以下提出了基本思路。

首先,所有城市分为紧凑类,紧凑类是类,所有这类集群紧密的城市在一个小区域。其次,让算法作用于每一个类来当地TSP的路线。第三,所有本地TSP路线连接形成的解决方案。第四,解的不准确造成的集群将被淘汰。

实现的基本思想。以上想法的实现是基于一种新的聚类算法提出了本文名为当地特殊的聚类算法(SLC)。SLC的运行时间远小于的时候。SLC生成紧凑类,虽然目前流行的如k - means聚类算法不生成紧凑类。类的密实度使TSP路线的长度 在每一个迭代收敛;的融合 (例如, 提出了算法的终止准则。因此,参数 是降低来提高算法的运行速度。此外,每个类都有体积小;使参数算法作用于小类 减少,提高运行速度。根据这一分析,ACO-SLC算法。仿真表明,ACO-SLC速度比算法 的因素!

消除引起的集群解决方案的准确。虽然运行速度提高本文的错误解决方案是沉重的。两个因素导致了不被发现。一个是cross-edges(见部分3.3),另一个因素是ACO-SLC之间的不协调和混合分布(见部分3.4)。根据这两个因素,ACO-SLC-LWCR ACO-SLC-Mixture提出本文的改进ACO-SLC。仿真表明,ACO-SLC-LWCR和ACO-SLC-Mixture比算法快 和257 - 9419的因素,分别!ACO-SLC-Mixture的准确比例小于算法在大多数情况下,比ACO最多2%。

利益冲突

作者宣称没有利益冲突有关的出版。

确认

航空科学基金支持的工作(没有。2012 zd11)和部分由四川省教育部门(没有。12 za134也没有。09年zz028)。