遗传算法最早在1965年由美国Michigan大学的J.H.Holland教授在其专著《自然系统和人工系统中的自适应》(Adaption in Natural and Artificial Systems)中提出。遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法,它把问题的参数用基因表示,把问题的解用染色体表示(二进制码基因编码表示),算法存在一个代表问题潜在解集的种群,从而得到一个由具有不同染色体的个体组成的种群。该种群由经过基因编码的染色体个体组成。每个个体携带不同的染色体,染色体作为遗传物质的主要载体表现为某种基因组合,决定了个体性状的外部表现。这个种群在问题特定的环境里生存竞争,适者有最好的机会生存和产生后代。后代随机地继承了父代的最好特征,并也在生存环境的控制支配下继续这一过程。在初代种群产生之后,按照适者生存和优胜劣汰的原理,使用选择算子、交叉算子和变异算子这三种基本遗传操作,演化产生出代表新的解集的种群。种群像自然进化一样,后代种群的染色体都将逐渐适应环境,不断演化,最后逐代演化收敛到一族最适应环境的个体,即得到问题的最优解。
从数学角度看,遗传算法是一种随机搜索算法;从工程角度看,它是一种自适应的迭代寻优过程。构成简单遗传算法的要素主要有:染色体编码、个体适应度评价、遗传算子以及遗传参数设置等。目前的遗传算法已不再局限于二进制编码,将不同的编码策略(即不同的数据结构)与遗传算法的结合称为演化规划EP(Evolution Program)。
展开