基于聚类的遗传算法解决旅行商问题

合集下载

毕业论文--基于遗传算法的tsp问题研究

毕业论文--基于遗传算法的tsp问题研究

目录摘要 (I)Abstract (II)第1章绪论............................................................... - 1 -1.1旅行商问题......................................................... - 1 -1.2研究意义........................................................... - 1 -1.3 论文的组织结构..................................................... - 1 - 第2章遗传算法理论概述................................................... - 2 -2.1遗传算法的起源和发展............................................... - 2 -2.2遗传算法基本原理................................................... - 3 -2.3遗传算法的基本步骤................................................. - 4 -2.4 遗传算法的流程图................................................... - 4 -2.5遗传算法的特点..................................................... - 5 -2.6遗传算法的应用..................................................... - 6 - 第3章 TSP问题及研究的基本方法............................................ - 8 -3.1 TSP问题概述....................................................... - 8 -3.2 TSP的应用与价值................................................... - 8 -3.3 TSP问题的数学模型................................................. - 9 -3.4 TSP 问题的分类..................................................... - 9 -3.5 现有的求解TSP问题的几种算法...................................... - 10 - 第4章遗传算法在TSP的应用.............................................. - 12 -4.1遗传算法在TSP上的应用............................................ - 12 -4.2算法的实现........................................................ - 12 -4.3编码.............................................................. - 12 -4.4初始化种群........................................................ - 13 -4.5适应度函数........................................................ - 13 -4.6选择操作.......................................................... - 13 -4.7交叉操作.......................................................... - 15 -4.8变异操作.......................................................... - 17 -4.9实验结果.......................................................... - 18 - 结论................................................................... - 20 - 展望..................................................................... - 20 - 参考文献.............................................................. - 21 - 致谢................................................................... - 22 - 附录程序................................................................. - 23 -摘要TSP问题(Traveling Salesman Problem)是已知有n个城市,现有一推销员必须遍访这n个城市,且每个城市只能访问一次,最后又必须返回出发城市。

旅行商问题毕业论文

旅行商问题毕业论文

摘要旅行商问题(Travelling Salesman Problem,简称TSP)是一个典型的组合优化问题,并且是一个NP难题,其可能的路径总数与城市数目n 是成指数型增长的,所以一般很难精确地求出其最优解,因而寻找出有效的近似求解算法就具有重要的意义。

遗传算法(GA)是求解旅行商问题(TSP)的常用方法之一。

针对中国旅行商问题(CTSP),本文利用遗传算法的全局搜索能力进行组合优化问题求解,设计一种大比例的优秀个体保护的大变异遗传算法,并使用MATLAB语言进行了实际的编程求解,编程中的各个模块分别实现了选择、交叉、变异等关键环节。

用编制的程序快速求解出了满足的结果,用本文设计的遗传算法的思路和编程程序是正确的。

用该策略迅速找到了CTSP最优解,该路径长度为15378km,比目前已知CTSP解更优。

对遗传算法迅速求解TSP最优解提供了可行解决方案。

