【计算智能】关于遗传算法解决TSP城市问题的初步学习

本文探讨了遗传算法在解决旅行商问题(TSP)中的应用,通过改变种群规模、城市数量、交叉概率和变异概率等参数,分析了它们对算法性能的影响。实验结果显示,种群规模为100时得到较优解,交叉概率为0.8和变异概率为0.05时表现良好,但过大或过小的参数可能导致算法效率降低或解的质量下降。
摘要由CSDN通过智能技术生成

概述

遗传算法

遗传算法的基本思想是从初始种群出发,采用优胜劣汰、 适者生存的自然法则选择个体,并通过杂交、变异来产生新
一代种群,如此逐代进化,直到满足目标为止。遗传算法所 涉及到的基本概念主要有以下几个:
•种群(Population):种群是指用遗传算法求解问题时, 初始给定的多个解的集合。遗传算法的求解过程是从这个子 集开始的。
•个体(Individual):个体是指种群中的单个元素,它通常由一个用于描述其基本遗传结构的数据结构来表示。例如,
可以用0、1组成的长度为l的串来表示个体。
• 染色体(Chromosome):染色体是指对个体进行编码后
所得到的编码串。染色体中的每1位称为基因,染色体上由若干个基因构成的一个有效信息段称为基因组。 •
• 适应度(Fitness)函数:适应度函数是一种用来对种群中 各个个体的环境适应性进行度量的函数。其函数值是遗传算法实现优胜劣汰的主要依据 .
• 遗传操作(Genetic Operator):遗传操作是指作用于种 群而产生新的种群的操作。标准的遗传操作包括以下3种基本形式:
–选择(Selection)
– 杂交(Crosssover)
– 变异(Mutation)

TSP问题描述

TSP问题(Traveling Salesman Problem,旅行商问题),由威廉哈密顿爵士和英国数学家克克曼T.P.Kirkman于19世纪初提出。问题描述如下:
有若干个城市,任何两个城市之间的距离都是确定的,现要求一旅行商从某城市出发必须经过每一个城市且只在一个城市逗留一次,最后回到出发的城市,问如何事先确定一条最短的线路已保证其旅行的费用最少?(来源 百度百科 )

参数测试

== 保存随机生成的城市坐标,保证除测试的变量外其余变量均不变 ==

%%生成城市的坐标
%%pos=randn(N,2);
%%save city.mat pos;
load('city.mat');
种群规模
唯一参数改变,其余参数不变

1.M=50
在这里插入图片描述
在这里插入图片描述
迭代第2000次
minlen=2.144476e+01
8 9 14 1 19 16 2 10 24 22 25 5 21 15 23 18 12 13 4 6 7 11 17 3 20

2.M=75
在这里插入图片描述
在这里插入图片描述
minlen=2.021244e+01
2 10 24 12 18 15 20 8 9 14 22 1 19 16 25 5 21 23 13 17 3 11 4 7 6

3.M=100
在这里插入图片描述
在这里插入图片描述
迭代第2000次
minlen=1.919703e+01
25 5 21 18 23 15 20 3 17 11 7 6 4 13 10 2 24 8 9 14 12 22 1 19 16

4.M=125
在这里插入图片描述
在这里插入图片描述迭代第2000次
minlen=2.011393e+01
9 14 22 25 5 21 23 15 20 3 17 11 7 6 2 10 4 13 24 19 16 1 12 18 8 4

5.M=150
在这里插入图片描述
在这里插入图片描述
迭代第2000次
minlen=2.072737e+01
1 25 5 21 23 15 20 3 17 13 10 4 11 7 6 2 16 19 12 18 8 24 9 14 22

结论

依据以上实验结果得出,随着种群规模不断增大,算法的收敛时间也随之增加;而最短距离出现了先增加后减少的情况,即五次实验中,M=100时的解得到是较为优的解。
经查阅资料得:
种群规模较小时,收敛速度快,但容易出现近亲交配,产生病态基因。而且造成有效等位基因先天缺失,即使采用较大概率的变异算子,生成具有竞争力高阶模式的可能性仍然核销,况且大概率变异算子对已有模式的破坏作用极大。同时,遗传算子存在随机误差,妨碍小群体中有效模式的正确传播,使得种群进化不能按照模式定理产生所预期的期望数量。
​ 种群规模太大,全局搜索的能力提高,但运行效率过慢导致难以收敛且浪费资源,稳健性下降。

城市个数
唯一参数改变,其余参数不变

1.N=15
在这里插入图片描述
在这里插入图片描述
2.N=25
在这里插入图片描述
在这里插入图片描述

3.N=50
在这里插入图片描述
在这里插入图片描述
4.N=75
在这里插入图片描述
在这里插入图片描述
5.N=100
在这里插入图片描述
在这里插入图片描述

结论

如上实验结果可以看出,随着城市数量的增加,算法的运行时间不断增强。所以,当城市数量非常多时,运行时间可能会非常长。

交叉概率
唯一参数改变,其余参数不变

1.Pc=0.3
迭代第2000次
minlen=2.450808e+01
7 15 22 12 10 3 13 16 17 2 4 14 8 25 6 21 11 1 5 9 18 24 20 19 23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值