资源简介
用粒子群算法改进蝙蝠算法,引入自适应权重,具有很好的收敛速度和收敛精度
代码片段和文件信息
% Usage: bat_algorithm([20 0.25 0.5]); %
function [bestfminN_iter]=Abat_algorithm(para)
% Display help
help bat_algorithm.m
% Default parameters
if nargin<1 para=[10 0.25 0.5 0.8 0.6]; end
n=para(1); % Population size typically 10 to 25
A=para(2); % Loudness (constant or decreasing)
r=para(3);
wmax=para(4);
wmin=para(5);
% Pulse rate (constant or decreasing)
% This frequency range determines the scalings
Qmin=0; % Frequency minimum
Qmax=2; % Frequency maximum
% Iteration parameters
tol=10^(-5); % Stop tolerance
N_iter=0; % Total number of function evaluations
% Dimension of the search variables
d=5;
% Initial arrays
Q=zeros(n1); % Frequency
v=zeros(nd); % Velocities
% Initialize the population/solutions
for i=1:n
Sol(i:)=randn(1d);
Fitness(i)=Fun(Sol(i:));
end
% Find the current best
[fminI]=min(Fitness);
best=Sol(I:);
% ====================================================== %
% Note: As this is a demo here we did not implement the %
% reduction of loudness and increase of emission rates. %
% Interested readers can do some parametric studies %
% and also implementation various changes of A and r etc %
% ====================================================== %
% Start the iterations -- Bat Algorithm
while (fmin>tol)
for i=1;n
fv(i)= Fitness(i);
end
favg=sum(fv)/n;
for i=1;n
if fv(i)<=favg
w=wmin+(fv(i)-fmin)*(wmax-wmin)/(favg-fmin);
else
w=wmax;
end
Q(i)=Qmin+(Qmin-Qmax)*rand;
v(i:)=w*v(i:)+(Sol(i:)-best)*Q(i);
S(i:)=Sol(i:)+v(i:);
% Pulse rate
if rand>r
S(i:)=best+0.01*randn(1d);
end
% Evaluate new solutions
Fnew=Fun(S(i:));
% If the solution improves or not too loudness
if (Fnew<=Fitness(i)) & (rand Sol(i:)=S(i:);
Fitness(i)=Fnew;
end
% Update the current best
if Fnew<=fmin
best=S(i:);
fmin=Fnew;
end
end
N_iter=N_iter+n;
end
plot(Fitness)
% Output/display
disp([‘Number of evaluations: ‘num2str(N_iter)]);
disp([‘ fmin=‘num2str(fmin)]);
disp([‘Best =‘num2str(best)]);
function z=Fun(u)
z=(1-u(1))^2+100*(u(2)-u(1)^2)^2+(1-u(3))^2+(u(4)-2)^2+(u(5)-0.4)^2;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2533 2018-05-21 18:52 Abat_algorithm.m
相关资源
- AI人工智能学习资料全套
- 用户网络行为画像 大数据中的用户网
- 中科院自动化所历年模式识别博士题
- 华南理工大学人工智能期末考试卷
- LabVIEW实现Fuzzy_PID的补充资源
- 微信小程序Demo/---欧拉蜜自然语言理解
- 微信小程序完整Demo--支持人工智能对
- 艾媒-2017年中国人工智能产业专题研究
- 工信部人工智能产业人才岗位能力标
- AMiner:2018年人工智能之自动驾驶研究
- 艾瑞咨询:2018年中国人工智能+金融行
- 2019技术趋势:人工智能报告
- 法院行业方案宣讲稿-海康
- 8.2 心智探奇 人类心智的起源与进化
- 人工智能尼尔森,2003,第1版
- 乌镇指数全球人工智能发展报告2017投
- 模式识别之特征选择
- springMVC的学习代码
- 人工智能全部课件和作业题
- 哥德尔、艾舍尔、巴赫——集异璧之
- 西电人工智能课件
- 面试题答案-40万年薪岗位面试到底问
- 旺宝创业计划书
- 人工智能综述
- 人工智能领域顶会AAAI 2018 论文列表
- AI 全套教学视频三
- 人工智能初步学习总结
- stm32实现的五子棋AI人机对战+人人对战
- 清华大学人工智能导论课件ppt格式
- 哈工大秋季学期人工智能3学分前两个
评论
共有 条评论