关键词:遗传算法;CTSP;最短路径;MATLABAbstractThe traveling salesman problem (TSP) is a well-known NP complete problem, It’s increased by exponential n. So, it is hard to find a precision result, and it is very important to search for the near result.The genetic algorithm (GA) is one of the ideal methods in solving it. For CTSP,According to genetic algorithm’s globa l searching proterty, a kind of big probability variation’s genetic algorithm is put forward, which copies big proportion of fittest. In MATLAB, the typical Chinese traveling salesman problem is computed and the result shows the thought and program is correct. The best path for CTSP is found quickly through the algorithm. The best path 15378km is get, the result is the best so far.Key words: The Genetic Algorithm (GA); Chinese Traveling Salesman Problem (CTSP); The Shortest Path; MATLAB目录摘要 (I)Abstract (II)绪论 (1)1 CTSP数学模型及常用算法 (2)1.1 TSP的数学模型 (2)1.2 TSP问题的常用求解方法 (2)1.2.1 遗传算法(GA) (2)1.2.2 模拟退火算法(SA) (3)1.2.3 蚁群算法(ACO) (3)1.2.4 禁忌搜索(TS) (4)1.2.5 粒子群优化算法(PSO) (4)1.3 CTSP问题的数学模型,目前最优解 (5)1.3.1 CTSP的数学建模 (5)1.3.2 CTSP目前最优解 (5)2 用遗传算法SGA求解CTSP问题 (7)2.1 遗传算法求解框架 (7)2.2 种群初始化和计算适应度 (8)2.2.1 种群初始化 (8)2.2.2 计算适应度 (8)2.3 遗传算子 (8)2.3.1 选择算子 (8)2.3.2 交叉算子 (8)2.3.3 变异算子 (9)2.3.4 终止判断 (9)3 MA TLAB简介与特点 (10)3.1 MA TLAB简介 (10)3.2 MA TLAB的特点 (10)4 用MA TLAB求解CSTP问题 (12)4.1 种群初始化 (12)4.2 计算适应度 (12)4.3选择算子 (12)4.3.1 计算选择算子的过程 (12)4.3.2选择算子计算的代码实现 (13)4.4 交叉算子 (15)4.4.1 交叉概率的选择 (15)4.4.2 交叉算法实现 (16)4.5 变异算子164.5.1 变异概率的选择 (16)4.5.2 变异算法实现 (17)4.6 路径输出 (17)5 实验结论及分析 (19)5.1 实验结论 (19)5.2 需要进一步解决的问题 (20)致谢 (21)主要参考文献 (22)绪论旅行商问题(Travelling Salesman Problem,简称TSP)是一个典型的组合优化问题,并且是一个NP难题,遗传算法(GA)、模拟退火算法(SA)等算法是求解这类问题的常用方法。

智能优化-TSP-旅行商问题

智能优化-TSP-旅行商问题

智能优化实验报告基于遗传算法的TSP问题求解研究一、问题描述1、TSP问题的概述旅行商问题 (Traveling Salesman Problem,简称 TSP) 是一个经典的组合化问题。

它可以描述为:一个商品推销员要去若干个城市推销商品,从一个城出发需要经过所有城市后回到出发地,应如何选择行进路线以使总行程短。

从图论的角度看,该问题实质是在一个带权完全无向图中找一个权值最的小回路。

在寻找最短路径问题上,有时不仅要知道两个指定顶点间的最短路径,还需要知道某个顶点到其他任意顶点间的最短路径。

旅行商问题也是经典的组合数学的问题,生活中随处可见这类组合数学问题。

例如,计算下列赛制下的总的比赛次数:n个球队比赛,每队只和其他队比赛一次。

在纸上画一个网络,用铅笔沿着网络的线路走,在笔不离开纸面且不重复线路的条件下,一笔画出网络图。

一个邮递员从邮局出发,要走完他所管辖的街道,他应该选择什么样的路径,这就是著名的“中国邮递员问题”。

一个通调网络怎样布局最节省?美国的贝尔实验室和IBM公司都有世界一流的组合数学家在研究这个问题,这个问题直接关系到巨大的经济利益。

库房和运输的管理也是典型的组合数学问题,怎样安排运输使得库房充分发挥作用,进一步来说,货物放在什么地方最便于存取。

上述的这些例子中,其中一部分就和旅行商问题有关系。

2、TSP问题研究意义解决旅行商问题有着极其重要的理论和现实意义。

从理论层面来讲,解TSP不仅为其他算法提供了思想方法平台,使这些算法广泛地应用于各种组合优化问题;而且经常被用来测试算法的优劣,如模拟退火算法、禁忌搜索、神经网络、进化算法等,都可用旅行商问题来测试。

从实际应用层面来讲,旅行商问题作为一个理想化的问题,尽管多数的研究成果不是为了直接的应用,但却被广泛地转化为许多组合优化问题,最直接的就是其在交通、物流和大规模生产中的应用。

3、TSP问题的解决TSP问题是诸多领域内出现的多种复杂问题的集中概括和简化形式。

基于并行遗传算法多旅行商问题的求解

基于并行遗传算法多旅行商问题的求解

Microcomputer Applications V ol.27,No.7,2011开发应用微型电脑应用2011年第27卷第7期5文章编号:1007-757X(2011)07-0045-03基于并行遗传算法多旅行商问题的求解吴云,姜麟,刘强摘要:以往求解多旅行商问题的研究仅局限于以各旅行商路程总和最小为优化标准的传统遗传算法,而没有考虑他们的速度和所花时间。

