遗传算法(Genetic Algorithm,GA)是约翰·霍兰德(J.H.Holland)根据达尔文适者生存的进化原则构造出的启发型搜索算法,是进化计算中最主要的算法。遗传算法执行群体操作,以群体中的所有个体为操作对象,其主要操作是选择、交叉和变异。与传统优化方法比较,遗传算法主要有以下几个特点:
1)遗传算法的处理对象既可以是优化问题原有的某些参数的编码,也可以是有待于优化的某种结构对象的编码。这里所谓的结构对象泛指集合、序列、矩阵、树、图、链和表等各种一维或高维结构形式。这一特点使得遗传算法具有广泛的应用领域。
2)遗传算中每次迭代的作用对象是多个可行解的集合,而非单个可行解。它采用同时处理群体中多个个体的方法,即同时对搜索空间中的多个解进行评估。这一特点使遗传算法具有较好的全局搜索性能,减少了陷入局部最优解的可能性。同时这又使得遗传算法本身具有良好的并行性。(www.xing528.com)
3)遗传算法仅用适应度来评价个体,而无需搜索空间的其他知识或辅助信息。遗传算法的适应度函数不受连续可微等条件的约束,而且其定义域可以任意设定。对适应度函数唯一的要求是,对于输入能够计算出可以进行比较的输出。遗传算法的这一特点极大地拓宽了其应用范围,使之可以广泛应用于优化问题的目标函数不可微、不连续、非规则、极其复杂或无解析表达式等情形。
4)遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导它的搜索方向。遗传算法执行选择、交叉、变异等类似生物进化过程的简单随机操作,具有极强的鲁棒性。需要指出,遗传算法仅仅是把概率作为一种工具来引导其搜索过程朝着搜索空间的更优解区域移动。尽管局部地看起来它是一种盲目的搜索方法,但在整体上有明确的搜索方向。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。