遗传算法(Genetic Algorithm, GA)
遗传算法在有限规模种群上模拟「选择—交叉—变异—替换」的循环:适者更易被抽为父本,交叉重组、变异扰动,再用环境选择把子代/混合群体收成下一代。适合有清晰编码与适应度的问题,是群体类元启发式的代表。见 元启发式总览。(更广义的进化计算还包含进化策略、遗传规划等,本页以经典 GA 为主干。)
选择(Selection)
含义:在当前种群中,按适应度与随机规则,决定谁参与繁殖、各抽中几次(亲本选择、parent selection)。不决定「谁活到最后」——那由替换一节负责。输出是带重复的索引/个体集合,好个体期望被多抽,但不保证全体最差的从不抽中(视算子而定)。
常见算子:
- 锦标赛:在子样本里取最优作为父本之一;子样本大小 k 越大、选择压越强。实现简单、鲁棒。
- 轮盘/比例:选中的概率正比于(经线性/σ 等标度后的)适应度;负目标或尺度差异过大时需重新标定,否则早熟或差别过小。
- 排序/线性排序:用名次代替原始适应度,减轻尺度敏感;可配合期望拷贝数。
- 均匀随机(少单独用):无选择压,多在教学或与强精英策略对照时出现。
注:精英若与选择绑在一起,通常指当代最优必进下一代/必参与交叉(具体放在实现里,与替换规则对齐)。
交叉(Crossover / Recombination)
含义:对两个(或多个)父本在编码串上按切点/掩码/算术规则生成子代,使子代同时携带双亲的片段。交叉率 p_c 常表示「该对父本尝试交叉」的概率,失败则直接复制父本为子代。交叉与编码强相关,不可行子代要修或罚或专用算子。
离散二进/整数串:单点、双点、均匀交叉(位掩码决定来自父 1/父 2)。背包等需保证可行时,有时用和可行父代的交叉或修复。
排列(如 TSP):PMX(部分映射,减少非法)、OX(次序)、CX 等,保持或易修复排列约束;简单切再粘常产生重复/缺失,需修复或专用规则。
实向量:算术交叉、混合交叉(BLX-α)、模拟二进制 SBX 等,在凸组合或区间内插值,边界需截断到盒约束。
注:多父或多点变体、与问题相关的问题专用重组,文献与库实现中很多,原则仍是:子代应落在约定可行域上或带明确惩罚/修复。
变异(Mutation)
含义:对一个个体在编码上做小概率、局部改动,为种群续多样性、避免交叉长期只在子空间内重组。变异率 p_m 常按位/基因或个体定义;p_m 过大则退化为随机搜索,过小则早熟。
二进/整数串:翻位、随机摄动某一维等。
排列:对换、插入、反序等邻域型一步。
实向量:高斯/均匀小步,或只扰动部分维;有界时截断。
自适应性/动态:随代数降低/升高变异、或据群体多样性调 p_m,属实现细节,目标仍是平衡搜索与稳定。
替换(Replacement / 环境选择)
含义:在「经交叉、变异并评价后」的群体与原种群之间,决定谁成为下一代的 P(环境选择、survivor selection)。与选择的区别:选择管生谁当父母,替换管谁在下代里存活(或占坑多少)。
代际/一代一代(generational):子代全体替换 P(或仅子代中最好的 N 个成新 P),父代除精英外常不再保留。最简形式需配合精英以免 s⋆ 被偶然洗掉。
稳态/一代接一代(steady-state):每步只用一个或少数新子代替换 P 中最差或随机者,P的规模不变、更平滑的进度曲线。
μ+λ / μ,λ 式叙述:有文献用「μ 个父、λ 个子」:μ+λ 为父母与子联合取最好的 μ 个;μ,λ 为只从子里选 μ 个,不保留未选父本。经典 GA 叙述常不严格用这套符号,但思想与精英、稳态可联系阅读。
精英(elitism):当代(或历史)最优个体必进下一代或单独存档,是防好解在随机交叉变异中丢失的常用手段;精英份额过大也会减多样性。
主循环(最小化示意)
以最小化 f(s) 为例;s 为个体编码(二进串、排列、实向量等)。适应度与 f 的关系(直接用 f、取倒数/加常数防负等)须自始至终结一致,便于不同代之间比较与选择。选择、交叉、变异、替换的算子细节见上四节。
▶ 遗传算法主循环(种群 + 选择 / 交叉 / 变异 / 替换)
1. 初始化
在可行域上随机或启发式生成初始种群 P,个体数为 N,逐个评价 f。记当前种群里最优为 s⋆;设定:选择方式、交叉与变异算子、交叉率 p_c 与变异率 p_m、代际替换或稳态策略、最大代数或总适应度评价次数、可选精英保留比例等。
2. 一代迭代(重复直至终止条件)
- 选择:由当前 P 中按选择规则选出一批用于繁殖的父本(可重复选同一好个体,依锦标赛、轮盘、排序等算子;细节见上文「选择」)。
- 交叉:对父本两两或按算子配对,以交叉率 p_c 在编码上执行交叉,得子代中间集;未发生交叉时可将父本复制为子代。
- 变异:对子代个体以变异率 p_m 执行变异(如比特翻、对换、高斯微扰等),保持或修复可行性。
- 评价与替换:对子代及(若需)与父代联合评价 f;按完全代际替换、稳态只换部分个体、精英等策略组成下一代 P;若出现更优个体则更新 s⋆(细节见上文「替换」)。
3. 终止
达到预设代数/时间/总适应度评价次数、或 s⋆ 长期不改进等,则停;输出 s⋆。