智能优化算法:学校优化算法


文章目录

  • 智能优化算法:学校优化算法
  • 1.算法原理
  • 1.1 教师阶段
  • 1.2 学习者阶段
  • 2.算法结果
  • 3.参考文献
  • 4.Matlab代码



摘要:学校优化算法(school-based optimization (SBO) algorithm)是于2018年提出的一种启发式元启发式优化算法,其灵感来自于在多教室学校中运行的传统教育过程。SBO是一种协同优化策略,允许对搜索空间进行广泛的探索,并得到高质量的解决方案。

1.算法原理

SBO是一种多种群元启发式算法,它将单个教师的单课堂教学环境扩展到多个教室、多个教师的学校。在SBO 算法中,独立的教室同时探索搜索空间,每个教室使用TLBO; 然后,在每次迭代结束时,一组教师(每个教室一名教师)被召集起来。在下一次迭代之前,每个教室从教师库中指派一名新教师,允许教室之间的知识转移。教师被分配到教室使用轮盘赌选择机制基于教师的健康值。此外,每个新任教师每个教室应有一个比现任教师更好的健康。

在每个阶段,每个班级的所有学生都要接受评估(共有个教室) ,每个教室里最好的学生(以健康程度衡量)被选为教室的老师,所有的老师都被召集到教师队伍中。在每次迭代之前,每个教室用轮盘赌从教师池中选择一个新的教师,然后根据教师的健康值将其细分为若干部分。教师分配机制允许SBO算法使用多个教师来指导优化。结果,这种机制降低了算法收敛到局部最优的可能性。例如,如果一个教室汇聚到一个当地的最优,这个信息不一定会分发到其他教室,因为该教室的老师的表现有较低的可能性被选为一个新的教师。此外,通过从其他教室中选择一个更好的老师,发展了当地最佳状态的教室有机会从这种状态中得到改善。在每个班级接受一名新教师后,教学机制被独立应用于每个班级,并启动新一轮的教师鉴定和交流。平行课堂之间的协作互动一直持续到满足终止标准为止,通常是一些分析,其中最佳解决方案保持不变.

1.1 教师阶段

在教师阶段模拟这一过程的优化算法中,教师机制应该应用到整个设计变量的范围内。每个设计变量都被视为课程中的不同主题。在教师阶段,学生根据教师提供的信息更新各科的知识。用数学术语来说,教学阶段的定义是:
智能优化算法:学校优化算法-附代码_解决方案

智能优化算法:学校优化算法-附代码_算法_02

智能优化算法:学校优化算法-附代码_迭代_03

其中智能优化算法:学校优化算法-附代码_算法_04代表第智能优化算法:学校优化算法-附代码_优化算法_05个变量的j维。智能优化算法:学校优化算法-附代码_迭代_06为教学因子,智能优化算法:学校优化算法-附代码_优化算法_07是[0,1]之间的随机数。智能优化算法:学校优化算法-附代码_迭代_08为班级的平均水平,智能优化算法:学校优化算法-附代码_优化算法_09为教师状态。智能优化算法:学校优化算法-附代码_算法_10代表班级平均水平与教师水平的距离(其标志的选择应确保学生始终朝着老师移动)。原始的教与学算法中,班级的平均值计算采用(3)式进行计算,基于学生表现价值的加权平均数能提供更好的结果。基于适应度的均值定义为:
智能优化算法:学校优化算法-附代码_解决方案_11

1.2 学习者阶段

学习者阶段的互动学习可以提高学生的个人表现,从而提高整个班级的表现。学习阶段的程序包括以下步骤:

(a)随机选择一名学生智能优化算法:学校优化算法-附代码_算法_12

(b)随机选择另一名学生,使智能优化算法:学校优化算法-附代码_解决方案_13

©评价两名学生的适应性

(d) 如果智能优化算法:学校优化算法-附代码_python_14,(即学生智能优化算法:学校优化算法-附代码_算法_12比学生智能优化算法:学校优化算法-附代码_解决方案_16好) ,然后更新位置:
智能优化算法:学校优化算法-附代码_python_17
否则按下式更新:
智能优化算法:学校优化算法-附代码_算法_18
SBO算法流程如下:

智能优化算法:学校优化算法-附代码_优化算法_19

2.算法结果

智能优化算法:学校优化算法-附代码_解决方案_20

3.参考文献

[1] Mohammad Farshchin et al., School based optimization algorithm for design of steel frames[J]. Engineering Structures, 171,2018,326-335.

4.Matlab代码