1 简介

2 部分代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%   Satin Bowerbird Optimizer(SBO)

%%

clc;

clear;

close all;

tic

%% Problem Definition

Function_name='F1';

[lowerbound,upperbound,numbervar,costfcn]=cost_functions(Function_name);

% VarSize=[1 numbervar];

%% SBO Parameters

[MaxIt,nPop,alpha,pMutation,sigma]=SBO_parameters(lowerbound,upperbound);

%% Initialization

[pop,elite,BestCost]=Initialization(nPop,lowerbound,upperbound,numbervar,MaxIt,costfcn);

%% SBO Main Loop

for it=1:MaxIt

newpop=pop;

%Calculating the Fitness of each bower

F=zeros(nPop,1);

for i=1:nPop

if pop(i).Cost>=0

F(i)=1/(1+pop(i).Cost);

else

F(i)=1+abs(pop(i).Cost);

end

end

%Calculating the probability of each bower

P=F/sum(F);

%changes at any bower

for i=1:nPop

for k=1:numbervar

% Select target bower

j=RouletteWheelSelection(P);

% Calculating Step Size

lambda=alpha/(1+P(j));

newpop(i).Position(k)=pop(i).Position(k) ...

+lambda*(((pop(j).Position(k)+elite(k))/2)-pop(i).Position(k));

% Mutation

if rand<=pMutation

newpop(i).Position(k)=newpop(i).Position(k)+(sigma*randn);

end

end

% Evaluation

newpop(i).Cost=costfcn(newpop(i).Position);

end

pop=[pop

newpop

]; %#ok

% Sort Population

[~, SortOrder]=sort([pop.Cost]);

pop=pop(SortOrder);

pop=pop(1:nPop);

% Update Best Solution Ever Found

BestSol=pop(1);

elite=BestSol.Position;

% Store Best Cost Ever Found

BestCost(it)=BestSol.Cost;

% Show Iteration Information

disp(['SBO:: Iteration-> ' num2str(it) '<----->Best Cost = ' num2str(BestCost(it))]);

end

toc

%% Results

disp(['BestSol=' num2str(elite)]);

disp(['BestCost=' num2str(BestSol.Cost)]);

figure;

semilogy(BestCost,'LineWidth',2);

xlabel('Iteration');

ylabel('Best Cost');

img =gcf;  %获取当前画图的句柄

print(img, '-dpng', '-r600', './img.png')         %即可得到对应格式和期望dpi的图像

3 仿真结果

4 参考文献

[1]王依柔、张达敏、樊英. "非均匀变异的互利自适应缎蓝园丁鸟优化算法." 计算机工程与科学 v.42;No.312.12(2020):135-143.

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

5 MATLAB代码与数据下载地址

见博客主页

【优化求解】基于缎蓝园丁鸟优化 (SBO)求解单目标问题matlab源码相关推荐

  1. 基于缎蓝园丁鸟优化算法的无线传感器网络覆盖优化

    文章目录 一.理论基础 1.节点覆盖模型 2.缎蓝园丁鸟优化算法 3.SBO算法伪代码 二.仿真实验与分析 三.参考文献 一.理论基础 1.节点覆盖模型 本文采取0/1覆盖模型,具体描述请参考这里. ...

  2. 【优化求解】基于缎蓝园丁鸟优化算法 (SBO)求解单目标问题附matlab代码

    1 简介 ​ 2 部分代码 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  3. 基于自适应权重的缎蓝园丁鸟优化算法-附代码

    基于自适应权重的缎蓝园丁鸟优化算法 文章目录 基于自适应权重的缎蓝园丁鸟优化算法 1.缎蓝园丁鸟优化算法 2.改进的缎蓝园丁鸟优化算法 2.1 自适应权重 2.2 改进原高斯变异形式 3.实验结果 5 ...

  4. 非均匀变异的互利自适应缎蓝园丁鸟优化算法-附代码

    非均匀变异的互利自适应缎蓝园丁鸟优化算法 文章目录 非均匀变异的互利自适应缎蓝园丁鸟优化算法 1.缎蓝园丁鸟优化算法 2.非均匀变异的互利自适应缎蓝园 2.1 非均匀变异 2.2 互利因子 2.3自适 ...

  5. 【优化求解】基于帝国主义竞争算法ICA求解单目标问题Matlab源码

    1 简介 2 部分代码 function Empires=UniteSimilarEmpires(Empires,AlgorithmParams,ProblemParams) %联合相似的帝国,距离相 ...

  6. 【优化求解-单目标求解】基于黑猩猩算法求解单目标问题matlab源码

    一.黑猩猩算法 This article proposes a novel metaheuristic algorithm called Chimp Optimization Algorithm (C ...

  7. 【优化求解】基于加权黑猩猩算法WCHoA求解单目标问题matlab源码

    一.黑猩猩算法 These days, there are a sizable number of meta-heuristic algorithms that are utilized to add ...

  8. 【优化算法】莱维飞行和随机游动策略的灰狼算法【含Matlab源码 1500期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]莱维飞行和随机游动策略的灰狼算法[含Matlab源码 1500期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  9. [附源码]计算机毕业设计Python+uniapp基于android手机设计并实现在线点单系统APPo682z(程序+源码+LW+远程部署)

    [附源码]计算机毕业设计Python+uniapp基于android手机设计并实现在线点单系统APPo682z(程序+源码+LW+远程部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装 ...

最新文章

  1. 2022-2028年中国应急救援装备行业市场研究及前瞻分析报告
  2. 高并发下的redis击穿,你需要了解下布隆过滤器
  3. python中的insert函数_Python numpy.insert函数方法的使用
  4. 什么是事件冒泡?如何用jquery/js阻止事件冒泡?阻止冒泡有什么作用?小生来抛个砖。...
  5. 数据库连接配置tomcat_Tomcat到Wildfly:配置数据库连接
  6. Java多线程学习二十六:原子类是如何利用 CAS 保证线程安全的?
  7. viewer 获取当前显示的图片信息_通过这个 Runtime 统计信息可视化库学到了什么?...
  8. php数组堂each怎么保存变量,php – 数组和foreach循环可以更有效地处理输入变量...
  9. wxPython练习
  10. 虚幻引擎5 C++游戏开发教程
  11. Python植物大战僵尸源码分享
  12. 世界五百强面试题计算机,世界五百强IT企业最新C++经典面试题及答案
  13. 【Linux学习笔记04】Linux常用命令
  14. 对于幸福不是悖论的证明,在现代对于幸福探寻
  15. 砍掉3721 reg
  16. AT指令详解,错误代码详解
  17. 线段树——区间合并(模板题)
  18. JS调用window系统通知
  19. ViveInputUtility-手柄射线与3D物体交互(5)
  20. 科技业界10大最具争议成功决定:苹果iPhone

热门文章

  1. 按书的问题范围scale尺寸进行书箱分类存储
  2. Java调用C程序 —— JNative
  3. elementUI中的el-table标签介绍
  4. 22河南省赛 - E. Serval 的俳句(预处理)
  5. 【计算机系统要素】使用Nand实现各种基本逻辑门
  6. 5G网优工程师的外场CQT测试怎么做?手把手教你路测!
  7. Esp8266多功能点阵时钟(开源)
  8. WAAS性能评估毕设及代码-读书札记
  9. ARP地址解析协议详解
  10. Excel数据透视表有什么用途?