具有动态自适应学习机制的教与学优化算法
文章目录
- 具有动态自适应学习机制的教与学优化算法
- 1.教与学优化算法
- 2.改进教与学优化算法
- 2.1 动态自适应学习
- 2.2 教师的动态随机搜索
- 3.实验结果
- 4.参考文献
- 5.Matlab代码
- 6.python代码
摘要:为了克服教与学优化(TLBO)算法容易出现早熟和解精度低的问题,提出了一种动态自适应学习的改进教与学优化(DSLTLBO)算法。在DSLTLBO算法的"教"阶段,引入一个自适应变化的因子,使当前个体在早期主要向最优个体学习,后期能够较好地维持自身状态,种群多样性得以保持。在算法的后期,教师个体通过执行动态随机搜索算法,提高最优个体勘探新解的能力。
1.教与学优化算法
2.改进教与学优化算法
2.1 动态自适应学习
TLBO算法思想源于模拟班级的教学过程, 所以从 生活中的现象着手改进算法是一种可行的途径。考虑 在教师的“教”过程中, 学生新状态的生成取决于自身状 态的转化比例和通过学习所获得知识的转化比例之和。 而标准算法中公式 (1) 的 部 分为学生向教师学习获得的知识,而该式中学生自身的 知识状态完全向新状态转化, 与现实情况不相符。故将 式 (1) 修改成为式 (3), 学生的原状态按比例向新状态进 行转换。
是一个非线性自适应因子,
为预设最大迭代次数,
为当前迭代次 数,
为变化速率。很容易看出来, 在算法早期,种群主 要向教师个体学习,可以快速向最优个体周围靠拢。而 随着迭代的进行
2.2 教师的动态随机搜索
DRS通过动态调整步长实现对个体周围空间的精细搜索。在群智能算法中,种群的最优个体包含了较多的引导种群向全局最优收敛的信息。如果群智能算法能够实现全局收敛,最优个体所形成的搜索空间,一定包含着全局最优解形成的搜索空间。所以,为了提高算法的精度,在算法后期(本文为预设迭代次数的2/3后开始)引入教师个体执行DRS。
算法 1 DRS 算法
输入: 个体 , 迭代次数
。
输出: 个体 。
步骤1 初始化步长 。
步骤2 生成向量 。
步骤4 生成向量 和
。
步骤 5 选择 中优者作为
。
步骤6 调整步长 。
步骤 7 迭代没有结束, 则转步骤 2 ; 否则输出 , 结束 算法。
算法 2 动态自适应教与学优化算法(Dynamic Selfadapting Learning TLBO, DSLTLBO)
输入: 种群规模 , 最大迭代次数
。
输出:最优个体 。
步骤 1 在解空间内初始化种群 。
步骤2 挑选出最优个体, 即教师个体, 标记为 。
步骤3 基于公式(3)执行“教”。
步骤4 执行“学”算子。
步骤5 如果是算法后期,则教师个体执行 DRS算法。
步骤 6 算法不满足终止条件, 则转步骤 2 ; 否则输出最佳 个体 ,终止算法。
3.实验结果
4.参考文献
[1]李丽荣,李木子,李崔灿,王培崇.具有动态自适应学习机制的教与学优化算法[J].计算机工程与应用,2020,56(19):62-67.
5.Matlab代码
6.python代码