1 / 7
文档名称:

基于遗传算法求解tsp问题实验报告.doc

格式:doc   大小:234KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于遗传算法求解tsp问题实验报告.doc

上传人:hnxzy51 2020/12/4 文件大小:234 KB

下载得到文件列表

基于遗传算法求解tsp问题实验报告.doc

相关文档

文档介绍

文档介绍:基于遗传算法求解TSP问题
班级,学号,
摘要:巡回旅行商问题(TSP)是一个组合优化方面的问题,从理论上讲,使用穷举法不但可以求解TSP问题,而且还可以得到最优解。但是,利用穷举法所耗费的时间巨大的,当问题的规模很大时,穷举法的执行效率较低,不能满足及时的需要。
遗传算法是计算机科学人工智能领域中用于解决最优化的一种搜索启发式算法,是进化算法的一种。该算法通过模拟生物学交叉、变异等方式,是当前向最优解的方向进化,因此使用于TSP问题的求解。
关键词:人工智能;TSP问题;遗传算法
本组成员:林志青,会雯,昊罡
本人分工:掌握遗传算法的基本原理,编写遗传算法中部分匹配交叉、循环交叉和循序交叉的具体实现过程。
1 引言
旅行商问题,即TSP问题,是一个最优解的求解问题。假设有n个城市,并且每个城市之间的距离已知,则如何只走一遍并获得最短路径为该问题的具体解释。
对于TSP问题的解决,有穷举法、分支限界法等求解方式,该文章主要介绍遗传算法求解过程。
遗传算法简称GA,在本质上是一种求解问题的高效并行全局搜索方法。遗传算法从任意一个初始化的群体出发,通过随机选择、交叉和变异等遗传操作,使群体一代一代的进化到搜索空间中越来越好的区域,直至抵达最优解。
在遗传算法中,交叉操作为主要操作之一,包括部分匹配交叉、循环交叉和顺序交叉等。
2 算法原理与系统设计
执行遗传算法,根据需要设定相应的交叉因子、变异因子和迭代次数,并选择相应的交叉算法,当程序图形显示并运算时会得到当前的最优解,判断是否获得最终的最优解,若已得到所需结果,则停止运行,否则继续执行。具体流程图如下所示:
部分匹配交叉(PMX):先随机生成两个交叉点,定义这两点间的区域为匹配区域,并交换两个父代的匹配区域。如下图所示:
父代A:872 | 130 | 9546 
父代B:983 | 567 | 1420 
交换后变为: 
temp A: 872 | 567 | 9546 
temp B: 983 | 130 | 1420 
对于 temp A、tempB中匹配区域以外出现的数码重复,要依据匹配区域的位置逐一进行替换。匹配关系:1<——>5 3<——>6 7<——>0
 子代A:802 | 567 | 9143
 子代B:986 | 130 | 5427 
顺序交叉法(OX):从父代A随机选一个编码子串,放到子代A的对应位置;子代A空余的位置从父代B中按B的顺序选取(与己有编码不重复)。同理可得子代B,如下所示:
父代A: 872 | 139 | 0546
 父代B: 983 | 567 | 1420 
交叉过程:对于父代A,选择139进行遗传到下一代,其余部分从父代B中按照顺序随机选取,且不能和1、3、9数字相同,放到子代的对应位置,得到下一代。
交叉后: 
子代A: 856 | 139 | 7420 
子代B: 821 | 567 | 3904 
循环交叉法(CX):根据父代中的相应位置的基因得到相应的循环因子,该循环因子为子代的一部分,其余的因子从另一个父代中查找,找到不同于循环因子的基因并放到子代的对应位置,形成新的子代。
父代A:1 2 3 4 5 6 7 8 9 
父代B:5 4 6 9 2