在MPI 并行环境下,用C++语言实现了粗粒度模型的并行遗传算法。

结合并行遗传算法的特点,提出了解决多旅行商问题的策略以及给出相应的算法过程,并进行了有效验证。

通过研究结果表明,与传统遗传算法相比,并行遗传算法提高了运算速度,降低了平均开销时间并且最小总路径值更理想。

关键词:并行遗传算法;多旅行商问题;消息传递中图分类号:CN 31-1634/TP 文献标志码:A0引言旅行商问题(Traveling Salesman Problem,简称TSP),又称为货郎担问题,这是一个古老而又困难的问题,至今尚未彻底解决。

经过几十年的发展TSP 取得了一些显著成果,除了经典旅行商问题外还引申出它的扩展形式:多旅行商问题(Multiple Traveling Salesman Problem ,简称MTSP)。

多旅行商问题就是有N 个城市,M 个旅行商从同一城市(或不同城市)出发,访问所有城市,使得每个城市有且仅有一个旅行商经过(出发城市除外),且总旅行路程最短。

近年来MTSP 问题已经吸引了大量的研究者和探索者。

它是一个典型、易描述却难处理的NP 组合优化问题[1],组合优化是遗传算法最基本的研究应用领域之一。

遗传算法是一种基于自然选择和群体遗传进化机理的随机搜索迭代算法,具有良好的全局寻优能力。

以往求解旅行商问题只考虑总路程和最短,而没有考虑所花时间。

本文结合并行优化方法,以便确定各个旅行商的行走路线使所花时间更小速度更快路径最短。

1多旅行商问题的数学描述多旅行商问题实际上就是寻找加权图中的最短回路问题。

TSP问题的求解

TSP问题的求解
(2)缺点:但是遗传算法的局部搜索能力较差,导致单纯的遗传算法比较 费时,在进化后期搜索效率较低。在实际应用中,遗传算法容易产生早熟收敛的 问题。采用何种选择方法既要使优良个体得以保留,又要维持群体的多样性,一 直是遗传算法中较难解决的问题。 5.3 线性规划优缺点:
(1)优点:算法稳定,易得标准值 (2)缺点:针对 TSP 问题,需要先计算出第 i 个城市到其余城市的距离, 当城市数目较多时计算复杂。
关键词:TSP 问题 模拟退火算法 线性规划 遗传算法
一、问题重述
1.1 引言 TSP 是典型的组合优化问题, 并且是一个 NP-hard 问题,TSP 简单描述为:
一名商人欲到 n 个不同的城市去推销商品, 每 2 个城市 i 和 j 之间的距离为 d ij , 如何选择一条路径使得商人每个城市走一遍后回到起点, 所走的路径最短。用数 学符号表示为:设 n 维向量 s =(c1 , c2 , …, cn )表示一条路经, 目标函数为:min
小可以不断变化。在该题中,取温度的衰减系数α=0.9,其中固定温度下最大迭 代次数为:100 次,固定温度下目标函数值允许的最大连续未改进次数为 5 次, 即当算法搜索到的最优值连续若干步保持不变时停止迭代。
④最短路径的确定
借助 Matlab 通过模拟退火算法得出最短路径为:27—26—25—24—15— 14—8—7—11—10—21—20—19—18—9—3—2—1—6—5—4—13—12—30—23 —22—17—16—29—28—27,最短路径图如下图 1
图1 最短距离为:423.7406
(2)法二:遗传算法 优化过程如下图 2 所示:
图2 初始种群中的一个随机值(初始路径):
22—6—3—16—11—30—7—28—17—14—8—5—29—21—25—27—26—19 —15—1—23—2—4—18—24—13—9—20—10—12—22

TSP问题的遗传算法求解

TSP问题的遗传算法求解

TSP问题的遗传算法求解一、问题描述假设有一个旅行商人要拜访N个城市,要求他从一个城市出发,每个城市最多拜访一次,最后要回到出发的城市,保证所选择的路径长度最短。

