• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Matlab
  • 标签:

资源简介

matlab实现蝙蝠算法(BA)代码,可用于智能算法的优化

资源截图

代码片段和文件信息

% Bat-inspired algorithm for continuous optimization %
% ------------------------------------------------------%
function [bestfminN_iter]=bat(para) % [y1...yN] = myfun(x1...xM) 
% 默认参数
if nargin<1 %nargin(fx)返回函数fx的定义语句中出现的输入参数的数量。
    para=[10 0.25 0.5];
end
n=para(1); % 群体大小 通常为【10,25】
A=para(2); % 音量 (不变或者减小)
r=para(3);  % 脉冲率 (不变或增加)
% 频率范围
Qmin=0;  % 最低频率
Qmax=2;  % 最高频率
% 迭代参数
tol=10^(-5); % 停止精度
N_iter=0; % 评价函数的总数 迭代次数
% 搜索变量的维数
d=4;
% 初始矩阵
Q=zeros(n1); % 频率 n行1列矩阵
v=zeros(nd); % 速度 n行d列矩阵
% 初始化群体/解
for i=1:n
    Sol(i:)=randn(1d); 
    Fitness(i)=Fun(Sol(i:));
end
% 寻找当前最优解
[fminI]=min(Fitness);
best=Sol(I:);
% 开始迭代
while (fmin>tol)
    %遍历所有蝙蝠或者解决方案
    for i=1:n
        Q(i)=Qmin+(Qmin-Qmax)*rand;

评论

共有 条评论

相关资源