基于GA的TSP求解_第1页
基于GA的TSP求解_第2页
基于GA的TSP求解_第3页
基于GA的TSP求解_第4页
基于GA的TSP求解_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用第第17章章 基于基于GA的的TSP求解求解 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.1 旅行商问题分析旅行商问题分析 旅行商问题(Traveling Salesman Problem,简称TSP),也称货郎担问题,是数学领域中的著名问题之一。TSP问题已经被证明是一个NP-hard问题,由于TSP问题代表一类组合优化问题,因此对其近似解的研究一直是算法设计的一个重要问题。该问题的求解算法主要分为两类。一类是与问题特征相关的启发式搜索算法。主要有动态规划法、分支界定法等。另一类是独立

2、于问题的智能优化算法,如模拟退火法、禁忌搜索法、蚁群算法、遗传算法、粒子群算法等。本文将基于遗传算法进行TSP问题的求解。 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.2 遗传算法遗传算法算子分析算子分析 在遗传算法中,通过编码组成初始群体后,遗传操作的任务就是对群体的个体按照它们对环境适应度施加一定的操作,从而实现优胜劣汰的进化过程。从优化搜索的角度而言,遗传操作可使问题的解,一代又一代地优化,并逼进最优解。遗传操作包括以下三个基本遗传算子,选择算子、交叉算子和变异算子。17.2.1 选择算子(选择算子(selection) 从群体中选择优胜的个体,淘汰劣质

3、个体的操作叫选择。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的,目前常用的选择算子有适应度比例方法、随机遍历抽样法、局部选择法。 其中轮盘赌选择法(Roulette Wheel Selection)是最简单也是最常用的选择方法。 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.2 遗传算法遗传算法算子分析算子分析17.2.2 交叉算子(交叉算子(crossover)交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。根据编码表示方

4、法的不同分为实值重组和二进制交叉两类算法。其中实值重组(real valued recombination)可分为:(1)离散重组 (discrete recombination);(2)中间重组(intermediate recombination);(3)线性重组(linear recombination);(4)扩展线性重组(extended linear recombination)。二进制交叉(binary valued crossover)可分为:(1)单点交叉(single-point crossover);(2)多点交叉(multiple-point crossover);(3

5、)均匀交叉(uniform crossover);(4)洗牌交叉(shuffle crossover);(5)缩小代理交叉(crossover with reduced surrogate)。其中,最常用的交叉算子为单点交叉(one-point crossover)。具体操作是,在个体串中随机设定一个交叉点,实行交叉时,该点前或后的两个个体的部分结构进行互换,并生成两个新个体。 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.2 遗传算法遗传算法算子分析算子分析17.2.3 变异算子(变异算子(mutation)一般来说,变异算子操作的分两步完成。 (1)对群中所

6、有个体以事先设定的编译概率判断是否进行变异; (2)对进行变异的个体随机选择变异位进行变异。 遗传算法引入变异的目的有两个:一是使遗传算法具有局部的随机搜索能力。当遗传算法通过交叉算子已接近最优解邻域时,利用变异算子的这种局部随机搜索能力可以加速向最优解收敛。显然,此种城市的指定为一个明确的目标情况下的变异概率应取较小值,否则接近最优解的积木块会因变异而遭到破坏。二是使遗传算法可维持群体多样性,以防止出现未成熟收敛现象。此时收敛概率应取较大值。 遗传算法中,交叉算子因其全局搜索能力而作为主要算子,变异算子因其局部搜索能力而作为辅助算子。遗传算法通过交叉和变异这对相互配合又相互竞争的操作而使其具

7、备兼顾全局和局部的均衡搜索能力。 所谓相互配合,是指当群体在进化中陷于搜索空间中某个超平面而仅靠交叉不能摆脱时,通过变异操作可有助于这种摆脱。所谓相互竞争,是指当通过交叉已形成所期望的积木块时,变异操作有可能破坏这些积木块。如何有效地配合使用交叉和变异操作,是目前遗传算法的一个重要研究内容。 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.1 TSP问题定义问题定义 TSP问题从描述上来看是一个非常简单的问题,给定 个城市和各城市之间的距离,寻找一条遍历所有城市且每个城市只被访问一次的路径。并保证总路径距离

8、最短。TSP问题的数学模型表示如下:jiijijxcZmin vjixvkKxvjxvjxtsijsjiijjiijijij,1 , 01-11. ., 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.2 基于遗传算法的基于遗传算法的TSP算法框架算法框架遗传算法求解TSP的基本步骤如下:(1)种群初始化。个体编码方法有二进制编码和实数编码,在解决TSP问题过程中个体编码方法为实数编码。对于TSP问题,实数编码为1-n的实数的随机排列,初始化的参数有种群个数M、染色体基因个数N(即城市的个数)、迭代次数C、

9、交叉概率Pc、变异概率Pm。(2)适应度函数。在TSP问题中,对于任意两个城市之间的距离 已知,每个染色体(即n个城市的随机排列)可计算出总距离,因此可将一个随机全排列的总距离的倒数作为适应度函数,即距离越短,适应度函数越好,满足TSP要求。(3)选择操作。遗传算法选择操作有轮盘赌法、锦标赛法等多种方法,本程序采用基于适应度比例的选择策略,即适应度越好的个体被选择的概率越大,同时在选择中保存适应度最高的个体。(4)交叉操作。遗传算法中交叉操作有多种方法。本程序中对于个体,随机选择两个个体,在对应位置交换若干个基因片段,同时保证每个个体依然是1-n的随机排列,防止进入局部收敛。(5)变异操作。本

10、程序中对于变异操作,随机选取个体,同时随机选取个体的两个基因进行交换以实现变异操作。,D i j 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.3 TSP算法流程框图算法流程框图 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.4 固定地图固定地图TSP求解求解图17-3 30城市TSP图1 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解1

11、7.3.4 固定地图固定地图TSP求解求解图17-3 50城市TSP图1 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.5 随机地图随机地图TSP求解求解012345678910012345678910Total Distance = 86.1202, Iteration = 149图17-8 随机动态地图1 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.5 随机地图随机地图TSP求解求解图17-9 随机城市点位置0

12、12345678910012345678910城 市 位 置 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.5 随机地图随机地图TSP求解求解图17-10 城市之间的欧氏距离距 离 矩 阵 -imagesc51015202530354045505101520253035404550 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.5 随机地图随机地图TSP求解求解图17-11 TSP可行解012345678910012345678910最 短 距 离 = 62.4236 第十七章第十七章MATLAB优化算法案例分析与应用优化算法案例分析与应用17.3 基于基于GA的旅行商问题求解的旅行商问题求解17.3.5 随机地图随机地图TSP求解求解图17-12 遗传算法适应度收敛曲线010002000300040005000600070008000900010000050100150200250最 佳 适 应 度 曲 线 第十七章第十七章MATLAB优

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论