二、算法描述(一)算法简介遗传算法(GeneticAlgorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,通过模拟自然进化过程搜索最优解。

遗传算法是从代表问题可能潜在的解集的一个种群(population)开始的,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代(generation)演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度(fitness)大小选择个体,并借助于自然遗传学的遗传算子(geneticoperators)进行组合交叉(crossover)和变异(mutation),产生出代表新的解集的种群。

这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码(decoding),可以作为问题近似最优解。

(摘自百度百科)。

(二)遗传算子遗传算法中有选择算子、交叉算子和变异算子。

选择算子用于在父代种群中选择进入下一代的个体。

交叉算子用于对种群中的个体两两进行交叉,有Partial-MappedCrossover、OrderCrossover、Position-basedCrossover等交叉算子。

变异算子用于对种群中的个体进行突变。

(三)算法步骤描述遗传算法的基本运算过程如下:1.初始化:设置进化代数计数器t=0、设置最大进化代数T、交叉概率、变异概率、随机生成M个个体作为初始种群P2.个体评价:计算种群P中各个个体的适应度3.选择运算:将选择算子作用于群体。

以个体适应度为基础,选择最优个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代4.交叉运算:在交叉概率的控制下,对群体中的个体两两进行交叉5.变异运算:在变异概率的控制下,对群体中的个体两两进行变异,即对某一个体的基因进行随机调整6.经过选择、交叉、变异运算之后得到下一代群体P1。

遗传算法及几个例子

遗传算法及几个例子遗传算法是一种模拟自然选择和遗传机制的优化算法。

它是由约翰·霍兰德(John Holland)于1975年首次提出的。

遗传算法通过模拟生物的进化过程,利用适者生存的原则来问题的最优解。

遗传算法的主要应用领域包括优化问题、机器学习、组合优化、图像处理等。

本文将介绍遗传算法的工作原理及几个应用实例。

首先,遗传算法的工作原理是模拟自然界的进化过程。

它由三个基本操作组成:选择、交叉和变异。

选择操作是指根据适应度函数选择出优秀个体,将它们作为父代参与下一代的繁衍。

适应度函数是用来评估个体在问题空间中的优劣程度的函数。

交叉操作是指将两个父代个体的染色体进行交换,产生子代个体。

交叉操作可以通过染色体的交叉点位置进行分类,如一点交叉、多点交叉、均匀交叉等。

变异操作是指对个体的部分基因进行突变,以增加空间的多样性。

变异操作在遗传算法中起到"探索"新解的作用。

下面是几个遗传算法的应用实例:1. 旅行商问题(Traveling Salesman Problem,TSP)旅行商问题是指在给定的一系列城市中,找到一条路径使得旅行商遍历每个城市且每个城市仅访问一次,最终回到起点城市。

遗传算法可以通过优化路径找到满足条件的最短路径。

2.集装箱装载问题集装箱装载问题是指如何在给定的一系列货物和一些规定的集装箱中,找到一种最佳的装载方案,以使得尽可能多的货物被装载到集装箱中。

遗传算法可以通过调整货物装载顺序和集装箱布局等来解决这个问题。

3.入侵检测系统入侵检测系统(Intrusion Detection System,IDS)用于检测计算机网络中的恶意入侵行为。

遗传算法可以通过学习适应网络环境的特征和规则,以准确地识别出正常和异常的网络流量。

4.机器学习中的特征选择和参数优化在机器学习任务中,特征的选择和参数的优化对于模型性能的提升非常重要。

遗传算法可以通过优化特征子集的选择和调整模型参数的取值,来提高机器学习模型的性能。

遗传算法的应用

遗传算法的应用
遗传算法是一种模拟生物进化过程的优化算法,它模拟了自然选择、交叉、突变等过程,可以用来解决许多优化问题。

以下是一些遗传
算法的应用示例:
1. 旅行商问题:遗传算法可以用来优化旅行商问题中的路线,找到
最短的旅行路径。

2. 自动化设计:遗传算法可以用来设计复杂系统的参数,如电路设计、控制系统设计等。

3. 机器学习:遗传算法可以用来优化机器学习算法中的参数,例如
神经网络的权重和偏置值。

4. 配置优化:遗传算法可以用来优化计算机系统的配置,例如网络
拓扑结构、服务器资源分配等。

5. 排课问题:遗传算法可以用来解决学校排课问题,找到最优的课
程安排方案。

6. 资源调度:遗传算法可以用来优化资源调度问题,如车辆路径规划、作业调度等。

7. 组合优化:遗传算法可以用来解决组合优化问题,如背包问题、生产调度问题等。

这些只是遗传算法的一些应用示例,实际上,遗传算法可以应用于各种优化问题,尤其是那些无法通过传统的数学方法求解的问题。

TSP的几种求解方法及其优缺点

TSP的几种求解方法及其优缺点一、什么是TSP问题旅行商问题,简称TSP,即给定n个城市和两两城市之间的距商,要求确定一条经过各城市当且仅当一次的是短路线。

其图论描述为:给定图G= (V, A),其中V为顶点集,A 为各顶点相互连接组成的边集,设(dij)是由顶点i和顶点j之间的距离所组成的距离矩阵,要求确定一条长度最短的Hamihon回路,即遍历所有顶点当且仅当一次的最短距离。

旅行商问题可分为如下两类:1)对称旅行商问题3j=dji, ni, j=l, 2, 3, - , n);2)非对称旅行商问题(dijHdji, Bi, j=1, 2, 3, - , n)o非对称旅行商问题较碓求解,我们一般是探讨对称旅行商问题的求解。

