算法设计与分析实验
实验一:采用遗传算法求解 TSP 问题
学 院: 信息工程学院
班 级: 15
级计算机
2
班
学 号: 2015551239
姓 名: 王 维
实验地点: 湘潭大学信息楼
实验时间:2018
年
6
月
指导教师:邹 娟
目 录
一、实验内容........................................................................................3
二、 实验设计分析.................................................................................4
2.1 实验设计思路............................................................................4
2.2 实验算法...................................................................................4
2.3 实验流程...................................................................................5
2.4 实验的基本技术设计方案............................................................7
2.5 数据结构...................................................................................7
2.6 实验输入输出............................................................................8
2.7 实验设计语言............................................................................9
三、实验主要源代码及分析说明...............................................................9
四、实验结果及分析............................................................................13
一、实验内容
问题:给定平面上 20 个点的名称与坐标,两个点之间的距离为它们的欧
几里得距离。求一条路径,刚好经过每个点 1 次,使其路径长度最短。
参数设定如下:
种群大小:M=50
最大代数:G=1000
交叉率:pc=1(交叉率为 1 能保证种群的充分进化)
变异率:pm=0.1(一般而言,变异发生的可能性较小)
在该问题中,每一条路径就是所谓的染色体(解的编码),每条路径的长
度就是该个体的适应性(路径长度越短,适应性越强)。交叉操作就是选择两
条路径,取一个分界点 k,将两条路径分别以分界点 k 分成前后两段,并且将
两条路径重新组合得到新的两条路径。这里的交叉操作蕴含了变异操作,但是
能够让子代继承父代的优良特性。变异操作也是实现群体多样性的一种手段,
也是全局寻优的保证,具体实现为,按照给定的变异率,对选定的变异的个体,
随机的选取三个整数 u。
二、 实验设计分析
2.1 实验设计思路
遗传算法(Genetic Algorithms,简称 GA)是一种基于自然选择原理和自然
遗传机制的搜索(寻优)算法,它是模拟自然界中的生命进化机制,在人工系统
中实现特定目标的优化。遗传算法的实质是通过群体搜索技术,根据适者生存
的原则逐代进化,最终得到最优解或准最优解。它必须做以下操作 :初始群体的
产生、求每一个体的适应度、根据适者生存的原则选择优良个体、被选出的优
良个体两两配对,通过随机交叉其染色体的基因并随机变异某些染色体的基因
后生成下一代群体,按此方法使群体逐代进化,直到满足进化终止条件。
2.2 实验算法
1. 根据具体问题确定可行解域,确定一种编码方法,能用数值串或字符串
表示 可行解域的每一解。
2. 对每一解应有一个度量好坏的依据,它用一函数表示,叫做适应度函数。
3. 确定进化参数群体规模 M,交叉概率 pc、变异概率 pm、进化终止条件。
表 2 列出了生物遗传概念在遗传算法中的对应关系: