智能优化算法:树种算法-附代码

文章目录

  • 智能优化算法:树种算法-附代码
    • 1.算法原理
    • 2.算法结果
    • 3.参考文献
    • 4.Matlab代码
    • 5.Python代码

摘要:树种优化算法(Tree seed Optimizer Algorithm,TSA)是由 Kiran 等人于 2015年提出的一种基于大自然树木生长繁衍方式的新型群智能优化算法。树种算法被提出后,因标准树种智能优化算法较一些传统智能优化算法结构更简单,搜索精度更高,鲁棒性更强,从而引起了国内外一些学者的广泛关注。

1.算法原理

树种算法是一种通过模拟大树的繁殖方式来寻找最优解的元启发式优化算法。在基本树种算法中,首先利用式(1)在搜索空间中生成一批树木:
Ti,j=Lj,min+ri,j(Hj,min−Lj,min)(1)T_{i,j}=L_{j,min}+r_{i,j}(H_{j,min}-L_{j,min})\tag{1} Ti,j​=Lj,min​+ri,j​(Hj,min​−Lj,min​)(1)
中,Ti,jT_{i,j}Ti,j​为树木的位置;Lj,minL_{j,min}Lj,min​为 搜 索 空 间 的 下 界;Hj,minH_{j,min}Hj,min​为
搜索空间的上界;ri,jr_{i,j}ri,j​是一个随机数,取值范围为[0,1]。

通过式(1)随机生成的树木中,并不是所有的树木产生种子的能力都一样强,针对最小化问题,需要利用式(2)找出位置最优的树。
B=min{f(Ti)},i=1,2,...,N(2)B = min\{f(T_i)\},i=1,2,...,N \tag{2} B=min{f(Ti​)},i=1,2,...,N(2)
接着,位置最优的树木会产生新的种子。在 TSA 中,为了平衡算法全局搜索和局部搜索的能力,提出两种机制来产生新的种子,如式(3)和式(4)所示。式(3)侧重于全局搜索,全局搜索可以避免算法在迭代过程中陷入局部最优。式(4)侧重于局部搜索,局部搜索有利于算法的收敛。
Si,j=Ti,j+αi,j(Ti,j−Tr,j)(3)S_{i,j}=T_{i,j}+\alpha_{i,j}(T_{i,j}-T_{r,j})\tag{3} Si,j​=Ti,j​+αi,j​(Ti,j​−Tr,j​)(3)

Si,j=Ti,j+αi,j(Bj−Tr,j)(4)S_{i,j}=T_{i,j}+\alpha_{i,j}(B_j-T_{r,j})\tag{4} Si,j​=Ti,j​+αi,j​(Bj​−Tr,j​)(4)

其中,Si,jS_{i,j}Si,j​为第iii颗树上繁殖的第iii 颗种子的第jjj个元素,Ti,jT_{i,j}Ti,j​是第iii颗树上的第jjj 个元素,是当前位置最优的树上的第jjj个元素,αi,j\alpha_{i,j}αi,j​是步长因子,是一个属于[-1,1]的随机数。

算法流程:

Step1. 树种算法的初始化。设置种群数量 N,搜索趋势常数ST,问题的维数 D。利用式(1)对树木的位置进行初始化,并通过式(2)求出位置最佳的树。
Step2. 生成种子。根据式(5)生成搜索趋势常数值,利用式(3)和式(4)生成新的种子。
Step3 选择最优解。选出最优解,若生成的种子比上一代树木位置更佳,则用新的种子取代上一代树木的位置。
Step4 判断是否满足终止条件,如果满足则循环结束;否则跳转到步骤 Step4 。

2.算法结果

3.参考文献

[1] Kiran M S. TSA: Tree-seed algorithm for continuous optimization[J]. Expert Systems with Applications, 2015, 42(19): 6686-6698.

[2] 彭浩,和丽芳.基于改进树种算法的彩色图像多阈值分割[J].计算机科学,2020,47(S1):220-225.

4.Matlab代码

5.Python代码

个人资料介绍

智能优化算法:树种算法-附代码相关推荐

  1. 遗传算法_粒子群算法优化支持向量机分类预测-附代码

    遗传算法/粒子群算法优化支持向量机分类预测-附代码 文章目录 遗传算法/粒子群算法优化支持向量机分类预测-附代码 1. 支持向量机简介与参数优化的原理 1.1 支持向量机SVM简介 1.2 优化参数的 ...

  2. 基于灰狼算法优化的lssvm回归预测-附代码

    基于灰狼算法优化的lssvm回归预测 - 附代码 文章目录 基于灰狼算法优化的lssvm回归预测 - 附代码 1.数据集 2.lssvm模型 3.基于灰狼算法优化的LSSVM 4.测试结果 5.Mat ...

  3. 基于麻雀搜索算法优化的支持向量机回归预测-附代码

    基于麻雀搜索算法优化的支持向量机预测及其MATLAB代码实现 文章目录 基于麻雀搜索算法优化的支持向量机预测及其MATLAB代码实现 1. 基于麻雀搜索算法优化的支持向量机预测简介 1.1 支持向量机 ...

  4. 基于强化学习的智能机器人路径规划算法研究(附代码)

    目录 一.摘要 二.路径规划技术的研究进展 1.研究现状 2.算法分类 2.1 全局路径规划算法 2.2 局部路径规划算法 三.本文采用的路径规划算法--强化学习 1. 概念 2. 与其他机器学习方式 ...

  5. python排序算法——归并排序(附代码)

    python排序算法 --归并排序 文章目录 python排序算法 --归并排序 一.前言 二.算法描述 三.代码实现 总结 一.前言 相关知识来自<python算法设计与分析>.初级排序 ...

  6. python排序算法 ——冒泡排序(附代码)

    python排序算法 --冒泡排序 文章目录 python排序算法 --冒泡排序 一.前言 二.算法描述 三.代码实现 总结 一.前言 相关知识来自<python算法设计与分析>.初级排序 ...

  7. python有效边界_Markowitz有效边界和投资组合优化基于Python(附代码)

    原标题:Markowitz有效边界和投资组合优化基于Python(附代码) 本期作者:Bernard Brenyah 本期翻译:Barry 未经授权,严禁转载 哈里马科维茨对金融和经济学的世界的贡献是 ...

  8. 智能优化算法——粒子群算法原理(附代码)

    目录 基本概念 算法实现 粒子群算法的构成要素分析 C++程序测试Sphere函数 总结 visual studio2017c++源代码 源文件下载地址 基本概念 粒子群优化算法(particle s ...

  9. 群智能优化之果蝇算法

    是的,今天要说的就是果蝇算法,"果蝇"就是你理解的那个果蝇,这是在2011年由Wen-Tsao Pan提出的有一种新型的群体智能优化算法. 1,引言: 演化式计算是一种共享名词,系 ...

  10. 独家 | 决策树VS随机森林——应该使用哪种算法?(附代码链接)

    作者:Abhishek Sharma 翻译:陈超 校对:丁楠雅 本文长度为4600字,建议阅读20分钟 本文以银行贷款数据为案例,对是否批准顾客贷款申请的决策过程进行了算法构建,并对比了决策树与随机森 ...

最新文章

  1. 跨域的原因以及解决方案
  2. 分布式服务限流实战,已经为你排好坑了
  3. 利用SIMULINK搭建一个16QAM调制解调收发系统
  4. 2011年计算机等级考试二级java笔试练习题(10)_2010年3月计算机等级考试二级Java笔试题及答案...
  5. 【iOS篇】从容面对App崩溃
  6. mvn编写主代码与测试代码
  7. Nginx反向代理及负载均衡
  8. linux内核那些事之early boot memory-memblock
  9. 那些用起来很爽,但用不好可能会被人打的Python骚操作
  10. win7生成ssh key配置到gitlab
  11. 天文坐标系的转换 时角坐标和赤道坐标系的转化
  12. 【正点原子MP157连载】第二章 ATK-STM32MP157烧写系统-摘自【正点原子】STM32MP157快速体验
  13. proteus仿真电路连线
  14. ggplot做双曲线阈值火山图
  15. Scroller的使用及解析(滑动删除)
  16. 中国电信再发力:推出最新七大惠民惠企新举措
  17. 翁恺老师Java进阶城堡游戏源码
  18. oracle数据库 dmp文件,数据库DMP文件损坏怎么修复
  19. 《机器学习实战》(十)-- Apriori
  20. IntelliJ IDEA 自动消除行尾空格

热门文章

  1. 22. Declare data members private
  2. linux之FTP服务器安装 一看就会!!!动手还是会!!!
  3. mysql连接报错3167_MySQL之使用过程中报错及处理记录(持续更新)
  4. ue4 classuobject没有成员beginplay_UE4异步编程专题 - TFunction
  5. 能否构成三角形的条件代码_【论文】一行代码发一篇ICML?
  6. JavaWeb:下载文件
  7. css改火狐滚动条样式_自定义滚动条,可解决火狐滚动条默认样式修改不了问题...
  8. SpringBoot两种定时任务(Spring Schedule 与 Quartz 整合 )实现
  9. 设计模式(12)——状态模式
  10. SLAM_轨迹算法精度评价指标(ATE、RPE)