自己改的,没什么理论依据,仅供参考

%function BAS()

%bas:beetle antenna searching for global minimum天牛须算法搜索全局最小值

clear

close all

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

%parameter setup参数设置

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

%antenna distance天牛须间的距离

d0=0.001;

d1=3;

d=d1;

eta_d=0.95;

%random walk随机步进

l0=0.0;

l1=0.0;

l=l1;

eta_l=0.95;

%steps

step=0.8;%step length步长

eta_step=0.95;

n=100;%iterations迭代次数

k=2;%space dimension空间维数

x0=2*rands(k,1);

x=x0;

xbest=x0;

fbest=fun(xbest);

fbest_store=fbest;

x_store=[0;x;fbest];

display(['0:','xbest=[',num2str(xbest(1)),num2str(xbest(2)),'],fbest=',num2str(fbest)])

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

%iteration迭代

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

for i=1:n

dir=rands(k,1);

dir=dir/(eps+norm(dir));

xleft=x+dir*d;

fleft=fun(xleft);

xright=x-dir*d;

fright=fun(xright);

w=l*rands(k,1);

x=x-step*dir*sign(fleft-fright)+w;

f=fun(x);

%%%%%%%%%%%

if f

xbest=x;

fbest=f;

end

%------------混沌---------------------------------

xlhd = xbest(1:k);

for t=1:n %次数

%1生成

cxl=rand(1,k);

for j=1:k

if cxl(j)==0

cxl(j)=0.1;

end

if cxl(j)==0.25

cxl(j)=0.26;

end

if cxl(j)==0.5

cxl(j)=0.51;

end

if cxl(j)==0.75

cxl(j)=0.76;

end

if cxl(j)==1

cxl(j)=0.9;

end

end

%2映射

al=-4;bl=4;

rxl=al+(bl-al)*cxl;

%3搜索

bate = 0.3;

xlhd=xlhd+(bate*rxl)';

if fun(xlhd)

xbest(1:k)=xlhd;           %更新全局最优值

xbest(end)=fun(xlhd);

end

%4更新

for j=1:k

cxl(j)=4*cxl(j)*(1-cxl(j));   %logic混沌方程

end

end

%-------------混沌--------------------------------

%当前代的最优粒子的适应度(取自最后一列)保存

fbest_store = xbest(end);

end

%%%%%%%%%%%

x_store=cat(2,x_store,[i;x;f]);

fbest_store=[fbest_store;fbest];

display([num2str(i),':xbest=[',num2str(xbest(1)),num2str(xbest(2)),'],fbest=',num2str(fbest)])

%%%%%%%%%%%

d=d*eta_d+d0;

l=l*eta_l+l0;

step=step*eta_step;

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

%data visualization数据可视化

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

figure(1),clf(1),

plot(x_store(2,:),x_store(3,:),'r-.'),axis equal

xlim0=[min(x_store(2,:)),max(x_store(2,:))];

ylim0=[min(x_store(3,:)),max(x_store(3,:))];

[x,y]=meshgrid(xlim0(1):(xlim0(2)-xlim0(1))/50:xlim0(2),ylim0(1):(ylim0(2)-ylim0(1))/50:ylim0(2));

f_val=x;

[s1,s2]=size(x);

for i=1:s1

for j=1:s2

f_val(i,j)=fun([x(i,j),y(i,j)]);

end

end

hold on,contour(x,y,f_val,50);

colorbar;

xlim([xlim0(1),xlim0(2)]);

ylim([ylim0(1),ylim0(2)]);

hold on, plot(x_store(2,end),x_store(3,end),'b*')

hold on, plot(xbest(1),xbest(2),'r*')

figure(3),clf(3),

plot(x_store(1,:),x_store(4,:),'r-o')

hold on,

plot(x_store(1,:),fbest_store,'b-.')

xlabel('iteration')

ylabel('minimum value')

function yout=fun(x)

theta=x;

x=theta(1);

y=theta(2);

% Michalewicz function函数

yout=-sin(x).*(sin(x.^2/pi)).^20-sin(y).*(sin(2*y.^2/pi)).^20;

end

出图

2019-12-31 21:59 上传

