基于聚类的遗传算法解决旅行商问题(共10页).docx
《基于聚类的遗传算法解决旅行商问题(共10页).docx》由会员分享,可在线阅读,更多相关《基于聚类的遗传算法解决旅行商问题(共10页).docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上基于聚类的遗传算法解决旅行商问题摘要:遗传算法(GA)是解决旅行商问题(TSPs)的有效方法,然而,传统的遗传算法(CGA)对大规模旅行商问题的求解效果较差。为了克服这个问题,本文提出了两种基于聚类的改进的遗传算法,以寻找TSPs的最佳结果。它的主要过程是聚类、组内演进和组间连接操作。聚类包括两种方法来将大规模TSP划分为若干子问题,一种方法是k-均值(k-means)聚类算法,另一种是近邻传播(AP)聚类算法。每个子问题对应于一个组。然后我们使用GA找出每个子问题的最短路径长度。最后,我们设计一个有效的连接方法将所有这些组合成为一个,以得到问题的结果。我们尝试在基准
2、实例上运行一组实验,用来测试基于k-means聚类(KGA)和基于AP聚类(APGA)遗传算法的性能。实验结果表明了它们有效性和高效的性能。将结果与其他聚类遗传算法进行比较,表明KGA和APGA具有更强的竞争力和有效性。关键词:大规模旅行商问题;遗传算法;聚类;k-means聚类;AP聚类一、引言旅行商问题(TSP)是在所有城市搜索最短哈密尔顿路线的问题。TSP是众所周知的NP-hard问题。它有许多现实世界的应用1,2,如规划调度、物流配送、计算机网络和VLSI路由。近年来研究人员已经研究了不同类型的TSP3-6。TSP问题可以用如下方式描述:有座城市,给出城市之间的距离矩阵为。TSP问题的
3、要求是从所有路径中找到最短路径。如果被定义为在步骤中访问的城市,则路线可以被看作城市从1到的循环排列。路线的表达式如下: (1)如果对于,距离满足 ,则这种情况是对称TSP。TSP可以模型化为加权图。每个顶点代表一个城市,每个边缘连接两个城市。 边的权重表示两个相连的城市之间的距离。现在一个TSP问题实际上是一个哈密尔顿回路,最优的TSP路径是最短的哈密顿回路。用于求解TSP的算法可以概括为两类,精确算法和启发式算法。精确的算法确保最终解决方案是最优的。分支切割算法是这一类中的典型示例7,8。这些算法的关键问题是它们相当复杂,并且在计算机性能方面非常苛刻9。自引入模拟退火10和禁忌搜索11以来
4、,启发式算法有可能突破局限,从而找到路径的局部最优解。在过去的二十年中,提出了大量的自然启发或群体智能方法,例如蚁群算法12,13,粒子群算法14和遗传算法15,16来解决TSP问题 。遗传算法(GA)是一种通过模拟自然演化过程来搜索最优解解决大规模搜索问题(例如TSP问题)的有效方法,GA的目的是通过几个遗传操作,如选择、交叉和突变获得大规模搜索问题的近似解。与其他精确搜索算法相比,其优点主要是通过使用群体的信息而不是仅仅一个个体来实现搜索5。除了上述内容之外,GA通过适应度函数的数值来评估个体的质量,减少当使用启发式算法时被浸入在局部最优解中的风险。虽然GA是解决TSPs的有效方法,但是,
5、随着旅行城市的数量增长,经典遗传算法效果较差。为了使TSP问题变得更容易并且可以有效地解决大规模TSP,本文提出了两种改进的基于聚类的遗传算法,分别称为KGA和APGA。首先,KGA和APGA使用聚类方法将大规模TSP划分为若干子问题,每个子问题对应于一个组。在KGA和APGA中分别采用k-means和AP聚类方法。然后,我们使用GA找到每个聚类的最短哈密顿回路。所有这些集群可以并行处理。最后,我们设计有效的连接方法将这几个组合并为一个整体,以实现缩短整个路线的目的。本文的其余内容以此方式描述:第二节提出了两种聚类方法,包括k-means和近邻传播(AP)。第三节描述了基于k-means聚类(
6、KGA)的遗传算法和基于AP聚类(APGA)的遗传算法。然后在第四部分,提供实验和比较结果。最后,我们在第五节结束本文。二、聚类方法A、K-means聚类K-means是一种普遍的无监督智能算法,由于其简单性17,广泛应用于各种领域,如数据挖掘。这个想法是将一组样本分成几个组(簇),其中每个对象具有类似于另一个对象的特征。我们选择群集内最远的距离并标记它。该算法需要随机地产生对聚类 的个初始中心点的选择。我们称之为中心。首先,计算从每个对象到其他聚类中心的距离,并将所有对象划分为距离最小的组。其次,根据上一步,重新计算每个集群中心。我们重复这两个步骤,直到中心不再改变,以实现收敛稳定。我们使用
7、Euclidean距离来计算顶点和集群之间的距离。聚类的目的是优化以下函数: (2)其中是聚类的数量,是顶点(或城市)的数量,是顶点的坐标, 是聚类的坐标,是属于聚类的顶点组。该算法可以通过在空间中移动聚类中心来获得最短的平方距离。聚类的新中心根据分配给它的所有顶点不断更新。计算聚类中心的公式如下: (3)其中是包含在簇中的顶点的数量。算法1给出了K-means聚类算法的伪代码。1 随机设置K个集群中心;2 repeat3 for 每个顶点 do4 计算每个聚类的距离度量;5 将其分配给最近的组6 end7 重新计算聚类中心位置;8 until stop criteria are met;算法
8、1:K-Means的伪代码B、AP聚类基于相似性度量的聚类方法已经广泛用于工程系统和科学数据分析中。聚类的一种常见方法是将数据分成几个部分,并找到一组中心,以使数据点及其最接近的中心具有最小的平方误差和。我们从所有实际存在数据点中选择中心,并将它们命名为“样本”。K-Means聚类方法最初使用一组随机选择的样本,然后迭代地优化那些样本,目的是降低平方误差的和。K-Means聚类方法最初很容易选择样本,所以它总是需要用不同的初始化来优化许多次,并努力获得更好的解决方案。因此,它仅在组的数量较少并且至少一个随机初始解接近优秀解的情况下表现很好。近邻传播(AP)与K-Means聚类非常不同18,它不
9、需要在运行算法之前人工设置聚类的数量。它将所有数据点视为同一时间的潜在样本,并将其视为每个集群的代表。在AP中的数据点之间交换的消息有两种类型。它交替地使用两种消息传递步骤来更新两个矩阵:“责任”矩阵和“可用性”矩阵,并且它们中的每一个考虑不同种类的竞争。可以在任何时间组合消息以从点中选择样本。“责任”矩阵描述了点适合于点的程度,即从到的消息。“可用性”描述点选择点作为其聚类中心的程度,将消息从发送到。点应当是考虑来自其他相邻点的支持的示例。和使用以下公式计算: (4) (5)其中,AP的详细描述可参考19,20。三、基于聚类的遗传算法本文提出了两种改进的聚类遗传算法,即基于K-means聚类
10、(KGA)的遗传算法和基于AP聚类(APGA)的遗传算法,以有效地解决大规模TSP问题。首先,KGA和APGA使用聚类方法将大规模TSP转换成几个小的子问题,每个子问题对应于一个组。在KGA和APGA中分别采用K-means聚类和AP聚类方法。然后,我们使用遗传算法找到每个聚类的最短哈密顿回路。所有这些组可以并行处理。 最后,以缩短整个旅行路线为目标,我们设计了有效的连接方法,将所有组合并为一个整体。A.组内演化组内演化操作的目的是为每个组中的给定结点找到最短的哈密顿回路。遗传算法是一个基于进化论的有影响力的技术,如TSP的问题21。在每个组中执行遗传算法,旨在通过选择、交叉和突变这几个遗传操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 遗传 算法 解决 旅行 问题 10
限制150内