没有合适的资源?快使用搜索试试~ 我知道了~
首页毕业论文--普通遗传算法与佳点集遗传算法的分析与比较.doc
资源详情
资源评论
资源推荐
本科生毕业论文(设
计)
题 目: 遗传算法 在
Tsp
问题上的应用
姓 名:
学 院: 理 学 院
专 业: 计算机科学与技术
班 级:
学 号:
指导教师: 赵 靖 职称: 讲 师
2011 年 6 月 10 日
安徽科技学院教务处制
II
目 录
引言............................................................................................................................................1
1 遗传算法概论.........................................................................................................................1
1.1 遗传算法的历史和研究现状 1
1.2 遗传算法的基本原理 3
1.2.1 遗传算法基本概念...........................................................................................................................3
1.2.2 遗传算法基本原理...........................................................................................................................3
1.2.3 遗传算法的特点...............................................................................................................................3
2 普通遗传算法.........................................................................................................................4
2.1 普通遗传遗传算法思想 4
2.2 普通遗传算法的遗传操作 4
2.2.1 选择(selection)操作.....................................................................................................................4
2.2.2 交叉(crossover)操作.........................................................................................................................4
2.2.3 变异(mutation)操作...........................................................................................................................6
4 遗传算法在 TSP 问题上的应用............................................................................................6
4.1 TSP 问题概述 6
TSP 问题就是已知个城市各城市间的距离,一旅行商从某一城市出发访问每个城市一次且仅一次 ,
最后回到出发城市,如何安排才能使其所走路程最短?...........................................................................6
问 题 的 数 学 模 型 可 以 描 述 为 : 对 于 n 个 城 市 V={v
1
,v
2
,…,v
n
} 的 一 访 问 次 序 为 T=(t
1
,t
2
,…,t
n
),
t
i
V
i
(i=1,2,…,n),t
n+1
= t
1,
则问题即要求 min,其中表示城市 i 与城市 i+1 之间的距离。.................6
对于 TSP 这样的一个典型的组合优化问题,最为普通的一种解决办法就是穷举出所有可能的合法
序列,然后比较距离函数,得出最优的城市序列。这就是穷举搜索法的思想,理论上它可以解决任
何组合优化问题,但是对于 n 个城市的 TSP 问题来说,可能的合法回路有条,计算每一条路径需求 n
个距离之和,因此计算量正比于。即使使用运算速度为 10
5
亿次每秒的巨型计算机按穷举搜索法计
算 100 个城市的 TSP 问题也需要 1.4810
136
年的时间,在这里还没有考虑算法所需的巨大的存储空间,
由此可见 TSP 问题的时空复杂度之高,这就为遗传算法的应用提供了机会,下面我们就来看一求解
TSP 问题的遗传算法。....................................................................................................................................6
4.2 遗传算法求解 TSP 问题 6
4.2.1 编码与解码........................................................................................................................................6
在遗传算法中每一个个体表示成一个染色体,每一个染色体又是由一个个基因位所构成的。这样
每一个个体对象相当于生物体的表现型,而染色体就相当于生物体的基因型,从表现型到基因型的
映射称为编码。在遗传算法中最初使用的编码方法是二进制编码:每个染色体使用固定长度的
0,1 字符串表示,如:...................................................................................................................................6
4.2.2 初始化种群........................................................................................................................................7
4.2.3 适应度函数........................................................................................................................................7
4.2.4 选择算子............................................................................................................................................8
4.2.5 交叉算子............................................................................................................................................8
4.2.6 变异算子..........................................................................................................................................13
变异算子的 JAVA 实现:..............................................................................................................................13
}......................................................................................................................................................................13
4.2.7 停止准则..........................................................................................................................................13
遗传算法中的停止准则一般是设定最大代数的方式,最大代数常设为 popsize,本文采用,最大代
数与收敛情况相结合的方式来设计停止准则,判断停止准则的 JAVA 代码:......................................13
index = 0;........................................................................................................................................................13
5 TSP 问题的实验结果及分析...............................................................................................13
5.1 普通遗传算法与佳点集遗传算法的比较与分析 13
5.1.1 最优解分析......................................................................................................................................13
我们分别用佳点集遗传算法和普通遗传算法(单切点、双切点、循环交叉)对 Bayg29 个城市进行
求解,取交叉概率为 0.9,变异概率为 0.04,群体规模为 50,最大迭代代数 8000.............................13
将算法各执行 30 次,实验结果如下:.......................................................................................................13
.........................................................................................................................................................................14
图 6 遗传算法各交叉算子比较 1.................................................................................................................14
对各最优解数据作统计学处理得到下表:................................................................................................14
.........................................................................................................................................................................14
图 7 遗传算法各交叉算子比较 2..................................................................................................................14
5.1.2 算法收敛速度分析..........................................................................................................................15
参数设置同上,各算法各执行 20 次,所得结果如下:.........................................................................15
.........................................................................................................................................................................15
图 9 遗传算法各交叉算子比较 4.................................................................................................................15
由实验结果可知,佳点集交叉操作收敛的速度远不如普通交叉算子,这也是它为了避免算法收敛
到局部最优所造成的,任何解决组合优化问题的算法要想收敛到全局最优,就必须使其生成的子代
更具有多样性,但是这样就会使得算法的收敛的速度下降,佳点集遗传算法虽然收敛速度较普通算
法慢,但是其运行时间比普通遗传算法要快的多,下面我们来分析一下算法的运行时间。............15
5.1.3 算法运行时间分析.........................................................................................................................16
参 数 设 置 同 上 , 分 别 用 各 算 法 对 burma14 、 ulysses16 、 ulysses22 、 baygs29 、
att48、st70、rat99、a280 城市进行测试得到:.........................................................................................16
.........................................................................................................................................................................16
图 10 遗传算法各交叉算子比较 5...............................................................................................................16
由实验结果可以看到佳点集遗传算法运行时间远小于普通遗传算法,特别是当城市数很大的时候
表现的更加明显。..........................................................................................................................................16
总 结........................................................................................................................................16
致 谢........................................................................................................................................16
参考文献..................................................................................................................................17
II
遗传算法在 TSP 问题上的应用
计算机科学与技术
指导教师 赵靖
摘要:遗传算法(GA)模拟自然进化机制,在搜索优化问题全局或全局附近的最优解上具有较好的
鲁棒性、内在的并行性和较优越的稳定性,因而在诸如组合优化、图像处理等方面有着广泛的应用 。
但是传统的遗传算法性能很大程度上依赖于相关参数的取值与算子的作用方式,佳点集遗传算法利
用数论中的佳点集理论和方法,来改进普通遗传算法中的各相关算子,以期克服普通遗传算法收敛
速度慢,易陷入局部最优的弱点。本文在分析普通遗传算法和佳点集遗传算法机理上,利用 JAVA
语言实现了佳点集算法演示系统,通过选取不同的遗传算子来对标准 TSP 的数据集中的大量数据进
行了对比分析和验证。我们的实验结果表明对于较大规模的 TSP 组合问题佳点集的优势是非常明显
的。
关键词: Tsp 问题;普通遗传算法;佳点集遗传算法;单切点交叉算子;双切点交叉算子;
循环交叉算子;佳点集交叉算子;
引言
遗传算法 Genetic Algorithm(GA)是由美国密歇根大学的 John H. Holland 教授及
其学生于 20 世纪 60 年代末到 70 年代初提出的。它是以达尔文的自然进化论“适者生存、
优胜劣汰”和孟德尔遗传变异理论为基础,模拟生物进化过程。它具有大范围快速全局
搜索能力,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜
索过程以求的最优解。正是遗传算法的诸多特点,使得它在求解组合优化、机器学习、
并行处理等问题上得到了广泛的应用。普通遗传算法是通过模拟染色体群的选择、交
叉和变异等操作,不断迭代,最终收敛到高适应度值的染色体,从而求得问题的最优
解。 但是随着问题规模的扩大,组合优化问题的搜索空间急剧扩大,普通遗传算法的
收敛速度慢、易陷入局部最优的缺点就暴露了。而佳点集遗传算法正是通过佳点集的
方法改进交叉算子,加快算法收敛到全局最优解的速度,降低发生早熟的概率,提高
整个算法的计算效率。
1 遗传算法概论
1.1 遗传算法的历史和研究现状
早在 1967 年 Bagley 和 Rosenberg 就提出了生物遗传算法(GA)的初步思想,1975 年由
美国 Michigan 大学的 John Holland 的出色工作奠定了遗传学算法的理论基础,遗传变
异和优胜劣汰现象的优化搜索算法付诸了实际应用,这也标志着遗传算法的诞生。
到了 80 年代初期,Holland 的一些学生的毕业论文中对遗传算法的应用以及在应
用中遇到的问题进行了研究,其中有 Delong(1975)对 GA 的各种策略的性能和机理进行
了大量的细致分析与实验。与此同时 Holland 还给出了一个自适应的规则学习系统,并
于 1980 年成功地实现了这一学习系统,Holland 及其学生的研究成果使得人们开始看
到了 GA 的应用价值。1981 年 Betake 的博士论文中提出了用 Walsh 函数来研究遗传算
法的方法,Alberta 大学的 Brindle 在其博士论文中开始对选择策略进行了研究,这一时
期的研究回答了 GA 算法的到底有何意义,有何价值。也正是他们的研究使得更多的
人把目光投向了遗传算法,1985 年召开了第一届 GA 国际会议,至此以后每两年召开
1
剩余20页未读,继续阅读
luyan627
- 粉丝: 4
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0