2024最新算法:吸血水蛭优化器(Blood-Sucking Leech Optimizer,BSLO)求解23个函数,MATLAB代码

一、算法介绍

吸血水蛭优化器(Blood-Sucking Leech Optimizer,BSLO)是2024年提出的一种智能优化算法,该算法模拟了水蛭的探索、定向水蛭的利用、定向水蛭的切换机制、无方向水蛭的搜索策略和重新跟踪策略。

参考文献:

[1]Bai, Jianfu, et al. "Blood-Sucking Leech Optimizer." Advances in Engineering Software, vol. 195, Elsevier BV, Sept. 2024, p. 103696, doi:10.1016/j.advengsoft.2024.103696

二、23个函数简介

参考文献

[1] Yao X, Liu Y, Lin G M. Evolutionary programming made faster[J]. IEEE transactions on evolutionary computation, 1999, 3(2):82-102.

三、部分代码

复制代码
close all ;
clear
clc
Npop=30;               
Function_name='F1';     % Name of the test function that can be from F1 to F23 ( 
Tmax=300;              
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_fit,Best_pos,Convergence_curve]=(Npop,Tmax,lb,ub,dim,fobj);
figure('Position',[100 100 660 290])
%Draw search space
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])
%Draw objective space
subplot(1,2,2);
semilogy(Convergence_curve,'Color','r','linewidth',3)
title('Search space')
xlabel('Iteration');
ylabel('Best score obtained so far');
axis tight
grid on
box on
legend('')
saveas(gca,[Function_name '.jpg']);
display(['The best solution is ', num2str(Best_pos)]);
display(['The best fitness value is ', num2str(Best_fit)]);

四、部分结果

五、完整MATLAB代码

相关推荐
沈韶珺18 分钟前
Visual Basic语言的云计算
开发语言·后端·golang
沈韶珺25 分钟前
Perl语言的函数实现
开发语言·后端·golang
嘻嘻哈哈的zl34 分钟前
初级数据结构:栈和队列
c语言·开发语言·数据结构
君义_noip37 分钟前
信息学奥赛一本通 1607:【 例 2】任务安排 2 | 洛谷 P10979 任务安排 2
算法·动态规划·信息学奥赛·斜率优化
wjs202442 分钟前
MySQL 插入数据指南
开发语言
美味小鱼1 小时前
Rust 所有权特性详解
开发语言·后端·rust
Bluesonli1 小时前
第 1 天:UE5 C++ 开发环境搭建,全流程指南
开发语言·c++·ue5·虚幻·unreal engine
因兹菜1 小时前
[LeetCode]day4 977.有序数组的平方
数据结构·算法·leetcode
wjs20241 小时前
三路排序算法
开发语言
weixin_537590451 小时前
《C程序设计》第六章练习答案
c语言·c++·算法