适应度函数构造适应度函数的作用适应度函数设计要求几种常见的适应度函数适应度函数的尺度变换一种适应度函数的改进适应度函数的作用在选择操作时会出现一下问题①在遗传进化初期,通常会产生一些超常个体,若按比例选择法,这些一场个体因竞争力太突出而控制了选择过程,影响算法的全局优化性能。②在遗传算法后期,即算法接近收敛时,由于种群中个体适应度差异较小时,继续优化的潜能降低,可能获得某个局部最优解。在研究自然界中生物的遗传和进化现象时,生物学家使用适应度这个术语来度量某个物种对于其中生存环境的适应程度。对生存环境适应程度较高的物种将有更多的繁殖机会;而对生存环境适应程度较低的物种,其繁殖机会就相对较少,甚至会逐渐灭绝。与此类似,遗传算法中也使用适应度这个概念来度量群体中各个个体在优化计算中有可能达到或接近于或有助于找到最优解的优良程度。适应度较高的个体遗传到下一代的概率就较大;而适应度较低的个体遗传到下一代的概率就相对小一些。度量个体适应度的函数成为适应度函数(FitnessFunction)。基本遗传算法按个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体的机会多少。为正确计算这个概率,这里要求所有个体的适应度必须为正数或零,这样,根据不同种类的问题,必须预先确定好目标函数值到个体适应度之间的转换规则,特别是要预先确定好当前目标值为负数时的处理方法。适应度函数是由目标函数变换而成!!适应度函数的设计要求(1)单值,连续,非负,最大化(2)合理,一致性(3)计算量小(4)通用性强几种常见的适应度函数1.直接以待求解的目标函数转化为适应度函数,即:若目标函数为最大化问题若目标函数为最小问题()()FitXfX()()FitXfX2.若目标函数为最小问题,则其中为的最大值估计;max()()0CfXFitX,max()fXC其他maxC()fx若目标为最大问题,则式中为的最小值估计。min()fXC其他min()()0fXCFitXminC()fx3.若目标函数为最小问题若目标函数为最大问题这种方法与第二种方法类似,为目标函数界限的保守估计值。1()1()FitXcfX0,c()0cfX()0cfX0,c1()1()FitXcfXc适应度函数的尺度变换1.线性变换法上式中为变换后的适应度函数,式中各系数确定方法有多种,但要满足一下条件:①原适应度的平均值要等于定标后的适应度平均值,以保证适应度为平均值的个体在下一代的期望复制数为1,即:'()FFitX'F'avgavgFFit②变换后的适应度最大值应等于原适应度平均值的指定倍数,以控制适应度最大的个体在下一代的复制数,试验表明,指定倍数可在1.0--2.0范围内。根据上述条件可确定线性比例的系数:multC'maxmultavgFCFitmax(1)multavgavgCFitFitFitmaxmax()multavgavgavgFitCFitFitFitFitmultavgCFitavgFitavgFitminFitmaxFit()FitX'()FXmax(1)multavgavgCFitFitFitmaxmax()multavgavgavgFitCFitFitFitFit线性变换法变换了适应度之间的产局,保持了种群内的多样性,并且计算简便,易于实现,若种群内某些个体适应度远远低于平均值时,有可能出现变换后适应度值为负的情况。为此,考虑到保证最小适应度值非负的条件,进行如下的变换minavgavgFitFitFitminminavgavgFitFitFitFit'()FXmultavgCFitavgFitminFitavgFitmaxFit()FitX0适应度出现负值'()FXmultavgCFitavgFitminFitavgFitmaxFit()FitX0适应度出现负值时的变换minavgavgFitFitFitminminavgavgFitFitFitFit2.幂函数变换上式中的幂指数与所求的最优化问题有关,结合一些试验进行一定程度的精细变换才能获得较好的结果。'()()kFXFitXk3.指数变换法这种变换的基本思想来源于模拟退火过程(simulatedannealing,SA),其中系数决定了复制的强制性,其值越小,复制的强制就越趋向于那些具有最大适应度的个体。'()()aFitXFXea4.Goldberg线性拉伸变换max'maxmax(1)()()multavgmultavgavgavgavgCFitFitCFitFXFitXFitFitFitFitFit一种适应度函数的改进式中称为非线性适应度函数;取不大于A的整数值;F(X)为无约束优化后的目标函数;m=1+lnN,N为设定的最大进化代数;n为当前进化代数。因为本式中的适应度函数可以动态调整个体的适应度,再者考虑个体的位串长度以及运算消耗,设定最大进化代数为200。*()()mnFXFX*()FXA以典型的遗传算法测试函数Schaffer函数F6为例,比较验证其可行性。F6具体形式为:其局部最优点有很多,最优点是222121222212sin0.5min6(,)0.510.001*xxfxxxx6(0,0)0f-10-50510-10-5051000.20.40.60.81xyz补充:1.适应度函数的自相关性分析;2.模拟退火(过程)算法;3.(无)约束优化;