遗传算法毕业论文.docx

上传人:b****3 文档编号:1931319 上传时间:2022-10-25 格式:DOCX 页数:32 大小:337.84KB
下载 相关 举报
遗传算法毕业论文.docx_第1页
第1页 / 共32页
遗传算法毕业论文.docx_第2页
第2页 / 共32页
遗传算法毕业论文.docx_第3页
第3页 / 共32页
遗传算法毕业论文.docx_第4页
第4页 / 共32页
遗传算法毕业论文.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

遗传算法毕业论文.docx

《遗传算法毕业论文.docx》由会员分享,可在线阅读,更多相关《遗传算法毕业论文.docx(32页珍藏版)》请在冰豆网上搜索。

遗传算法毕业论文.docx

遗传算法毕业论文

遗传算法毕业论文

Title:

TSPAlgorithmBasedonGeneticAlgorithmorSimulatedAnnealingAlgorithmforSolvingtheShortestJourneyof10Cities

Abstract:

TSPproblemisaclassicNPproblemaboutcombinatorialoptimization.ThisarticletakesatravelagencylookingfortheshortesttripoftentouristcitiesinChina-Zhuhai,Xi'an,Hangzhou,Lhasa,Beijing,Lijiang,Kunming,Chengdu,LuoyangandWeihaiforinstance,andsolvesthisproblembyTSPalgorithmbasedongeneticalgorithmandsimulatedannealingalgorithm.ThearticlegivestheimplementationsofeveryoperatorofgeneticalgorithmandsimulatedannealingalgorithmanddemonstratesthearchitectureandtheimplementationmechanismofthesolvingsystembasedonMATLAB.IprogramandoperatetheresultsbyMATLABsoftware,andcomparetheresultsbasedongeneticalgorithmandsimulatedannealingalgorithm.AnddescribetheiradvantagesanddisadvantagessothatchoosethemostappropriateTSPalgorithmtoachievetheoptimalsolutionfortheshortestpath.

Keywords:

geneticalgorithm;simulatedannealingalgorithm;TSP;theshortestpath

1引言

TSP问题为组合优化中的经典问题,已经证明为一NP完全问题,即其最坏情况下的时间复杂性随着问题规模的扩大,按指数方式增长,到目前为止不能找到一个多项式时间的有效算法.TSP问题可描述为:

已知n个城市相互之间的距离,某一旅行商从某个城市出发访问每个城市一次且仅一次,最后回到出发城市,如何安排才使其所走路线最短.TSP问题不仅仅是一个简单的组合优化问题,其他许多的NP完全问题可以归结为TSP问题,如邮路问题、装配线上的螺帽问题和产品的生产安排问题等,使得TSP问题的有效求解具有重要的意义.本文中的TSP算法主要采用遗传算法与模拟退火算法.

遗传算法是一种进化算法,其基本原理是仿效生物界中的“物竞天择,适者生存”的演化法则.遗传算法把问题参数编码为染色体,再按照所选择的适应度函数,利用迭代的方式进行选择、交叉、变异以及进化逆转等运算对个体进行筛选和进化,使适应值大的个体被保留,适应值小的个体被淘汰,新的群体继承了上一代的信息,又优于上一代,这样反复循环,直至满足条件,最后留下来的个体集中分布在最优解的周围,筛选出最优个体作为问题的解.

模拟退火算法的出发点是基于物理中固体物质的退火过程与一般的组合优化问题之间的相似性,该算法是一种优化算法,其物理退火过程由三部分组成,分别为:

加温过程、等温过程、冷却过程.其中,加温过程对应算法设定初温,等温过程对应算法的Metropolis抽样过程,冷却过程对应控制参数的下降.这里能量的变化就是目标函数,要得到的最优解就是能量最低态.Metropolis准则是SA算法收敛于全局最优解的关键所在,Metropolis准则以一定的概率接受恶化解,这样就使算法跳离局部最优的陷阱.

2问题描述

本案例为某旅行社为中国十大旅游城市,分别为珠海、西安、杭州、拉萨、北京、丽江、昆明、成都、洛阳、威海,根据全程路径最短为目的,制定最优的旅游顺序依次游玩这十个城市.这类问题就由TSP算法来解决,寻找出一条最短遍历这10个城市的路径.利用google地图找到城市坐标,下表为这十个城市的位置坐标如表2-1所示.

表2-110个城市的位置坐标

城市编号

X坐标

Y坐标

城市编号

X坐标

Y坐标

1

22.31

113.58

6

26.86

100.23

2

34.37

108.95

7

24.89

102.83

3

30.29

120.16

8

30.59

104.07

4

29.66

91.14

9

34.65

112.46

5

39.95

116.41

10

37.53

122.13

3基于遗传算法TSP算法

3.1基于遗传算法的TSP算法总体框架

TSP问题的遗传算法包括编码设计、种群初始化、适应度函数选择、终止条件设定、选择操作设定、交叉操作设定以及变异操作设定和进化逆转操作.为简化TSP问题的求解,假设每个城市和其它任意一个城市之间都以欧氏距离直接相连.遗传算法TSP问题的流程图如图2-1所示.

 

N

 

Y

 

图2-1算法流程框架图

3.2 算法的详细设计

3.2.1解空间的表示方式

遗传算法对解空间的表示大多采用二进制编码形式,但是二进制编码方式不适合TSP问题的解的表示,因为它要求特殊的修补算子来修复变化算子所产生的非法路径(即不可行路径).给出城市编号,用十进制数编码来表示解更合适,例如:

