适应度函数的选取直接影响到遗传算法的收敛速度以及能否找到最优解,因为遗传算法在进化搜索中基本不利用外部信息,仅以适应度函数为依据,利用种群每个个体的适应度来进行搜索。因为适应度函数的复杂度是遗传算法复杂度的主要组成部分,所以适应度函数的设计应尽可能简单,使计算的时间复杂度最小。
适应度函数怎么设计:
遗传算法在进化搜索中需要使用适应度函数值,而不用该函数的任何梯度信息。于是遗传算法的适应度函数不要求具有连续可微性,且其定义域可以为任意集合。对适应度函数的唯一要求是,对给定的可行解能够计算出能加以比较的非负函数值即可。在具体应用中,适应度函数的设计要结合求解问题本身的要求而定。
在许多寻优问题中,目的是求取目标函数的最小值,这要求适应度值是非负的,任何情况下希望越大越好;而目标函数值则有多种可能,并且目标函数和适应度值之间的关系也是多种多样的。
应用遗传算法有时会出现一些不利于优化的现象或结果。在遗传进化初期,通常会出现一些超常的个体。若按照比例选择策略,这些异常个体可能在群体中占很大的比例,有可能导致早熟收敛现象。显然,这些异常个体因竞争能力太强会控制选择过程,从而影响算法的全局寻优性能。此外,在遗传进化过程中,虽然群体中个体多样性尚存在,但往往会出现群体的平均适应度已接近最佳个体适应度,此时,个体间竞争力减弱,最佳个体和其它大多数个体在选择过程中有几乎相等的选择机会,从而使有目标的优化过程趋于无目标的随机漫游过程。
时间: 2024-12-10 17:03:15