求解TSP量子蚁群算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求解旅行商问题的混合量子蚁群算法
摘要:针对蚁群算法求解旅行商问题时易陷入局部最优和收敛速度慢的问题,提出一种新的求解旅行商问题的混合量子蚁群算法。该算法采用量子比特的概率幅对各路径上的信息素进行编码,量子旋转门及蚂蚁走过的路径对信息素进行更新,加快算法收敛速度;为了避免搜索陷入局部最优,设计一种新的变换邻域准则,以提高求解效率。TSPLIB 中部分实例仿真结果表明该算法比传统蚁群算法具有更快的收敛速度和求解精度。 关键词:量子蚁群算法;变换邻域准则;旅行商问题
Hybrid Quantum Ant Colony Algorithm for
Traveling Salesman Problem
Abstract : Aiming at the Traveling Salesman Problem based on ant colony optimization which is easy to fall into local optimums and has a slow convergence rate ,a hybrid quantum ant colony optimization algorithm is presented .In this algorithm ,the pheromone on each path is encoded by a group of quantum bits, the quantum rotation gate and ant ’s tour are used to update the pheromone so as to accelerate its convergence speed; To avoid the search falling into local optimum, the new neighborhood exchange strategy is designed to improve solution efficiency. Some cases from the TSP library(TSPLIB) are used to experiment, the results show that the algorithm has rapider convergence speed and higher accuracy than the classical ant colony algorithm.
Key words: Quantum Ant Colony Algorithm; neighborhood exchange strategy ; Traveling Salesman Problem
1 引言
蚁群算法是一种模拟进化算法,最早是意大利学者Dorigo M 于1991 年提出[1]
,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为,算法成功地用于TSP 求解、工件排序、图着色、车辆调度等多目标组合优化问题[]
27-。然而,迭代次数多、收敛速度慢、易于陷入局部最优解仍是制约ACO 算法广泛应用的主要瓶颈。
量子计算[]
8的研究开始于二十世纪八十年代,Benioff 和 Feynman 提出了量子计算的概念。量子计算利用量子理论中有关量子态的叠加、纠缠和干涉等特性,用来解决经典计算中的许多难题,并以其独特的计算性能引起科技界的广泛关注。1985 年 Deutsch 指出,利用量子态的相干叠加性可以实现并行的量子计算。1994 年 Shor 提出大数因子分解的量子算法,此算法可在量子计算机上以多项式时间实现,它使 NP 问题变成 P 问题。2002 年,Kuk-Hyun Han 等提出量子进化算法(Quantum-InspiredEvolutionary Algorithm, QEA),它是一种基于量子计算原理的概率优化方法。它以量子计算的一些概念和理论为基础,用量子位编码来表示染色体,用量子门作用和量子门更新来完成进化搜索,具有种群规模小而不影响算法性能、同时兼有“勘探”和“开采”的能力、收敛速度快和全局寻优能力强的特点[]
9。量子蚁群算法(Quantum Ant Colony Algorithm ,QACA )则将量子计算和蚁群算法相结合,把量子计算中的态矢量和量子旋转门引入到蚁群算法中,加快了算法的收敛速度。量子蚁群算法已成功地求解许多组合优化问题,文献[10]使用量子蚁群算法对0-1背包问题(0/1 knapsack problem )进行求解,并用数值试验说明了算法的有效性。文献[11]利用量子计算
的并行性,将量子蚁群算法用于求解多任务联盟问题,并取得了较好的结果。文献[12]中分析了量子蚁群算法的优缺点,提出一种新的量子蚁群算法用于求解小规模旅行商问题(Traveling Salesman Problem ,TSP ),但对于求解较大规模问题时,该算法易陷入局部最优和停滞状态。 针对量子蚁群算法求解TSP 问题的不足,本文提出一种混合量子蚁群算法(Hybrid Quantum Ant Colony Algorithm ,HQACA ),该算法设计了一种新的变换邻域准则来对求得的解进行优化,扩大解的搜索空间,改善种群信息结构,避免搜索陷入局部最优。对国际通用的TSPLIB 中部分实例进行了实验, 并将该算法与目前比较常用的一些算法进行了比较, 仿真结果表明该算法具有更好的收敛速度和求解精度。
2 TSP 简述
直观地说,TSP 问题就是指一位商人,从自己的家乡出发,希望能找到一条最短路径,途径给定的城市集合中的所有城市,最后返回家乡,并且每个城市都被访问且仅访问一次。形式上,TSP 问题可以用一个带权完全图G=(N,A)来描述,其中N 是城市的结点集合,A 是所有边的集合。每一条边(),i j A ∈都分配一个权值ij d ,它代表城市i 与j 之间的距离大小,其中
,i j N ∈。在非对称TSP 中,一对结点i,j 之间的距离与该边的方向有关,也就是说,至少存
在一条边(),i j ,有ij ji d d ≠。在对称TSP 中,集合A 中所有的边都必须满足ij ji d d =。TSP 的目标就是寻找图中的一条具有最小成本值的哈密尔顿回路,这里的哈密尔顿回路是指一条访问图G 中的每一个结点一次且仅一次的闭合路径。这样,TSP 的一个最优解就对应于结点标号为{}1,2,...,n 的一个排列π,并且使得长度()f
π最小。()f π的定义为:
()1()(1)()(1)1
n i i n i f d d πππππ-+==+∑ (1)
求解TSP 问题最直接同时也是最精确的方法就是穷举搜索,将n 个城市的任意排列看作一个有序表,它决定了所访问的城市的顺序,旅行商从某个城市出发,然后历经所有城市直至到出发城市,每个有序表都对应一个路径长度总耗费,由于每一条路径可能用2n 种不同表示方法,而n 个城市排列数为n!,因此搜索空问大小为()!21!2S n n n ==-。穷举搜索算法就是计算()1!2n -个不同的有序表的耗费,其中最小耗费对应的旅行路经就是TSP 的解,随着城市数目的不断增加,求解空间将呈指数级增长,通过穷举法根本无法求解,因此用优化算法解决TSP 就十分必要。目前, 求解 TSP 问题的算法较多, 最常用的方法主要有神经网络算法、蚁群算法、启发式搜索法、遗传算法、模拟退火算法和量子算法等。这些算法在求解TSP 时有各自的优点和缺陷,有的运算快但易于收敛到局部最优解,有的求解精度高但收敛速度较慢,有的求解城市规模较小等,针对以上算法的不足,本文使用一种混合量子蚁群算法来求解TSP 。
3 混合量子蚁群算法(HQACA )
3.1 量子信息编码
在经典计算中,采用 0 和 1 二进制表示信息,称为比特。在量子信息论中,信息的基本存储单元是量子比特,或称量子位。一个简单的量子比特是一个双态系统,它的两个极化状态对应经典信息的二进制存储单元状态的 0 和 1。区别于经典比特,一个量子比特除了可以处于 0 态和 1 态之外,还可以处于它们的叠加态。