若对于城市V={V H V2, V n - , %}的一个访问顺序为T={l), b, tj, - , tj, - , tj,A其中衣v (i=l, 2, 3,・・・,□),且记t n+l=tl>则旅行商问题的数学模型为:血工Xzr-l TSP是一个典型的组台优化问题,并且是一个NP完全难题,是诸多领域内出现的多种复杂问题的集中槪括和简化形式,并且已成为各种启发式的搜索、优化算法的间接比较标准。

因此,快速、有效地解决TSP有着重要的理论价值和板高的实际应用价值。

二、主要求解方法基于TSP的问题特性,构造型算法成为最先开发的求解算法,如最近邻点、最近台并、最近插入、晨远插入、最近添加、贪婪插入等。

但是,由于构造型算法优化质長较差,迄今为止巳开发了许多性能较好的改迸型搜索算法,主要有:1)模拟退火算法2)禁忌搜索算法3)Hopficld神经网络优化算法4)蚁群算法5)遗传算法6)混合优化策路2.1模拟退火算法方法1)编码选择:采用描述TSP解的臺常用的一种策略——路径编码。

2)SA状态产生函数的设计:对于基于站径编码的SA状态产生函数操作,可将其设计为:①互换操作(SV7AP);②逆序操作(INV);③插入操作仃NS)。

遗传算法的详解及应用

遗传算法的详解及应用遗传算法(Genetic Algorithm,GA)是一种模拟自然选择和遗传过程的算法。

在人工智能和优化问题中得到了广泛的应用。

本文将详细介绍遗传算法的基本原理和优化过程,并探讨它在实际应用中的价值和局限性。

一、遗传算法的基本原理遗传算法的基本原理是通过模拟生物进化的过程来寻找一个问题的最优解。

在遗传算法中,优秀的解决方案(也称为个体,Individual)在进化中拥有更高的生存几率,而劣质的解决方案则很快被淘汰。

在遗传算法的过程中,每个个体由若干个基因组成,每个基因代表某种特定的问题参数或者状态。

通过遗传算法,我们可以找到问题最优的解或者其中一个较优解。

遗传算法的基本流程如下:1. 初始化群体(Population):首先,我们需要随机生成一组初始解作为群体的个体。

这些个体被称为染色体(chromosome),每一个染色体都由一些基因(gene)组成。

所以我们可以认为群体是由很多染色体组成的。

2. 选择操作(Selection):选择运算是指从群体中选出一些个体,用来繁殖后代。

其目的是让优秀的个体留下更多的后代,提高下一代的平均适应度。

在选择操作中,我们通常采用轮盘赌选择(Roulette Wheel Selection)法、锦标赛(Tournament)法、排名选择(Ranking Selection)法等方法。

3. 交叉操作(Crossover):交叉运算是指随机地从两个个体中选出一些基因交换,生成新的染色体。

例如,我们可以将染色体A和B中的第三个基因以后的基因交换,从而产生两个新的染色体。

4. 变异操作(Mutation):变异运算是指随机改变染色体中的个别基因,以增加多样性。

例如,我们随机将染色体A的第三个基因改变,从而产生一个新的染色体A'。

5. 适应度评估(Fitness Evaluation):适应度评估是指给每一个个体一个适应度分数,该分数是问题的目标函数或者优化函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

