TSP-遗传算法求解

本文介绍了遗传算法的概念、步骤,并详细阐述了如何利用遗传算法求解旅行商问题(TSP)。通过编码、初始群体生成、适应度值评估、遗传算子(选择、交叉、变异)以及终止判断条件,逐步解析算法过程。文中还展示了具体代码结构和求解TSP的运行结果。
摘要由CSDN通过智能技术生成

1、遗传算法
(1)概念
遗传算法(Genetic Algorithm,简称GA)起源于对生物系统所进行的计算机模拟研究,是一种随机全局寻优化方法,它模拟了自然选择和遗传中发生的复制、交叉(crossover)和变异(mutation)等现象,从任一初始种群(Population)出发,通过随机选择交叉变异操作,产生一群更适合环境的个体,使群体进化到搜索空间中越来越好的区域,这样一代一代不断繁衍进化,最后收敛到一群最适应环境的个体(Individual),从而求得问题的优质解。
(2)步骤

第一步:染色体编码

1)编码,即把一个问题的可行解从其解空间转换到遗传算法的搜索空间的转换方法(解–>染色体
常见的编码方法有二进制编码浮点数编码符号编码、、、
例子:
在这里插入图片描述
2)解码即染色体–>解
解码公式:
在这里插入图片描述
例子:
在这里插入图片描述
第二步:初始群体的生成
设置最大进化代数T,群体大小M,交叉概率Pc,变异概率Pm,随机生成M个体作为初始化群体P0

第三步:适应度值评估检测
最大化问题,把目标函数作为适应度函数,最小化问题,把目标函数的倒数作为适应度函数

第四步:遗传算子
1)选择(selection)
选择操作从旧群体中以一定概率选择优良个体组成新的种群,个体被选中的概率跟适应度值有关,个体适应度值越高,被选中的概率越大。以轮盘赌法为例,若设种群数为M,个体i的适应度为fi,则个体i被选取的概率为:
在这里插入图片描述
2)交叉(crossover)
交叉操作是指从种群中随机选择两个个体,通过两个染色体的交换组合,把父串的优秀特征遗传给子串,从而产生新的优秀个体。
使用率最高的是单点交叉
在这里插入图片描述
3)变异(mutation)
常用的变异是单点变异
在这里插入图片描述
群体Pt经过选择、交叉、变异运算后得到下一代群体P(t+1)。

第五步:终止判断条件
终止条件有迭代次数运行时间达到目标值、、、

:M、T、Pc、Pm四个参数需要提前设定,Pc一般取为0.4~0.99,Pm一般取为0.0001-0.1,通过正交实验确定它们的最优值

(3)图解
在这里插入图片描述
2、求解TSP
同样是求解att48实例(最优解为10628)
代码结构:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值