遗传算法综述(四、 种群的初始化、个体适应度评估、适应度函数尺度变换)

种群的初始化

        一般情况下,遗传算法在群体初始化阶段采用的是随机数初始化方法。采 用生成随机数的方法,对染色体的每一维变量进行初始化赋值。初始化染色体 时必须注意染色体是否满足优化问题对有效解的定义。 如果在进化开始时保证初始群体已经是一定程度上的优良群体的话,将能 够有效提高算法找到全局最优解的能力。

个体适应度评估(依据适应度函数)

        个体的适应度(fitness)指的是个体在种群生存的优势程度度量,用于区分 个体的“好与坏”。适应度使用适应度函数(fitness function)来进行计算。适应 度函数也叫评价函数,主要是通过个体特征从而判断个体的适应度,适应度函 数是由目标函数变换而成。

评价一个个体的适应度的一般过程:

  1. 对个体编码串进行解码处理后,可得到个体的表现型。
  2. 由个体的表现型可计算出对应个体的目标函数值。
  3. 根据最优化问题的类型,由目标函数值按一定的转换规则求出个体的适应度。

        适应度函数的设计应做到单值、连续、非负、最大化、合理、一致性、计 算量尽可能小、通用新尽可能强等。

        例如,针对单目标优化问题:

        又或者

        这种方法可以对𝑓𝑖𝑡(𝑥)的范围进行限制。

适应度函数的尺度变换

        为了防止适应度计算的过程中适应度的值分布不合理或者难以体现个体的 特性,可以进行适应度的尺度变换调整,变换的方法包括线性变换、幂函数变 换、指数变换(类似于模拟退火)、Goldberg 线性拉伸变换。

线性变换

 上式中 F 为变换后的适应度函数,式中各系数确定方法有多种,但要满足以下条件:

  1. 原适应度的平均值要等于定标后的适应度平均值,以保证适应度为平 均值的个体在下一代的期望复制数为 1,即:

  2. 变换后的适应度最大值应等于原适应度平均值的指定倍数,以控制适 应度最大的个体在下一代的复制数,试验表明,指定倍数C_{mult}可在 1.0 - 2.0 范围内。根据上述条件可确定线性比例的系数:

        线性变换法变换了适应度之间的产局,保持了种群内的多样性,并且计算简 便,易于实现,若种群内某些个体适应度远远低于平均值时,有可能出现变换 后适应度值为负的情况。为此,考虑到保证最小适应度值非负的条件,进行如下的变换

变换前(适应度出现负值):

 变换后:

 幂函数变换

 上式中的幂指数 k 与所求的最优化问题有关, 结合一些试验进行一定程度的精 细变换才能获得较好的结果。

指数变换法

        这种变换的基本思想来源于模拟退火过程(simulated annealing, SA),其中系数 a 决定了复制的强制性,其值越小,复制的强制就越趋向于那些具有最大适应度 的个体。

        适应度函数的设计需要得当,不然很容易使得遗传算法出现欺骗现象(早 熟现象,陷入局部),具体表现在:

  1.  进化初期,个别超常适应度的个体直接控制了选择的过程;
  2.  进化后期,个体差异太小,多样性受到破坏,陷入局部峰值。

        适应度是描述个体性能的主要指标, 根据适应度的大小对个体进行优胜劣汰。对于求解有约束的优化问题时, 一般采用罚函数方法将目标函数和约束条 件建立成一个无约束的优化目标函数;然后再将目标函数作适当处理, 建立适 合遗传算法的适应度函数。

        基本遗传算法按个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体的机会多少。为正确计算这个概率,这里要求所有个体的适应度必须为正数或零,这样,根据不同种类的问题,必须预先确定好目标函数值到 个体适应度之间的转换规则,特别是要预先确定好当前目标值为负数时的处理方法。

         将目标函数转换成适应度函数一般应遵循两个原则:适应度必须非负;优化过程中目标函数的变化方向应与群体进化过程中适应度函数变化方向一致。在使用遗传算法求解具体问题时,适应度函数的选择对算法的收敛性以及收敛速 度的影响较大,针对不同的问题需根据经验或算法来确定相应的参数。

        何新贵等人在对遗传算法的研究过程中, 考虑函数在搜索点的函数值及其变化率, 并将该信息加入适应度函数, 使得按概率选择的染色体不但具有较 小的函数值, 而且具有较大的函数变化率值。实验结果表明, 这类方法的收 敛速度明显高于标准的遗传算法。陶卿等人提出基于约束区域神经网络的动态 遗传算法, 将遗传算法的全局搜索和约束区域神经网络模型的局部搜索结合起 来;利用动态遗传算法确定神经网络模型的初始点, 同时使用神经网络确定动 态遗传算法的适应度函数。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值