所有的群体智能演化算法都属于随机概率性质的算法,算法初始设置都有诸如群体规模、演化代数等要求。具体到某一种算法来说,不同的算法都需要自身的特定控制参数。比如,遗传算法使用交叉算子和变异算子,蚁群算法使用信息素,粒子群算法使用加速权重。适当调整算法的具体参数显得十分关键,这直接影响了上述算法的性能。如果没有设置好算法的具体参数,结果就是要么增加计算量,要么产生局部最优解。
2010年,Rao R V[10]等人提出了一种TLBO(Teaching-Learning-Based Optimization)算法,初始算法设置只是控制种群规模和演化代数即可,没有其他关于算法的参数,大大减少了启发式算子的个数。算法的提出是为了解决连续非线性问题,运算时希望降低运算次数。TLBO 算法也是一种基于种群规模的算法,在这个种群中,每个个体被称为“Learner”,优化参数和优化目标分别作为“Learner”的学习内容和学习成绩。种群个体中的最优解作为“Teacher”,目的是引导其他的个体进行优化调整。
Rao R V 等[11]等指出,基本的TLBO 算法由于它依赖种群规模和迭代次数,在演化迭代的过程中,最主要的信息是需要知道种群的最优个体以及种群中的均值个体,算法的特点在于利用种群中的最优个体来引导种群的均值不断向最优值靠近,这样通过迭代的效果,使得整个种群的平均适应度得到提高。不像其他的启发式优化算法那样需要设定自己的启发因子,这也是TLBO 算法的最大优势之处。
该算法运行分为两个基本阶段:教学阶段和交流阶段。
(1)教学阶段。在这个阶段,教师作为种群中最优的个体,通过一次教学来提高整个种群的平均值。
假设种群规模为n,优化参数个数为m,迭代次数为k,种群个体的第i 个优化参数用Xi,k 表示,Mi,k 表示种群个体中关于第i个优化参数的平均值,Xbest,k 表示当前种群中的最优个体,教师希望其他个体的平均值接近最优,用Difference_Meani,k 表示最优个体与平均值的加权差值,由式(3-18)表示:
式(3-18)中,γk 是0到1的随机值,TF 决定均值改变的程度。种群个体基于差值进行更新,更新形式由式(3-20)表示:
(2)交流阶段。在这个阶段,种群个体通过相互比较自己的目标值,决定是否向较优值靠拢。算法会随机选择两个个体P、Q 进行比较,然后进行个体更新,由式(3-21)和式(3-22)表示。如果更新后的Xi,k″(P)的适应度比Xi,k′(P)的适应度好,则替换掉原来的值,否则不进行替换。
基于上面的描述,整个算法的流程如图3-2所示。
从TLBO 算法两个阶段的描述可以看出,TLBO 算法的第一个阶段类似粒子群算法中,所有的粒子向整个空间中的最优粒子靠近,TLBO 算法中的每一个个体都会有一个均值与最优值的差值叠加的操作。这样的好处是整个种群会朝着一个大方向搜索,即向当前最优个体逐步搜索的过程,但是,γk、TF 都是随机值,搜索中的不稳定性也是可预见的。在TLBO 算法的第二个阶段中,为了避免算法过早的收敛,陷入局部最优,种群个体与个体之间会产生相互的引导作用,较优的个体能引导较差的个体。
为了增强基本TLBO 算法的整体稳定性和精度,Rao R V 的后续工作对基本的TLBO算法也有相关的改进。
文献[11]在原有的算法基础上,通过增加教师的数量,引入一种自适应的TF 因子机制,将种群个体分成不同的组别,不同的小组对应不同的教师来进行引导。当某一低级别组的学员水平达到教师水平时,给该组重新分配更好的教师进行教学。(www.xing528.com)
文献[12]则在原有的算法上提出了精英保留的概念,在每次教学阶段之前保留一部分精英个体,在每次交流阶段之后用精英个体取代种群中最差的个体。这种策略在遗传算法等演化算法中出现过多次,能起到加快算法收敛的作用。
对于还未加入TLBO 策略的遗传算法,选择适当的参数对最优解的搜索至关重要。算法参数的变化影响该算法的有效性。这主要是由于难以确定最佳的控制参数,如交叉率和变异率。遗传算法在全局空间内的搜索能力是毋庸置疑的,但是在优化后期,仅靠变异操作来搜索相近邻域空间的有效解显得很乏力,本小节将TLBO 算法作为遗传算法的局部搜索策略,每当遗传算法完成一次全局搜索后,利用TLBO 算法扰动一次种群,直接提高种群的平均性能,有利于增强种群的局部搜索能力。
图3-2 TLBO 算法流程图
关于TLBO 算法的搜索具体操作如下:
(1)当种群完成变异操作后,得到当前种群的最优个体并保存;计算出当前种群的均值个体;对种群中的每个个体进行(2)和(3)的操作。
(2)按照式(3-18)~式(3-20)进行教学阶段的个体更新,如果更新后的个体优于当前个体,则取代原有个体,否则保持不变。
(3)随机从种群中选择一个不同于当前个体的个体,按照式(3-21)和式(3-22)进行交流阶段的个体更新,更新原理同(2)。
(4)当所有个体完成更新后,如果满足相应终止条件,则输出最优结果,否则返回至遗传操作继续进行全局空间的搜索。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。