遗传算法TSP问题举例

遗传算法解决TSP问题举例

img

一、算法实现步骤

1、初始化

初始化数据:读入数据源,将坐标转换为距离矩阵(标准化欧式距离)
初始化对象:种群规模m、运行代数n、变异概率
初始化种群:生成m条路径(编码方式:符号编码)
说明:种群初始化的编码方式有多种,常见的有二进制编码、格雷码编码、实数编码和符号编码。编码方式具有启发性,缺乏理论基础来判断各种编码的好坏,常根据实际问题和经验来确定,本算法采用符号编码。

2、计算种群适应度

适应度函数f=1/〖distance(x)〗^15
说明:适应度函数会影响选择压,选择压过大,会造成几个较好的可行解迅速占满整个群体,选择压过小,会让算法变成纯粹的随机行为。本算法对适应度函数进行15次方的尺度变换,就是为了避免选择压太小,轮盘赌的选择失去意义变成等概率随机选择

3、计算累计概率

计算每个个体适应度占适应度总和的比例并计算累计概率

4、迭代

1、选择算子:运用轮盘赌选择法,与传统轮盘赌选择法不同的是,本算法不选择重复个体充当父母,即如果选择出来的个体已经被选过一次,下一次再选到它就直接抛弃。这样最后选出来的个体数量m1<=m。

2、交叉算子:从轮盘赌选择出来的父母中随机选择两个不同个体充当父母,随机产生两个变异位置,交换两个交叉点之间基因形成两个新的子代放入种群中,直到种群数量恢复到初始种群数目m

3、变异运算:对种群中的每一个个体来说,产生一个随机数,若该随机数小于变异概率即产生变异。变异的方法是在染色体上产生两个变异点,将变异点间的基因片段倒序即完成变异。

4、更新最优解。

5、将新种群复制到旧种群中,准备下一代进化(迭代)

5、实验数据

img

第一列为地点名称,第二,三列为地点的经纬度

img

地点名称
ps:程序具有泛化性,将这两个文件里的内容修改即可得到不同地方的旅游路径规划

6、初始设定

先根据经验值(种群大小:20 ~ 100,迭代次数:500,变异概率:0.0001~0.1)对初始化参数进行设定取种群大小100,迭代次数500,变异概率0.1,选择51个城市,设置方案数量为1,运行20次

7、调参

调整参数,观察实验结果随参数的变化,通过反复尝试获得51个城市路径近似最优解

img

根据实验规划得到的

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值