改进二进制布谷鸟搜索算法求解tsp问题.docxVIP

  • 31
  • 0
  • 约4.35千字
  • 约 7页
  • 2021-03-16 发布于天津
  • 举报

改进二进制布谷鸟搜索算法求解tsp问题.docx

改进二进制布谷鸟搜索算法求解 TSP问题 :According to the characteristics TSP problem , we design an improved TSP problem solving binary cuckoo algorithm. The algorithm uses a binary code string showing the location of the nest , the nest of the cuckoo to find a new flight path of Levi binary code conversion , this paper introduces the binary coded control coefficient transform binary coding mixed update , the paper retains the cuckoo egg method being eliminated mechanisms , and introduces greedy thought , this article will search for new and efficient cuckoo (CS) algorithm to improve a binary search cuckoo ( BCS) algorithm. The BCSalgorithm for solving TSP. By testing multiple sets of data ,compared to TSP problem of data collection catalog ( standard test set ), The results show that better than tabu search algorithm , genetic algorithm , ant colony algorithm , particle swarm optimization. Keywords:Binary ;Cuckoo search algorithm ;traveling salesman problem ; greedy algorithm 1 引言 TSP(旅行商)问题是指已知 n个城市之间的相互距离,寻 找一条遍访 n 个城市, 每个城市只访问一次。 最终又回到出发城 市的最短旅行路线。这是一个典型的组合优化问题,被证明是 NP完全问题,其所有的路线数为n,搜索空间随着城市数n的增 大而迅猛增大, 这就产生了所谓的“组合爆炸”问题。 目前还没 有一种完全有效的算法解决 TSP问题。由于TSP问题有很高的理 论价值和实际应用背景, 如何以用来解决分配、 调度和网络优化 问题等,所以人们一直致力于研究新的算法达到高效求解 TSP问 题。求解TSP问题传统的方法有穷举搜索法、贪心法、动态规划 法等,这些方法都面临着这样一个共同的问题, 即当问题的规模 N 大到一定程度时, 问题的计算量极大地超出了机器所能允许的 极限。现代流行的智能算法主要有遗传算法、郭涛算法、蚁群算 法、粒子群优化算法。 英国剑桥大学的Yang等在研究了布谷鸟的繁殖行为和莱维 飞行特性之后于 2009 年创立了布谷鸟搜索( Cuckoo Search , CS算法,并用大量的函数对其性能进行了测试,结果表明该算 法在许多方面的性能已经超过了微粒群算法和遗传算法: CS算 法具有全局搜索能力强、选用参数少、搜索路径优、多目标问题 求解能力强等优点。然而,原始的 CS算法只能用于求解连续型 的优化问题,不能用于求解离散型的优化问题如 NP完全问题。 本文将原始的CS算法改进成为二进制布谷鸟搜索(Binary Cuckoo Search,BCS算法,并应用旅行商问题(TSP。 2 TSP 问题数学描述 TSP问题(Traveling Salesman Problem ),又称旅行商问 题,每两个城市 i 和 j 之间的距离为 Dij ,城市行走的排列顺序 用数学符号表示为:X= (C1, C2,……Cn),目标函数。 3求解TSP问题的改进的二进制布谷鸟算法 3. 1 编码方法 本文提采用的解码方案如下: 采用二进制编码,设TSP问题 有 n 个城市,则用长度为 r=n*[log2n ] 个二进制位代表一个染 色体。设有一染色体的二进制编码为 T={t1 , t2 , ... tr} ,其 中 ti=0 或 ti=1 。解码时,把 T 平均分成 n 段,然后把分别每一 段看成一个二进制数还原成相应的整数, 再对这 n 个整数从小到 大排序,用相应的位置当成一条路径中的城市编号。例如,设 TS

文档评论(0)

1亿VIP精品文档

相关文档