智能优化算法:学校优化算法
文章目录
- 智能优化算法:学校优化算法
- 1.算法原理
- 1.1 教师阶段
- 1.2 学习者阶段
- 2.算法结果
- 3.参考文献
- 4.Matlab代码
摘要:学校优化算法(school-based optimization (SBO) algorithm)是于2018年提出的一种启发式元启发式优化算法,其灵感来自于在多教室学校中运行的传统教育过程。SBO是一种协同优化策略,允许对搜索空间进行广泛的探索,并得到高质量的解决方案。
1.算法原理
SBO是一种多种群元启发式算法,它将单个教师的单课堂教学环境扩展到多个教室、多个教师的学校。在SBO 算法中,独立的教室同时探索搜索空间,每个教室使用TLBO; 然后,在每次迭代结束时,一组教师(每个教室一名教师)被召集起来。在下一次迭代之前,每个教室从教师库中指派一名新教师,允许教室之间的知识转移。教师被分配到教室使用轮盘赌选择机制基于教师的健康值。此外,每个新任教师每个教室应有一个比现任教师更好的健康。
在每个阶段,每个班级的所有学生都要接受评估(共有个教室) ,每个教室里最好的学生(以健康程度衡量)被选为教室的老师,所有的老师都被召集到教师队伍中。在每次迭代之前,每个教室用轮盘赌从教师池中选择一个新的教师,然后根据教师的健康值将其细分为若干部分。教师分配机制允许SBO算法使用多个教师来指导优化。结果,这种机制降低了算法收敛到局部最优的可能性。例如,如果一个教室汇聚到一个当地的最优,这个信息不一定会分发到其他教室,因为该教室的老师的表现有较低的可能性被选为一个新的教师。此外,通过从其他教室中选择一个更好的老师,发展了当地最佳状态的教室有机会从这种状态中得到改善。在每个班级接受一名新教师后,教学机制被独立应用于每个班级,并启动新一轮的教师鉴定和交流。平行课堂之间的协作互动一直持续到满足终止标准为止,通常是一些分析,其中最佳解决方案保持不变.
1.1 教师阶段
在教师阶段模拟这一过程的优化算法中,教师机制应该应用到整个设计变量的范围内。每个设计变量都被视为课程中的不同主题。在教师阶段,学生根据教师提供的信息更新各科的知识。用数学术语来说,教学阶段的定义是:
其中代表第个变量的j维。为教学因子,是[0,1]之间的随机数。为班级的平均水平,为教师状态。代表班级平均水平与教师水平的距离(其标志的选择应确保学生始终朝着老师移动)。原始的教与学算法中,班级的平均值计算采用(3)式进行计算,基于学生表现价值的加权平均数能提供更好的结果。基于适应度的均值定义为:
1.2 学习者阶段
学习者阶段的互动学习可以提高学生的个人表现,从而提高整个班级的表现。学习阶段的程序包括以下步骤:
(a)随机选择一名学生
(b)随机选择另一名学生,使
©评价两名学生的适应性
(d) 如果,(即学生比学生好) ,然后更新位置:
否则按下式更新:
SBO算法流程如下:
2.算法结果
3.参考文献
[1] Mohammad Farshchin et al., School based optimization algorithm for design of steel frames[J]. Engineering Structures, 171,2018,326-335.
4.Matlab代码