1、毕业论文(设计)题 目 模拟退火算法在 TSP 问题中的应用研究 I毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计
2、(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: II学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了
3、解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日III目 录摘 要 .IIIABSTRACT.IV第一章 前言 .11.1 TSP 问题的基本概念 .11.2 模拟退火算法的背景 .11.3 发展趋势 .1第二章 相关知识介绍 .12.1 模拟退火算法的原理 .12.1.1 模拟退火的基本思想 .12.1.2 算法对应
4、动态演示步骤 .12.2 TSP 问题简述 .12.3 组合优化问题简述 .12.4 蚁群算法及其它算法原理 .12.4.1 蚁群优化算法 .12.4.2 其它优化算法 .1第三章 问题描述与算法分析研究 .13.1 应用研究整体规划 .13.2 应用开发环境 .13.2.1 开发语言 .13.2.2 开发平台 .13.3 TSP 问题的描述和分析 .13.4 模拟退火算法的分析 .13.4.1 模拟退火算法模型 .13.4.2 模拟退火算法与优化问题分析 .13.5 应用研究方案分析 .1第四章 算法具体设计与编码实现 .14.1 基于模拟退火算法求解 TSP 问题详细设计 .14.1.1
5、求解 TSP 问题的模拟退火算法及流程图 .14.1.2 算法温度的选择和变化 .14.1.3 定义坐标表的具体参数与具体实现 .14.1.4 新解的产生方法 .14.2 求解 TSP 问题的算法主体模块详细设计 .14.3 算法的具体编码实现 .1IV4.3.1 建立城市坐标文本文件 .14.3.2 DOS 下界面数据输出以及概率统计与分析 .1第五章 算法运 行分析 .15.1 运行界面图示 .15.2 运行结果 .1第六章 结束语 .1致 谢 .1参考文献 .1V摘 要TSP 问题是一个典型的 NP 完全问题,模拟退火算法是求解此问题的一种理想方法。模拟退火算法是将物理退火过程与组合优化
6、相结合在一起的一种随机迭代寻优算法,TSP 问题即旅行商问题是一个组合优化问题,该问题被证明具有NPC 计算复杂性。因此,研究模拟退化算法的基本原理及其在 TSP 问题求解中的应用受到高度的关注。本文主要阐述了模拟退火算法的原理和一些与其相关联的知识结构点。通过对其算法的原理,以及退火算法在函数优化问题上的应用,与优化组合问题的研究来了解 TSP 问题以及模拟退火算法上解决实际问题上的应用与研究。帮助理解模拟退化算法的基本原理及其在 TSP 问题求解中的应用。关键词 模拟退火算法,TSP,组合优化,C/C+,遗传算法VIABSTRACTTSP problem is a typical NP-c
7、omplete problem, using simulated annealing algorithm to solve this problem is an ideal way.Simulated Annealing Algorithm combines the process of physical annealing and combinatorial optimization together ,it is a stochastic iterative optimization algorithm, TSP problem that the traveling salesman pr
8、oblem is a combinatorial optimization problem that is shown to have NPC computational complexity. Therefore, studying the basic principles of simulated annealing algorithm and its application in problem solving TSP should have a high degree of attention.This article focuses on the principle of simul
9、ated annealing algorithm and some of the knowledge structure what associated with the first point. By studying the principle of their algorithm, simulated annealing algorithm to optimize the application function, and optimization of research to understand the problem and the simulated annealing algo
10、rithm for TSP The practical application and research. Help to understand the basic principles of simulated annealing algorithm and its application in solving TSP problems.KEY WORDS: SAA,Genetic Algorithm,Combinatorial Optimization, TSP,C/C+模拟退火算法在 TSP 问题中的应用研究 第一章 前言1第一章 前言模拟退火算法是将物理退火过程与组合优化相结合的一种随
11、机迭代寻优算法,T SP 问 题 即 旅 行 商 问 题 是 一 个 组 合 优 化 问 题 , 该 问 题 被 证 明 具 有 NPC计 算 复 杂 性 , 因 此 研究模拟退化算法的基本原理及其在 TSP 问题求解中的应用受 到 高 度 的 关 注 。因此采用模拟退火算法来解决 TSP 旅行问题是一种比较理想的方法。1.1 TSP问题的基本概念旅行商问题( Traveling Salesman Problem) 是一个NP 完全问题,目前求解 TSP 问题的主要方法有模拟退火算法、遗传算法、启发式搜索法、Hopfield 神经网络算法、蚁群算法等,还包括许多算法。TSP(Traveling
12、 salesman Problem,旅行商问题)是指给定n个城市和各城市间的距离,要求确定一条经过各个城市当且仅当一次的最短路线。它是一种典型的组合优化问题,其最优解的求解代价是指数级的。已经证明TSP问题是一个NP-hard问题。基于智能优化算法求解TSP问题,是近年来刚刚兴起的热门课题。 然而在科学管理与经济决策的许多应用领域中,现实世界存在着大量的多目标优化问题。对于旅行商问题(Traveling salesman Problem ,TSP), 实际中经常要同时考虑多个目标,如路程最短、时间最短、费用最省、风险最小等多方面的因素。目标之间往往存在冲突性。如何在多个目标中寻找一个公平、合理
13、的解是比较复杂的问题。1.2 模拟退火算法的背景模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据 Metropolis 准则,粒子在温度 T 时趋于平衡的概率为 e-E/(kT),其中 E 为温度 T 时的内能,E 为其改变量,k 为 Boltzman 常数。用固体退火模拟组合优化问题,将内能 E 模拟为目标函数值 f,温度 T 演化成控制参数 t,即得到解组合优化问题的模拟退火算法:由初始解 i 和控制参数初值 t 开始,对当前解重复“
14、产生新解 计算目标函数差 接受或舍弃” 的迭代,并逐步衰减 t 值,算法模拟退火算法在 TSP 问题中的应用研究 第一章 前言2终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值 t 及其衰减因子 t、每个 t 值时的迭代次数 L 和停止条件 S1。1.3 发展趋势TSP 的历史很久,最早的描述是 1759 年欧拉研究的骑士周游问题,即对于国际象棋棋盘中的 64 个方格,走访 64 个方格一次且仅一次,并且最终返回到起始点。TSP 由美国 RAND 公司于 1948 年引入,该公
15、司的声誉以及线形规划这一新方法的出现使得 TSP 成为一个知名且流行的问题。TSP 在中国的研究,同样的问题,在中国还有另一个描述方法:一个邮递员从邮局出发,到所辖街道投邮件,最后返回邮局,如果他必须走遍所辖的每条街道至少一次,那么他应该如何选择投递路线,使所走的路程最短?这个描述之所以称为中国邮递员问题(Chinese Postman Problem CPP)因为是我国学者管梅古教授于 1962 年提出的这个问题并且给出了一个解法。TSP 问题是一个典型的、容易描述但是难以处理的 NP 完全问题,同时TSP 问题也是诸多领域内出现的多种复杂问题的集中概括和简化形式。目前求解 TSP 问题的主
16、要方法有启发式搜索法、模拟退火算法、遗传算法、Hopfield神经网络算法、二叉树描述算法。对于用模拟退火算法对求解旅行商组合优化问题做来了在满足模拟退火算法全局收敛性的情况下,子排列反序并移位抽样方式对求解 NP 完全问题是非常有效的。 很多实际问题,经过简化处理后均可转化为 TSP 问题,对 TSP 问题求解方法的研究具有重要的应用价值。人们在努力寻找大维数最优化算法的同时,构造出了许多近似求解法,如遗传法、局部搜索算法、蚁群算法等,特别是提出了如模拟退火等用统计方法近似求解 TSP 的随机算法,为人们求解 TSP 问题开辟了新的途径。模拟退火算法在 TSP 问题中的应用研究 第二章 相关
17、知识介绍3第二章 相关知识介绍本章主要介绍一些关于模拟退火算法的原理、TSP 问题简述以及相关重要算法的原理,并且对其进行了一些细致的阐述,以便于对模拟退火算法了解。2.1模拟退火算法的原理模拟退火算法是近年来在国内外都比较受关注的算法。它的思想最早在1953 年由 Metropolis 提出,在 1983 年被 Kirkpatrick 等人成功引入组合优化领域。由于它具有很强的实用性和极佳的性能表现,迅速引起了很多专家学者的兴趣,不断对其进行研究。模拟退火算法主要应用在各种优化问题上,函数优化是其中非常重要的一个方面。NP 问题是一个比较麻烦的问题,其解的规模随问题规模的增大而成指数级增长,
18、对于一般的方法而言,当问题规模过大时,就失去了可行性。模拟退火作为一种随机算法,它的特点非常适于求解 NP 问题,比如著名的旅行商问题(Traveling Salesman Problem)。模拟退火算法在解决这类问题上有着优异的表现。2.1.1 模拟退火的基本思想模拟退火是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。模拟退火来自冶金学的专有名词淬火。模拟退火的原理也和金属退火的原理近似:将热力学的理论套用到统计学上,将搜寻空间内每一点想像成空气内的分子;分子的能量,就是它本身的动能;而搜寻空间内的每一点,也像空气分子一样带有“能量” ,以表示该点对命题的合适程度。算法先以搜寻空间内一个任意点作起始:每一部先选择一个“邻居”,然后再计算从现有位置到达“ 邻居”的概率。模拟退火算法可以分解为解空间、目标函数和初始解三部分。(1) 初始化:初始温度 T(充分大),初始解状态 S(是算法迭代的起点), 每个 T 值的迭代次数 L (2) 对 k=1, ,L 做第(3)至第 6 步: (3) 产生新解 S (4) 计算增量 t=C(S)-C(S),其中 C(S)为评价函数。