遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。
遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。
遗传算法的一般步骤
my_fitness函数 评估每条染色体所对应个体的适应度
升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好)
从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。
抽取父母双方的染色体,进行交叉,产生 2 个子代。(交叉概率)
对子代(parent + 生成的 child)的染色体进行变异。(变异概率)
重复3,4,5步骤,直到新种群(parent_number + child_number)的产生。
循环以上步骤直至找到满意的解。
本资源包含遗传算法+matlab+原理介绍+示例源码
1