8.4.1 遗传算法的基本概念
由于优化问题所涉及的影响因素很多,其解空间较大,解空间中参变量与目标值之间的关系又非常复杂。如果采用随机抽取定义域中几组参变量的办法来搜索最优解,难度非常大。这时需要特殊的优化技术,遗传算法就是一种较为有效的搜索技术。
遗传算法的基本思想是从一组随机产生的初始解,即“种群(population)”开始进行搜索,每个种群则由经过基因编码的一定数目的个体组成,一个个体就是问题的一个解,即“染色体”。初始种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解。在每一代,根据问题域中个体的适应度(fitness)来挑选个体,适应值大的染色体被选择进入下一代的几率高;下一代中的染色体借助于自然遗传学的遗传算子(genetic operators)进行组合交叉和变异,产生出代表新的染色体。经过若干代之后,算法收敛于最好的染色体,该染色体就是问题的最优解或近似最优解。
遗传算法包含遗传与进化两种运算过程,遗传运算模拟了基因在每一代中产生新后代的繁殖过程,包括交叉和杂交两个过程;进化运算是通过竞争不断更新种群的过程。其运行过程归纳如下:
(1)产生初始种群。(https://www.daowen.com)
(2)以适应度函数对染色体进行评价。
(3)选择高适应值的染色体进入下一代。
(4)通过遗传、变异产生新的染色体。
重复第(2)~第(4)步,直到达到预定的进化代数。