实验六遗传算法求解TSP问题实验Word下载.docx
- 文档编号:21222416
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:21
- 大小:153.79KB
实验六遗传算法求解TSP问题实验Word下载.docx
《实验六遗传算法求解TSP问题实验Word下载.docx》由会员分享,可在线阅读,更多相关《实验六遗传算法求解TSP问题实验Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
对于P中的每一个h,计算Fitness(h)
当[maxFitness(h)]<
Fitness_threshold做
产生新的一代Ps:
(1)选择:
用概率方法选择P的(1-r)p个成员加入Ps从P中选择假设hi的概率用下面公式计算
(2)交叉:
根据上面给出的:
•,从P中按概率选择r(p/2)对假设.对
于每对假设<
h1,h2>
应用交叉算子产生两个后代•把所有的后代加入
Ps
(3)变异:
使用均匀的概率从Ps中选择m%的成员.对于选出的每个成员,在它表示中随机选择一个为取反
(4)更新:
P—Ps
(5)评估:
对于P中的每个h计算Fitness(h)
从P中返回适应度最高的假设
3.TSP问题的遗传算法设计与实现
对于n个城市的问题,每个个体即每个解的长度为n,用s行,t列的pop矩阵,表示初始群体,s表示初始群体的个数,t为n+1,矩阵的每一行的前n个元素表示城市编码,最后一个元素表示这一路径的长度。
城市的位置可以手动输入,使用一个NXN矩阵D存储,D(i,
j)代表城市i和城市j之间的距离。
D(i,j)二sqrt((Xi-Xj)八2+(Yi-Yj)“2。
在TSP的求解中,可以直接用距离总和作为适应度函数。
个体的路径长度越小,所得个体优越,距离的总和越大,适应度越小,进而探讨求解结果是否最优。
选择就是从群体中选择优胜个体、淘汰劣质个体的操作,它是建立在群体中个体适应度评估基础上。
这里采用方法是最优保存方法。
本实例中交叉采用部分匹配交叉策略,先随机选取两个交叉点,然后将两交叉点中间的基因段互换,将互换的基因段以外的部分中与互换后基因段中元素冲突的用另一父代的相应位置代替,直到没有冲突。
变异操作是以变异概率Pm对群体中个体串某些基因位上的基因值作变动,若变异后子代的适应度值更加优异,则保留子代染色体,否则,仍保留父代染色体。
这有助于增加种群的多样性,避免早熟收敛(非全局最优)。
判断结束准则是固定指定了迭代的次数当算法达到迭代次数时,算法
结束,输出当前的最优解。
在根据适配值计算并选择的时候,记录下来的当前最优值,在变异后加入跟新的群体,保证新的迭代循环中
TSP解越来越好(不会变差)。
在选择的一种操作是拿最优的K个替换最差的K个个体,本例是按适配值选择,并使群体数目变少,当每次变异操作后,产生随机路径补充群体是群体数目不变,再次循环,一定程度上防止因初始群体的选择问题而陷入局部最优。
4.TSP问题的遗传算法的具体步骤
解最短路径的遗传算法如下:
Generate[p(n)];
表示程序开始时要首先产生一个群体,群体个数为
n
Evaluate[p(h)];
表示计算每个个体适应度,h是种群中的一个个体
RepeatroofGenerationstimes重复下面的操作,直到满足条件为止
Selectp(h)fromp(n-1)表示从前一代群体中选择一对双亲,用于交叉、变异操作,P(n)代表第n代群体
Crossoverandmutationp(n)进行交叉和变异操作
Learning[p(n)];
自学习过程
Evaluate[p(h)]计算新生成的种群中每个个体的适应度
End;
流程图
5•遗传算法求解不同规模的TSP问题的算法性能
(1)遗传算法执行方式说明:
适应度值计算方法:
当前路线的路径长度
个体选择概率分配方法:
适应度比例方法
选择个体方法:
轮盘赌选择
交叉类型:
PMX交叉
变异类型:
两点互换变异
(2)实验模拟结果:
城市个数
时间(ms)
5
16925
10
16630
15
18833
20
22596
25
24159
30
30289
35
35239
40
38608
45
40032
50
43757
55
47746
60
58143
65
59942
70
64361
75
71417
[ILiiii
06IQt52025303540J5505S6065?
D75BQ
坡市孰罩
图1-1
(3)分析
由图1-1可知,遗传算法执行时间随着TSP问题规模的增大而增大,并且大致为线性增长。
五、不同参数下的计算结果对比
(1)种群规模对算法结果的影响实验次数:
最大迭代步数:
100
交叉概率:
0.85
变异概率:
0.15
表1-1
种群规
模
适应度值
最优路径
25.264
4-5-8-7-6-3-1-0-9-2
26.3428
2-9-1-0-3-6-7-5-8-4
25.1652
1-3-6-7-5-8-4-2-9-0
0-1-3-6-7-5-8-4-2-9
80
9-0-1-3-6-7-5-8-4-2
1-0-9-2-4-8-5-7-6-3
150
5-8-4-2-9-0-1-3-6-7
200
250
3-1-0-9-2-4-8-5-7-6
300
如表1-1所示,显然最短路径为25.1652m,最优路径为
1-0-9-1-3-6-7-5-842或3-1-0-9-2-4-8-5-7-6,注意到这是一圈,顺时针或者逆时针都可以。
当种群规模为10,20时,并没有找到最优解。
(2)交叉概率对算法结果的影响
实验次数:
种群规模:
实验结果:
表1-2
交叉概
率
最好适应
度
最差适应
平均适应
最优解
运行时
间
0.001
28.0447
36.6567
32.6002
9-2-6-0-5-4-8
7-3-1
310
0.01
27.0935
34.9943
32.1495
7-8-3-1-9-2-6
0-5-4
260
0.1
35.3033
31.9372
7-3-1-9-2-6-0
5-4-8
34.1175
31.2183
0-548-7-3-1
9-2-6
270
0.2
28.7108
33.9512
30.9035
3-1-9-2-6-5-0
4-7-8
280
0.25
35.1623
30.7456
1-3-7-8-4-5-0
6-2-9
0.3
31.9941
29.9428
8-3-1-9-2-6-0
5-4-7
290
0.35
32.8085
30.9945
9-1-3-8-7-4-5
0-6-2
0.4
32.5313
30.1534
1-3-8-7-4-5-0
279
0.45
33.2014
30.1757
456
0.5
28.0934
33.6307
30.9026
5-0-2-6-9-1-3
8-7-4
663
0.55
33.5233
29.1304
1-9-2-6-0-5-4
7-8-3
520
0.6
33.2512
30.7836
3-1-9-2-6-0-5-
546
0.65
33.7003
30.9371
548-7-3-1-9
2-6-0
596
0.7
32.0927
29.9502
571
0.75
32.4488
30.3699
0-5-4-8-7-3-1
559
0.8
32.1551
29.9382
7-4-5-0-6-2-9
1-3-8
358
34.5399
30.3594
5-0-6-2-9-1-3
360
0.9
32.6273
30.69
6-0-5-4-7-8-3
1-9-2
375
0.95
32.4672
29.919
6-2-9-1-3-8-7
4-5-0
476
(注:
红色表示非最优解)
在该情况下,交叉概率过低将使搜索陷入迟钝状态,得不到最优解
(3)变异概率对算法结果的影响
实验结果:
表1-3
变异概
29.4717
34.732
32.4911
0-6-2-1-9-3-8-7
-4-5
245
29.0446
34.6591
32.3714
8-4-5-0-2-6-9-1
-3-7
274
34.011
30.9417
5-0-2-6-9-1-3-8
-7-4
32.093
30.2568
6-0-5-4-7-8-3-1
-9-2
246
32.2349
30.3144
8-7-4-5-0-6-2-9
-1-3
282
32.718
30.1572
4-5-0-6-2-9-1-3
-8-7
30.2854
0-5-4-7-8-3-1-9
-2-6
252
33.3167
30.7748
1-3-8-7-4-5-0-6
-2-9
266
34.3705
31.3041
2-0-5-4-8-7-3-1
-9-6
362
31.374
29.6816
2-6-0-5-4-7-8-3
438
-1-9
32.3752
30.2211
2-9-1-3-8-745
-0-6
431
33.3819
30.6623
492
30.36
1-3-8-7-4-5-0-2
-6-9
417
32.7491
30.0201
3-1-9-2-6-0-5-4
-7-8
434
32.4238
30.785
1-3-8-7-4-0-5-6
432
31.8928
30.2451
1-9-2-6-0-5-4-7
-8-3
475
31.6135
30.3471
9-1-3-8-7-4-5-0
327
29.662
33.2392
31.1585
2-9-1-3-7-8-4-0
-5-6
314
32.0387
30.4152
0-5-4-8-7-3-1-9
396
31.3036
30.0067
9-1-3-7-8-4-5-0
-6-2
436
又表1-3可知,当变异概率过大或过低都将导致无法得到最优解
注:
(2)(3)的实验数据与
(1)的实验数据不同,详见附录
六、不同变异策略和个体选择概率分配策略对算法结果的影响
(1)两点互换变异与插入变异的比较:
试验次数(CASNUM):
10
城市数(POINTCNT):
种群规模(POPSIZE):
100
最大迭代步数(GENERATIONS):
®
。
交叉概率(PC):
0.85
变异概率(PM):
a.变异类型:
表1-4两点互换变异程序结果
序号
1
30.4229
29.0891
6-2-0-547-8-3
1-9
1199
2
31.1417
28.9841
4-5-0-6-2-9-1-3-
1678
8-7
3
30.4228
29.0604
0-547-8-3-1-9
2-6
1940
4
30.3703
28.8787
2-9
1756
31.0619
29.0755
7-8
1885
6
31.1589
29.3942
1936
7
29.7648
6-2-9-1-3-7-8-4
5-0
1772
8
31.3475
29.8415
4-5-0-2-6-9-1-3
1980
9
30.6143
29.059
0-6-2-9-1-3-8-7
4-5
30.5585
29.0811
9-2-6-0-5-4-7-8
3-1
1872
11
31.0171
29.4264
1517
12
29.2414
8-3
1541
13
32.0255
29.0789
14
31.516
28.8906
1345
29.0226
6-0-547-8-3-1
9-2
1377
16
30.4081
28.9081
1853
17
29.3316
7-8-3-1-9-2-6-0
5-4
1522
18
30.0203
28.5243
1601
19
31.1404
29.567
2-9-1-3-7-8-4-5
0-6
1609
29.5359
7-4-5-0-6-2-9-1
3-8
1311
平均
值
27.3361
30.8782
29.1877
1657
b.变异类型:
插入变异
表1-5插入变异程序结果
最差适
平均适
运行
应度
时间
31.475
28.845
2-6-0-547-8-3-1
-9
1388
28.916
5-0-6-2-9-1-3-8-7
-4
1355
29.663
1-9-2-6-0-5-4-7-8
28.902
-3
1637
30.524
29.511
4-5-0-6-2-9-1-3-7
-8
1164
31.057
29.468
2-6-0-5-4-7-8-3-1
1245
28.554
1222
30.820
3-1-9-2-6-0-5-4-8
29.748
-7
1148
29.390
1742
28.687
0-6-2-9-1-3-8-7-4
30.423
-5
2064
30.408
28.72
1518
29.328
4-5-0-6-2-9-1-3-8
1240
30.523
1-3-8-7-4-5-0-6-2
1204
29.050
1734
31.117
29.590
0-547-8-3-1-9-2
-6
1532
29.190
4-5-0-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 遗传 算法 求解 TSP 问题