混沌算法 matlab,混沌算法优化BAS算法
自己改的,没什么理论依据,仅供参考
%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算法相关推荐
- 【优化算法】粒子群优化灰狼算法【含Matlab源码 006期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]粒子群优化灰狼算法[含Matlab源码 006期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏优化求解( ...
- 【单目标优化求解】基于matlab增强型黑猩猩优化器算法求解单目标优化问题【含Matlab源码 2013期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[单目标优化求解]基于matlab增强型黑猩猩优化器算法求解单目标优化问题[含Matlab源码 2013期] 点击上面蓝色字体,直接付费下 ...
- 【配送路径规划】基于matlab蚁群优化节约算法单中心多城市配送车辆路径规划【含Matlab源码 017期】
一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述 ...
- m基于ABC人工蜂群优化的无线传感器网络路由优化算法matlab仿真,对比优化前后网络寿命,效率以及可靠性
目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件 1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 无线传感器网络通常使 ...
- 【优化分配】基于matlab模拟退火策略优化免疫算法求解无人机协同优化分配问题【含Matlab源码 1978期】
⛄一.模拟退火策略优化免疫算法简介 指导性搜索方法具有较强的通用性,无须利用问题的特殊信息,这也造成了对问题已知信息的浪费.尽管启发式算法对问题的依赖性强,但对特殊问题却能利用问题信息较快地构造解,其 ...
- a*算法matlab代码_导向滤波算法及其matlab代码实现
导向滤波同样是一种平滑滤波算法,其与最小二乘滤波和双边滤波相比,同样是一种具有边缘保持的功能的图形滤波算法,可以用于处理图形噪点较多的图像,而且此种滤波算法与最小二乘滤波和双边滤波相比,有其独特的特点 ...
- 阵列算法matlab,阵列信号处理的常见算法
阵列处理算法常用程序 AR argamse.m armaorder.m lsar.m lsarma.m myprogramme.m mywarma.m yulewalker.m ESPRIT TAM算 ...
- simca算法 matlab,SIMCA分类法中主成分分析算法探究.doc
SIMCA分类法中主成分分析算法探究 SIMCA分类法中主成分分析算法探究 摘要:模式识别是研究用计算机模拟人的识别能力,对不同类型形式的数据进行描述.分类.识别等有关的理论和方法.SIMCA方法是基 ...
- 分类算法matlab实例,数据挖掘之分类算法---knn算法(有matlab例子)
knn算法(k-Nearest Neighbor algorithm).是一种经典的分类算法.注意,不是聚类算法.所以这种分类算法 必然包括了训练过程. 然而和一般性的分类算法不同,knn算法是一种懒 ...
- gwo算法matlab源代码,智能优化算法应用:基于GWO优化BP神经网络 - 附代码
智能优化算法应用:基于GWO优化BP神经网络 - 附代码 智能优化算法应用:基于GWO优化BP神经网络 - 附代码 智能优化算法应用:基于GWO优化BP神经网络 文章目录智能优化算法应用:基于GWO优 ...
最新文章
- 比特币布道者Roger Ver是如何被污蔑成骗子的
- 云上的精准医疗——公有云、私有云案例分析和比较
- python股票涨势_stock
- 【算法学习笔记】83.排序辅助 动态规划 SJTU OJ 1282 修路
- Java手写HashSet
- 【普通の随笔】6.30
- yum安装mysql5.7 简书_阿里云服务器(centos7.3)上安装jdk、tomcat、mysql、redis
- php 分布式数据库查询,分布式数据库 · Thinkphp5.0完全开发手册 · 看云
- 每日codewars题之判断一个数是否是水仙花数
- 【EOS】EOS环境基础
- 关于Android Studio使用高德地图地位
- java socket 全双工客户端_Java Websocket实例【服务端与客户端实现全双工通讯】
- UNIX操作系统中,文件的索引结构放在( )
- 【联想拯救者R7000】安装nvidia驱动Perform MOK management 界面键盘失灵现象(已解决)
- 关于VMware 15:在部分链上无法执行所调用的函数,请打开父虚拟磁盘
- Windows下PostgreSQL 8.1版安装图解
- leetcode_Hamming Distance
- hdu 5886 Tower Defence 树形期望dp 雪漫防守战
- vue 3.0 即将发布,敬请期待
- 《程序员》06期最新上市:2008开源在中国
热门文章
- 读书笔记_稻盛和夫《心》
- c语言分数乘法,武汉小学数学六年级
- Word2010如何从正文开始设置页码
- 123457123457#0#-----com.yuming.drawGame01--前拼后广--儿童画画游戏
- MD5生成与校验(Linux/UNIX/Windows)
- Python练习数据结构笔记
- 电脑引导,电脑常见开机引导错误的解决方法
- Spring Boot 监听 Activemq 中的特定 topic ,并将数据通过 RabbitMq 发布出去
- RedHat7.5最小化安装之后一些配置
- SEO入门到精通只需学会这10个关键技巧