基础概念
一个染色体 = 一个方案 流程:首先设定编码方案,使用seed+贪心seed初始化种群,进行适应度评估,轮盘or锦标赛用于选择 使用 交叉Crossover进行 繁衍, 进行基因突变,再这样 反复评估 交叉 突破 得到一组最有种群。
在一个实际项目上应用遗传算法,首先要确定编码方案 ,再者就是适应度评估公式。

选择算法
选择算法:轮盘赌选法 计算适应度后,将整个种群放置于一个轮盘上,适应度高的占比高,然后转动轮盘指针进行选择。 注:最高适应度的有可能未进入下一轮交叉Crossover,故可采取强制加入topk个适应度的个体 选择算法:锦标赛选择法 设置锦标赛规模 k ,随机从种群中选择k个,k个里面选适应度最高的,重复举办该锦标赛知道满足下一步 交叉Crossover需要的个体数量。 注:k值是关键,由此衍生出来动态调节k的动态锦标赛;随机锦标赛,选择k个后设定一定几率先排除k个中适应度最高的。
适应度评估
根据实际情况而不同
交叉
有多种方式
突变
突变的频率设定是个好问题, 有采取 低适应度高突变率,高适应度低突变率; 有采取 前期高突变率,后期反之。
注意:实际应用使可选择DEAP、Geatpy等成熟的遗传算法实现。
