毕业论文 旅行商问题.doc

约25页DOC格式手机打开展开

毕业论文 旅行商问题,摘要旅行商问题(travelling salesman problem,简称tsp)是一个典型的组合优化问题,并且是一个np难题,其可能的路径总数与城市数目n 是成指数型增长的,所以一般很难精确地求出其最优解,因而寻找出有效的近似求解算法就具有重要的意义。遗传算法(ga)是求解旅行商问题(tsp)的常用方法之一。针对中...
编号:20-198722大小:545.00K
分类: 论文>计算机论文

内容介绍

此文档由会员 ljjwl8321 发布

摘要
旅行商问题(Travelling Salesman Problem,简称TSP)是一个典型的组合优化问题,并且是一个NP难题,其可能的路径总数与城市数目n 是成指数型增长的,所以一般很难精确地求出其最优解,因而寻找出有效的近似求解算法就具有重要的意义。
遗传算法(GA)是求解旅行商问题(TSP)的常用方法之一。针对中国旅行商问题(CTSP),本文利用遗传算法的全局搜索能力进行组合优化问题求解,设计一种大比例的优秀个体保护的大变异遗传算法,并使用MATLAB语言进行了实际的编程求解,编程中的各个模块分别实现了选择、交叉、变异等关键环节。用编制的程序快速求解出了满足的结果,用本文设计的遗传算法的思路和编程程序是正确的。用该策略迅速找到了CTSP最优解,该路径长度为15378km,比目前已知CTSP解更优。对遗传算法迅速求解TSP最优解提供了可行解决方案。



关键词:遗传算法;CTSP;最短路径;MATLAB






















Abstract
The 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 global 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 MATLAB简介与特点 10
3.1 MATLAB简介 10
3.2 MATLAB的特点 10
4 用MATLAB求解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 变异算子 16
4.5.1 变异概率的选择 16
4.5.2 变异算法实现 17
4.6 路径输出 17
5 实验结论及分析 19
5.1 实验结论 19
5.2 需要进一步解决的问题 20
致 谢 21
主要参考文献 22