近邻表示、次序表示和路径表示等等.这里采用了最简单的路径表示法.它是最自然、最接近人类思维的表示法.因此对十大旅游城市按照珠海、西安、杭州、拉萨、北京、丽江、昆明、成都、洛阳、威海顺序依次编号为1,2,3,4,5,6,7,8,9,10,例如,下面的路径(闭合的):

5→1→2→4→3→6→7→9→8→10→5

表示从城市5出发,经过1,2,4,3,6,7,9,8,10最后回到城市5的一条路径,可以自然地用一维数组来表示:

(5,1,2,4,3,6,7,9,8,10)

10个旅游城市的TSP问题,如果将种群规模设为200,则解空间就用二维数组来表示:

Path[200][10].

3.2.2种群初始化

种群的规模选择应适当,盲目的增大种群规模不能使算法得到改进,反而大大增加了计算的开销.10个城市TSP问题,可以选择小规模的种群(例如200),种群初始化时,先产生1,2,…,10的一条规则路径,然后在这条路径中随机选两个数,将它们交换位置,这样做若干次(本文采用200次),保证这条路径变成了一条随机的路径.以这条随机路径为基础,对一些随机的位,做两两交换,这样产生了一个个体;同样地产生种群里其它的个体.

3.2.3 适应度函数

适应度表明个体或解的优劣性,不同的问题,适应度函数的定义方式也不同,本文设为一个采用整数编码的染色体,为城市到城市的欧氏距离,则该个体的适应度为:

(1)

即适应度函数为恰好走遍10个城市,在回到出发城市的总距离的倒数.优化的目标就是选择适应度函数值尽可能大的染色体,适应度函数值越大的染色体越优质,反之越劣质.求得种群中所有个体的适应值后,将适应值最大的个体保存起来,到演化完毕时,这个个体就是最后要求的最优解.

3.2.4 选择操作

选择操作的目的是为了从当前群体中以一定的概率选择优良个体到新群体中,将选择算子作用于群体,从而使优化的个体有机会直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代;个体被选中的概率与适应度值有关,适应度值越大,被选中的概率也就越大,而适应度值越大的染色体越优质.本案例选择轮盘赌法,即基于适应度比例的选择策略,个体被选中的概率为:

(2)

其中,为个体的适应度值;N为种群个体数目.

3.2.5 交叉操作

交叉操作是遗传算法中最主要的遗传操作,通过交叉操作可以得到新一代个体,新个体结合了其父辈个体的特性,交叉体现了信息交换的思想.利用不同映射杂交,确定交叉操作的父代,将父代样本两两分组,每组重复以下过程:

(1)产生两个[1,10]区间的随机整数和,确定两个位置,对两个位置的中间数据进行交叉,如,

51243679810

10623589417

交叉为:

*123589**10

10*24367*1*

(2)交叉后,对同一个个体中有重复的城市编号,不重复的数字保留,有冲突的数字(带*的位置)采用部分映射的方法消除冲突,即利用中间段的对应关系进行映射.结果为:

41235896710

10524367819

交叉是希望不同的个体在产生下一代时,能够结合各自的优势基因,产生更好质量的下一代.

3.2.6 变异操作

变异可以看作是外界对种群的影响.变异是为了引入新的因素,希望个体在外界的作用下,能够实现自我优化,生好的基因.将变异算子作用于群体.即是对群体中的个体串的某些基因位置上的基因值作变动.变异算子采用了简单的倒序变换,以10城市为例,随机的产生两个小于10的整数,对某个个体进行分割,假设,,将分割段倒序并放回原来的位置即可,如下数组所示:

51243679810

得到的新解为:

51273649810

由于这种变异算子仍能保持个体中的路径片段,即倒序前后这个切割段的路径是一样的,只是两端点与整个路径的连接颠倒了,这使得变异不是漫无边际,而是有所取舍的.这种简单反序可以保证后代仍然是一条合法途径.

3.2.7进化逆转操作

为了改善遗传算法的局部搜索能力,在选择、交叉、变异之后引进连续多次的进化逆转操作,这里的“进化”是指逆转算子的单方向性,即只有经逆转后,适应度值有所提高的才接受下来,否则逆转无效.

产生两个[1,10]区间内的随机整数和,确定两个位置,将其对换位置,例如,

51243679810

进化逆转后为:

51273649810

对每个个体进行交叉变异,然后代入适应度函数进行评估,x选择出适应值大的个体进行下一代交叉和变异以及进化逆转操作循环操作:

判断是否满足设定的最大遗传代数MAXGEN,不满足则跳入适应度值计算;否则结束遗传操作.

3.3实验结果分析

1-10的十个数字按顺序为珠海、西安、杭州、拉萨、北京、丽江、昆明、成都、洛阳、威海的编号.利用各城市坐标构成的的矩阵及初始化随机值和DrawPath函数画出闭合路径图,为优化前的随机路线轨迹图,如图3-1所示:

图3-1随机路线轨迹图

图中三角标注的数字6代表起点,依次按照箭头方向遍历,最终再次回到起点6.

初始种群中的一个随机值:

6—>3—>7—>8—>5—>1—>2—>4—>9—>10—>6

总距离:

165.2494

对照1-10数字编号所代表的的城市,随机路线为:

丽江—>杭州—>昆明—>成都—>北京—>珠海—>西安—>拉萨—>洛阳—>威海—>丽江.

优化后的最优路线图如图3-2所示:

图3-2最优路线图

最优解:

4—>6—>7—>1—>3—>10—>5—>9—>2—>8—>4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1