混沌算法 matlab,混沌算法优化BAS算法相关推荐

  1. 【优化算法】粒子群优化灰狼算法【含Matlab源码 006期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]粒子群优化灰狼算法[含Matlab源码 006期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏优化求解( ...

  2. 【单目标优化求解】基于matlab增强型黑猩猩优化器算法求解单目标优化问题【含Matlab源码 2013期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[单目标优化求解]基于matlab增强型黑猩猩优化器算法求解单目标优化问题[含Matlab源码 2013期] 点击上面蓝色字体,直接付费下 ...

  3. 【配送路径规划】基于matlab蚁群优化节约算法单中心多城市配送车辆路径规划【含Matlab源码 017期】

    一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述 ...

  4. m基于ABC人工蜂群优化的无线传感器网络路由优化算法matlab仿真,对比优化前后网络寿命,效率以及可靠性

    目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件 1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 无线传感器网络通常使 ...

  5. 【优化分配】基于matlab模拟退火策略优化免疫算法求解无人机协同优化分配问题【含Matlab源码 1978期】

    ⛄一.模拟退火策略优化免疫算法简介 指导性搜索方法具有较强的通用性,无须利用问题的特殊信息,这也造成了对问题已知信息的浪费.尽管启发式算法对问题的依赖性强,但对特殊问题却能利用问题信息较快地构造解,其 ...

  6. a*算法matlab代码_导向滤波算法及其matlab代码实现

    导向滤波同样是一种平滑滤波算法,其与最小二乘滤波和双边滤波相比,同样是一种具有边缘保持的功能的图形滤波算法,可以用于处理图形噪点较多的图像,而且此种滤波算法与最小二乘滤波和双边滤波相比,有其独特的特点 ...

  7. 阵列算法matlab,阵列信号处理的常见算法

    阵列处理算法常用程序 AR argamse.m armaorder.m lsar.m lsarma.m myprogramme.m mywarma.m yulewalker.m ESPRIT TAM算 ...

  8. simca算法 matlab,SIMCA分类法中主成分分析算法探究.doc

    SIMCA分类法中主成分分析算法探究 SIMCA分类法中主成分分析算法探究 摘要:模式识别是研究用计算机模拟人的识别能力,对不同类型形式的数据进行描述.分类.识别等有关的理论和方法.SIMCA方法是基 ...

  9. 分类算法matlab实例,数据挖掘之分类算法---knn算法(有matlab例子)

    knn算法(k-Nearest Neighbor algorithm).是一种经典的分类算法.注意,不是聚类算法.所以这种分类算法 必然包括了训练过程. 然而和一般性的分类算法不同,knn算法是一种懒 ...

  10. gwo算法matlab源代码,智能优化算法应用:基于GWO优化BP神经网络 - 附代码

    智能优化算法应用:基于GWO优化BP神经网络 - 附代码 智能优化算法应用:基于GWO优化BP神经网络 - 附代码 智能优化算法应用:基于GWO优化BP神经网络 文章目录智能优化算法应用:基于GWO优 ...

最新文章

  1. 比特币布道者Roger Ver是如何被污蔑成骗子的
  2. 云上的精准医疗——公有云、私有云案例分析和比较
  3. python股票涨势_stock
  4. 【算法学习笔记】83.排序辅助 动态规划 SJTU OJ 1282 修路
  5. Java手写HashSet
  6. 【普通の随笔】6.30
  7. yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis
  8. php 分布式数据库查询,分布式数据库 · Thinkphp5.0完全开发手册 · 看云
  9. 每日codewars题之判断一个数是否是水仙花数
  10. 【EOS】EOS环境基础
  11. 关于Android Studio使用高德地图地位
  12. java socket 全双工客户端_Java Websocket实例【服务端与客户端实现全双工通讯】
  13. UNIX操作系统中,文件的索引结构放在( )
  14. 【联想拯救者R7000】安装nvidia驱动Perform MOK management 界面键盘失灵现象(已解决)
  15. 关于VMware 15:在部分链上无法执行所调用的函数,请打开父虚拟磁盘
  16. Windows下PostgreSQL 8.1版安装图解
  17. leetcode_Hamming Distance
  18. hdu 5886 Tower Defence 树形期望dp 雪漫防守战
  19. vue 3.0 即将发布,敬请期待
  20. 《程序员》06期最新上市:2008开源在中国

热门文章

  1. 读书笔记_稻盛和夫《心》
  2. c语言分数乘法,武汉小学数学六年级
  3. Word2010如何从正文开始设置页码
  4. 123457123457#0#-----com.yuming.drawGame01--前拼后广--儿童画画游戏
  5. MD5生成与校验(Linux/UNIX/Windows)
  6. Python练习数据结构笔记
  7. 电脑引导,电脑常见开机引导错误的解决方法
  8. Spring Boot 监听 Activemq 中的特定 topic ,并将数据通过 RabbitMq 发布出去
  9. RedHat7.5最小化安装之后一些配置
  10. SEO入门到精通只需学会这10个关键技巧