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

资源简介

解决优化问题的一种新算法,根据菌群的活动而得出的优化算法

资源截图

代码片段和文件信息

% Rosenbrock minimization using BFO %
% by Kalyan Sourav Dash  %

clear all;
close all;
clc;

% Bacteria Foraging Optimization %

% ------- initialisation ----------%
Ne=20;
Nr=20;
Nc=20;
Np=20;
Ns=10;
D=5;
C=0.01;
Ped=0.9; % elimination dispersion probability

x=(rand(NpD)-0.5)*60; % x lies in [-30 30]

J=zeros(Np1);

for k=1:Np
    for i=1:D-1
        
    J(k)=sum(100*(x(ki+1)-x(ki)^2)^2+(x(ki)-1)^2); % initial fitness calculation
    
    end
end
Jlast=J;

for l=1:Ne
    for k=1:Nr
        Jchem=J;
        for j=1:Nc
            % Chemotaxis Loop %
            
            for i=1:Np
                del=(rand(1D)-0.5)*2;
                x(i:)=x(i:)+(C/sqrt(del*del‘))*del;
                for d=1:D-1
                    J(i)=sum(100*(x(id+1)-x(id)^2)^2+(x(id)-1)^2);
                end
              
                for m=1:Ns
                    if J(i)                        Jlast(i)=J(i);
                        x(i:)=x(i:)+C*(del/sqrt(del*del‘));
                        for d=1:D-1
                            J(i)=sum(100*(x(id+1)-x(id)^2)^2+(x(id)-1)^2);    
   

评论

共有 条评论