实验六遗传算法求解TSP问题实验Word格式文档下载.docx

上传人:b****6 文档编号:18868779 上传时间:2023-01-01 格式:DOCX 页数:19 大小:167.15KB
下载 相关 举报
实验六遗传算法求解TSP问题实验Word格式文档下载.docx_第1页
第1页 / 共19页
实验六遗传算法求解TSP问题实验Word格式文档下载.docx_第2页
第2页 / 共19页
实验六遗传算法求解TSP问题实验Word格式文档下载.docx_第3页
第3页 / 共19页
实验六遗传算法求解TSP问题实验Word格式文档下载.docx_第4页
第4页 / 共19页
实验六遗传算法求解TSP问题实验Word格式文档下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

实验六遗传算法求解TSP问题实验Word格式文档下载.docx

《实验六遗传算法求解TSP问题实验Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验六遗传算法求解TSP问题实验Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。

实验六遗传算法求解TSP问题实验Word格式文档下载.docx

适应度评分函数,为给定假设赋予一个评估分数

Fitness_threshold:

指定终止判据的阈值

p:

群体中包含的假设数量

r:

每一步中通过交叉取代群体成员的比例

m:

变异率

初始化群体:

P←随机产生的p个假设

评估:

对于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个元素表示城市编码,最后一个元素表示这一路径的长度。

城市的位置可以手动输入,使用一个N×

N矩阵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)];

自学习过程

计算新生成的种群中每个个体的适应度

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

图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-8-4-2或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-5-4-8-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-6-2-9

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-4-7-8

546

0.65

33.7003

30.9371

5-4-8-7-3-1-9-2-6-0

596

0.7

32.0927

29.9502

571

0.75

32.4488

30.3699

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-8-7-4

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

32.093

30.2568

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

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-1-9

438

32.3752

30.2211

2-9-1-3-8-7-4-5-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

434

32.4238

30.785

1-3-8-7-4-0-5-6-2-9

432

31.8928

30.2451

475

31.6135

30.3471

9-1-3-8-7-4-5-0-2-6

327

29.662

33.2392

31.1585

2-9-1-3-7-8-4-0-5-6

314

32.0387

30.4152

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):

●最大迭代步数(GENERATIONS):

●交叉概率(PC):

●变异概率(PM):

a.变异类型:

表1-4两点互换变异程序结果

序号

1

30.4229

29.0891

6-2-0-5-4-7-8-3-1-9

1199

2

31.1417

28.9841

1678

3

30.4228

29.0604

1940

4

30.3703

28.8787

1756

31.0619

29.0755

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-7-8

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

1541

13

32.0255

29.0789

14

31.516

28.8906

1345

29.0226

1377

16

30.4081

28.9081

1853

17

29.3316

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

1311

平均值

27.3361

30.8782

29.1877

 

1657

b.变异类型:

插入变异

表1-5插入变异程序结果

31.4753

28.8453

1388

28.9168

1355

29.6631

28.902

1637

30.5241

29.5119

4-5-0-6-2-9-1-3-7-8

1164

31.0575

29.4682

1245

28.5546

1222

30.8205

29.748

3-1-9-2-6-0-5-4-8-7

1148

29.3907

1742

30.423

28.6878

2064

28.72

1518

29.3282

1240

30.523

28.5544

1204

29.0508

1734

31.1177

29.5905

1532

29.1904

1483

28.8061

1282

31.7639

29.4591

1485

29.1614

28.5974

1507

28.8036

1234

27.18862

30.6465

29.0643

1439

分析:

两点互换变异20次模拟中,4次得到非最优解;

而插入变异只有2次;

插入变异的最好适应度平均值比两点互换变异小0.14755,最差适应度平均值和总的适应度平均值都比两点互换下,并且在Release下,运行时间前者比后者快218.3ms。

可见在该条件下(交

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

当前位置:首页 > 高等教育 > 农学

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

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