【智能优化算法】基于倭黑猩猩优化算法求解单目标优化问题附matlab代码

简介: 【智能优化算法】基于倭黑猩猩优化算法求解单目标优化问题附matlab代码

 1 内容介绍

非传统的优化工具已经证明了它们在解决各种优化问题方面的潜力。这些问题处理单个目标或多个/多个目标。倭黑猩猩优化器(BO)是一种智能自适应元启发式优化算法,灵感来自倭黑猩猩的社会行为和繁殖策略。文献中没有研究扩展这个 BO 来解决多目标优化问题。本文提出了一种多目标 Bonobo 优化器 (MOBO) 来解决不同的优化问题。本文提出了三个不同版本的 MOBO,每个版本都使用不同的方法,例如自适应网格方法的非支配排序;一种使用拥挤距离方法对人口进行排序的排序方案;分解技术,其中解决方案是通过将一个多目标问题分解为多个单目标问题来获得的。提议的 MOBO 的所有三个不同版本的性能已经在一组 30 个多样化的基准测试功能上进行了测试,并将结果与文献中可用的其他四种著名的多目标优化技术的结果进行了比较。获得的结果表明,与其他算法相比,所提出算法的前两个版本在收敛性和多样性方面表现出色或具有竞争力。

tled attacker, barrier, chaser, and driver are employed for simulating the diverse intelligence. Moreover, the four main steps of hunting, driving, blocking, and attacking, are implemented. Afterward, the algorithm is tested on 30 well-known benchmark functions, and the results are compared to four newly proposed meta-heuristic algorithms in term of convergence speed, the probability of getting stuck in local minimums, and the accuracy of obtained results. The results indicate that the ChOA outperforms the other benchmark optimization algorithms.

image.gif编辑

2 仿真代码

% This is the matlab code for the optimization algorithm, namely Bonobo Optimizer (BO).

% This is written for solving unconstrained optimization problems. However, it can also solve constrained optimization

% problems with penalty function approaches.

% Moreover, this for solving minimization problems.

% For details of the BO algorithm, kindly refer and cite as mentioned below:

% A. K. Das and D. K. Pratihar, "Bonobo optimizer (BO): an intelligent heuristic with selfadjusting parameters over continuous spaces and its applications to engineering problems,"

% Applied Intelligence, 2021, DOI: 10.1007/s10489-021-02444-w

% For any query, please email to: amit.besus@gmail.com

clc;close all;clear all;

tic;   % CPU time measure

CostFunction = @(x)MyObjectiveFunction(x); % Objective function

d=4;  % No. of Variables

Var_min=[-100 -100 -100 -100];  % Lower variable Boundaries

Var_max=[100 100 100 100];   % Upper variable Boundaries

%% Common parameters of  BO similar to  other optimization algorithms

N=30; % No. of bonobos in the population, i.e. population size

max_it=100;  % Maximum number of iterations

[bestcost,alphabonobo,convergence_curve]=BO(N,d,Var_min,Var_max,max_it,CostFunction);

disp(['Best Cost: ' num2str(bestcost)]);

disp(['Bestsolution: ' num2str(alphabonobo)]);

figure

plot (1:max_it,convergence_curve,'-*')

title('Convergence Curve')

xlabel('Number of iterations')

ylabel('Evolution of best objective value')

toc;

3 运行结果

image.gif编辑

4 参考文献

[1] Das A K ,  Nikum A K ,  Krishnan S V , et al. Multi-objective Bonobo Optimizer (MOBO): an intelligent heuristic for multi-criteria optimization[J]. Knowledge and Information Systems, 2020, 62(6).

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
22天前
|
机器学习/深度学习 算法 PyTorch
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
RPN(Region Proposal Networks)候选区域网络算法解析(附PyTorch代码)
165 1
|
12天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
22天前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
2天前
|
机器学习/深度学习 算法
【MATLAB】GA_ELM神经网络时序预测算法
【MATLAB】GA_ELM神经网络时序预测算法
273 9
|
21天前
|
机器学习/深度学习 算法 数据可视化
基于GA优化的CNN-GRU-Attention的时间序列回归预测matlab仿真
该内容描述了一个使用CNN-LSTM-Attention模型优化时间序列预测的过程。在优化前后,算法的预测效果有明显提升,软件版本为matlab2022a。理论部分介绍了CNN用于特征提取,LSTM处理序列依赖,Attention关注重要信息,以及遗传算法(GA)优化超参数。提供的核心代码展示了GA的优化迭代和模型训练,以及预测结果的可视化比较。
|
22天前
|
算法
m基于log-MPA检测算法的SCMA通信链路matlab误码率仿真
MATLAB 2022a仿真实现了稀疏码多址接入(SCMA)算法,该算法利用码本稀疏性实现多用户高效接入。每个用户从码本中选取码字发送,接收端采用Log-MPA算法进行多用户检测。由于MAP检测计算复杂度高,故采用Log-MPA降低复杂性。仿真展示了不同迭代次数(1, 5, 10, 30)对误码率(BER)的影响,通过比较各次迭代的BER曲线,研究算法性能与迭代次数的关系。
16 0
|
22天前
|
存储 机器学习/深度学习 算法
C语言代码实现数据结构与算法
以上代码中,哈希表使用链表解决哈希冲突,每个链表节点包含一个键值对。hash函数用于计算键值对应的哈希值,insert函数用于向哈希表中插入一个键值对,若当前位置为空,则直接插入;否则,将新节点插入到链表末尾。search函数用于在哈希表中查找指定键值的值,若存在则返回其值,否则返回-1。
32 1
|
24天前
|
算法 搜索推荐
基于遗传优化的协同过滤推荐算法matlab仿真
该内容是关于推荐系统和算法的描述。使用Matlab2022a执行的算法生成了推荐商品ID列表,显示了协同过滤在个性化推荐中的应用。用户兴趣模型通过获取用户信息并建立数学模型来提高推荐性能。程序片段展示了遗传算法(GA)的迭代过程,确定支持度阈值,并基于关联规则生成推荐商品ID。最终结果是推荐的商品ID列表,显示了算法的收敛和支持值。
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)