__________________________________________________ 1__________________________________________________ 基于聚类的遗传算法解决旅行商问题 摘要:遗传算法(GA)是解决旅行商问题(TSPs)的有效方法,然而,传统的遗传算法(CGA)对大规模旅行商问题的求解效果较差。为了克服这个问题,本文提出了两种基于聚类的改进的遗传算法,以寻找TSPs的最佳结果。它的主要过程是聚类、组内演进和组间连接操作。聚类包括两种方法来将大规模TSP划分为若干子问题,一种方法是k-均值(k-means)聚类算法,另一种是近邻传播(AP)聚类算法。每个子问题对应于一个组。然后我们使用GA找出每个子问题的最短路径长度。最后,我们设计一个有效的连接方法将所有这些组合成为一个,以得到问题的结果。我们尝试在基准实例上运行一组实验,用来测试基于k-means聚类(KGA)和基于AP聚类(APGA)遗传算

法的性能。实验结果表明了它们有效性和高效的性能。将结果与其他聚类遗传算法进行比较,表明KGA和APGA具有更强的竞争力和有效性。 关键词:大规模旅行商问题;遗传算法;聚类;k-means聚类;AP聚类 __________________________________________________

2__________________________________________________ 一、引言 旅行商问题(TSP)是在所有城市搜索最短哈密尔顿路线的问题。TSP是众所周知的NP-hard问题。它有许多现实世界的应用[1,2],如规划调度、物流配送、计算机网络和VLSI路由。近年来研究人员已经研究了不同类型的TSP[3-6]。 TSP问题可以用如下方式描述:有N座城市,给出城市之间的距离矩阵为dij

NND

。TSP问题的要求是从所有路径中找到最短路径。如果()i被定义

为在步骤 ( 1,,)iiN中访问的城市,则路线可以被看作城市从1到N的循环排列。路线的表达式如下:

1()(1)()(1)1 minimizeNiiNifdd (1) 如果对于1ijN、,距离满足ddijji ,则这种情况是对称TSP。 TSP可以模型化为加权图。每个顶点代表一个城市,每个边缘连接两个城市。 边的权重表示两个相连的城市之间的距离。现在一个TSP问题实际上是一个哈密尔顿回路,最优的TSP路径是最短的哈密顿回路。 用于求解TSP的算法可以概括为两类,精确算法和启发式算法。精确的算法确保最终解决方案是最优的。分支切割算法是这一类中的典型示例[7,8]。这些算法的关键问题是它们相当复杂,并且在计算机性能方面非常苛刻[9]。自引入模拟退火[10]和禁忌搜索[11]以来,启发式算法有可能突破局限,从而找到路径的局部最__________________________________________________ 3__________________________________________________ 优解。在过去的二十年中,提出了大量的自然启发或群体智能方法,例如蚁群算法[12,13],粒子群算法[14]和遗传算法[15,16]来解决TSP问题 。 遗传算法(GA)是一种通过模拟自然演化过程来搜索最优解解决大规模搜索问题(例如TSP问题)的有效方法,GA的目的是通过几个遗传操作,如选择、交叉和突变获得大规模搜索问题的近似解。与其他精确搜索算法相比,其优点主要是通过使用群体的信息而不是仅仅一个个体来实现搜索[5]。除了上述内容之外,GA通过适应度函数的数值来评估个体的质量,减少当使用启发式算法时被浸入在局部最优解中的风险。 虽然GA是解决TSPs的有效方法,但是,随着旅行城市的数量增长,经典遗传算法效果较差。为了使TSP问题变得更容易并且可以有效地解决大规模TSP,本文提出了两种改进的基于聚类的遗传算法,分别称为KGA和APGA。首先,KGA和APGA使用聚类方法将大规模TSP划分为若干子问题,每个子问题对应于一个组。在KGA和APGA中分别采用k-means和AP聚类方法。然后,我们使用GA找到每个聚类的最短哈密顿回路。所有这些集群可以并行处理。最后,我们设计有效的连接方法将这几个组合并为一个整体,以实现缩短整个路线的目的。 本文的其余内容以此方式描述:第二节提出了两种聚类方法,包括k-means和近邻传播(AP)。第三节描述了基于k-means聚类(KGA)的遗传算法和基于AP聚类(APGA)的遗传算法。然后在第四部分,提供实验和比较结果。最后,我们在第五节结束本文。

