资源简介
人工蜂群算法是模仿蜜蜂行为提出的一种优化方法,是集群智能思想的一个具体应用,它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工蜂个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度。为了解决多变量函数优化问题,Karaboga提出了人工蜂群算法ABC模型(artificial bee colony algorithm)。本资源为人工蜂群算法 matlab代码
代码片段和文件信息
clear
clc
NI=30;%试验次数
t=zeros(1NI);
for ni=1:NI
tic;
%人工蜂群算法
%算法参数
%采蜜蜂个数 CN 引领蜂
%蜜源 MN
%工蜂数目 GN 跟随蜂
N=10;
CN=N;
MN=N;
GN=N;
Limit=50;
%问题参数
%问题维数
D=2;
%变量范围
xmax=550*ones(1D);
xmin=50*ones(1D);
%最大迭代次数
K=1000;
limit=50;
xcn=zeros(ND);
xgn=zeros(ND);
xmn=zeros(ND);
popu=zeros(2*ND);
fpopu=zeros(12*N);
%算法初始化
for i=1:2*N
popu(i:)=xmin+rand(1D).*(xmax-xmin);
end
%适应值计算
for i=1:2*N
fpopu(i)=func(popu(i:));
end
[Bd]=sort(fpopu);
i=1;
while i<=N
xmn(i:)=popu(d(i):);
fmn(i)=B(i);
i=i+1;
end
xcn=xmn;
fcn=fmn;
%迭代开始
k=1;
while k<=K
g=k;
%引领蜂探索
for i=1:CN
j=ceil(rand*D);
d=ceil(N*rand);
xcn(ij)=xmn(ij)+(2*rand-1)*(xmn(ij)-xmn(dj));
end
for i=1:CN
fcn(i)=func(xcn(i:));
if fcn(i) xmn(i:)=xcn(i:);
fmn(i)=fcn(i);
end
end
%跟随蜂跟随引领蜂
xgn=xcn;
fgn=fcn;
sf=sum(fgn);%目标函数的总和
相关资源
- matlab的costas环
- ABC3D_SV.mdl
- Matlab把bmp彩色图片转成mif或者coe文件
- matlabchuankou.7z
- 基于matlab的DEABCC模型
- Elhorst_files_matlab_spatial_modeling.zip
- matlabcode(与瑞利信道相关的OFDM仿真)
- 人工智能蜂群算法ABCMATLAB版本带注释
- abc-dq仿真
- 人工蜂群ABC算法matlab官方源码两个版
- MATLABGUI图割法(Grabcut)对象分割
- Artificial bee colony,ABC,人工蜂群算法
- 基于改进型蜂群算法的无线传感器节
- 人工蜂群算法ABC源码,MATLAB实现
- GrabCut算法文档和源代码grabcut_matlab(
- 用matlab仿真多目标跟踪中的航迹关联
- 人工蜂群算法 优化算法 Matlab 附测试
- GSC_NPP_Neu_Tabc 三电平变流器的SVPWM调制
- PR控制器谐波补偿仿真模型
- Graph_cut 几篇关于graph cut的论文
- grabcut_matlab 三种基于GraphCut的图像分割
- ABC 是属于人工蜜蜂群优化算法的源代
- grabcut_matlab
- ABCPSO
- abc-clustering
- abcup 人工蜂群算法的sphere
- correlationmatlabcode 用于图像处理上的像
- VLC_communication_matlabcode
- MatlabCode 多因子模型构建。多因子模型
- radar_matlabcode 雷达系统仿真
评论
共有 条评论