chapter遗传算法TSP问题.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第?章 基于遗传算法的TSP问题 ?.1 案例背景 ?.1.1 城市垃圾收运路线城市垃圾自其产生到最终被送到处置场处理,需要环卫部门对其进行收集与运输,这一过程称为城市垃圾的收运。某城市垃圾收运过程如下: 城市有有27处垃圾收集点,中转站垃圾车从垃圾中转站出发,经过每个垃圾点清理垃圾,针对中给出的垃圾中转站收集点数据,求垃圾车收运最短路线。 X(feet) Y(feet) Stop_Type 0 -4817796 4132062 2 1 -4840890 4181069 1 2 -4848260 4201545 1 3 -4846395 4201227 1 4 -4846328 4201235 1 5 -4854754 4198649 1 … … … … 273 -4867524 4199504 1 274 -4874120 4198840 1 275 -4878620 4204190 1 276 -4876484 4197661 1 注: Stop_ID:收集点编号,XY分别为该点的坐标,单位feet;Stop_Type:收集点类型(1:垃圾收集点,2:垃圾中转站)垃圾收集点两点之间距离Manhattan距离( )。 TSP问题即旅行商问题,已知n个城市之间的相互距离,现有一个推销员必须遍访这n个城市,并且每个城市只能访问一次,最后又必须返回出发城市,如何安排访问次序使旅行路线的总长度最短。TSP问题是一个典型的组合优化问题,TSP问题是一个NP问题其可能的路径数目与城市数目n是成指数型增长的,所以一般很难精确地求出其最优解。 TSP问题的有效算法,参考中国邮递员问题对遗传算法进行改进以适应本模型约束的要求遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法,是由美国的J.Holland教授1975年首先提出,在组合优化、机器学习、信号处理、自适应控制和人工生命等领域有广泛的应用。其做法是把问题参数编码为染色体再利用迭代的方式进行选择、交叉以及变异等运算来交换种群中染色体的信息最终生成符合优化目标的染色体。实践证明遗传算法对于解决TSP 问题等组合优化问题具有较好的寻优性能。 遗传算法的主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定,具有内在的隐并行性和更好的全局寻优能力,采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。 遗传算法流程图 图?-1 BP遗传算法一般流程图 遗传算法的基本运算过程 ()初始化设置进化代数计数器t=0,设置最大进化代数T随机生成M个个体作为初始群体P(0)。 (个体评价计算群体P(t)中各个个体的适应度。 (选择运算将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代 (交叉运算将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。 (变异运算 将变异算子作用于群体。即是对群体中的个体串的某些基因值作变动。群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t1)。 (终止判断若t T则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。 2.模型建立 采用遗传算法解决该问题的过程如下: ()编码常用的编码方式有二进制编码、浮点数编码和混合编码等等。此处使用十进制编码。 ()初始化种群大小为n,初始化产生n277路径矩阵(MATLAB中利用randperm(m)产生m个不重复1~m的数)。 ()适应值函数常用的适应值函数有f(x)、-f(x)max- f(x)、f(x)-min等等。 (?-1) 其中Fitness为适应值f (x)为路径长度;max、min分别为目前为止最大和最小路径长度m为适应值归一化加速指数。 ()选择遗传操作包括选择、交叉和变异三种基本形式选择是从当前群体中选出优良个体参与后续的遗传操作。常用方法有轮盘赌选择法、随机遍历抽样法、局部选择法等等。采用若fitness=alpharandalpha为保护指数rand为随机数。 ()交叉 交叉是把两个父个体的部分结构加以替换重组而生产新个体的操作,将优良基因遗传给下一代,达到种群进化目的。常用的交叉方法单点交叉、多点交叉、均匀交叉、部分匹配交叉等等。采用部分匹配交叉。 对于下面两个父个体的表示,随机地选择两个交叉点|”。 p1(1 2 3 | 4 5 6

文档评论(0)

ipad0b + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档