二、聚类方法 A、K-means聚类 K-means是一种普遍的无监督智能算法,由于其简单性[17],广泛应用于各种

领域,如数据挖掘。这个想法是将一组样本分成几个组(簇),其中每个对象具有类似于另一个对象的特征。我们选择群集内最远的距离并标记它。 该算法需要随机地产生对聚类(1,,)CiKi 的K个初始中心点的选择。我们称之为中心。首先,计算从每个对象到其他聚类中心的距离,并将所有对象划分为距离最小的组。其次,根据上一步,重新计算每个集群中心。我们重复这两个步骤,直到中心不再改变,以实现收敛稳定。我们使用Euclidean距离来计算顶__________________________________________________ 4__________________________________________________ 点和集群之间的距离。聚类的目的是优化以下函数: 211,minimize ||||iKNjiijjGfxC (2) 其中K是聚类的数量,N是顶点(或城市)的数量,jx是顶点j的坐标,Ci 是聚类i的坐标,iG是属于聚类i的顶点组。 该算法可以通过在空间中移动聚类中心来获得最短的平方距离。聚类的新中心根据分配给它的所有顶点不断更新。计算聚类中心的公式如下:

1,1||iNijjjGiCxG (3)

其中||iG是包含在簇中的顶点的数量。 算法1给出了K-means聚类算法的伪代码。 1 随机设置K个集群中心; 2 repeat 3 for 每个顶点 do 4 计算每个聚类的距离度量;

5 将其分配给最近的组 6 end 7 重新计算聚类中心位置; 8 until stop criteria are met;

算法1:K-Means的伪代码 B、AP聚类 基于相似性度量的聚类方法已经广泛用于工程系统和科学数据分析中。聚类的一种常见方法是将数据分成几个部分,并找到一组中心,以使数据点及其最接近的中心具有最小的平方误差和。我们从所有实际存在数据点中选择中心,并将它们命名为“样本”。K-Means聚类方法最初使用一组随机选择的样本,然后迭代地优化那些样本,目的是降低平方误差的和。K-Means聚类方法最初很容易选择样本,所以它总是需要用不同的初始化来优化许多次,并努力获得更好的解决方案。因此,它仅在组的数量较少并且至少一个随机初始解接近优秀解的情况下表现很好。 近邻传播(AP)与K-Means聚类非常不同[18],它不需要在运行算法之前人工设置聚类的数量。它将所有数据点视为同一时间的潜在样本,并将其视为每个集__________________________________________________ 5__________________________________________________ 群的代表。在AP中的数据点之间交换的消息有两种类型。它交替地使用两种消息传递步骤来更新两个矩阵:“责任”矩阵和“可用性”矩阵,并且它们中的每一个考虑不同种类的竞争。可以在任何时间组合消息以从点中选择样本。“责任”矩阵,rik描述了点i适合于点k的程度,即从i到k的消息。“可用性”,aik描述点i选择点k作为其聚类中心的程度,将消息从i发送到k。点k应当是考虑来自其他相邻点的支持的示例。,rik和,aik使用以下公式计算: ''',,max,,kkriksikaiksik

(4)

'

'

','min0,,max0,,,,max0,,,iikikrkkrikikaikrikik













 (5)

其中,2,iksikxx

AP的详细描述可参考[19,20]。

三、基于聚类的遗传算法 本文提出了两种改进的聚类遗传算法,即基于K-means聚类(KGA)的遗传算法和基于AP聚类(APGA)的遗传算法,以有效地解决大规模TSP问题。首先,KGA和APGA使用聚类方法将大规模TSP转换成几个小的子问题,每个子问题对应于一个组。在KGA和APGA中分别采用K-means聚类和AP聚类方法。然后,我们使用遗传算法找到每个聚类的最短哈密顿回路。所有这些组可以并行处理。 最后,以缩短整个旅行路线为目标,我们设计了有效的连接方法,将所有组合并为一个整体。 A.组内演化 组内演化操作的目的是为每个组中的给定结点找到最短的哈密顿回路。遗传算法是一个基于进化论的有影响力的技术,如TSP的问题[21]。在每个组中执行遗传算法,旨在通过选择、交叉和突变这几个遗传操作获得近似解。与其他精确的传统搜索算法相比,其优点主要是使用循环群体的信息而不是仅仅一个循环来执行搜索。

相关文档
最新文档