• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Matlab
  • 标签: 优化算法  

资源简介

基本鸽群优化算法,由北京航空航天大学段海滨教授等人提出,可用于解决优化问题,收敛速度较快

资源截图

代码片段和文件信息

%***************initialization******************* 
global bound;
T1=90;     %Global search algebra 地磁导航次数
T2=15;     %Local search algebra 地标导航次数
pigeonnum=30;    %number  种群数
D=1;      % dimensionality 解维数(平面为二维)
R=0.3;     %parameters of magnetic field  地磁因数
bound=[020];    %hunting zone 解空间
%**************initialization of the individual pigeon************ 生成初始解
for i=1:pigeonnum 
    for j=1:D 
        x(ij)=bound(1)+rand*(bound(2)-bound(1)); 
        v(ij)=rand; 
    end 
end 
%**************calculate the fitness of pigeon*********** 计算适应度值
for i=1:pigeonnum 
    p(i)=f1(x(i:)D); 
end 
%**************find the optimal pigeons 求最优解
g_best=x(1:); 
for i=2:pigeonnum 
    if f1(g_bestD)        g_best=x(i:); 
    end 
end 
%************  magnetic compass and solar operator******************** 地磁导航
for t=1:T1 
    for i=1:pigeonnum 
        v(i:)=v(i:)*exp(-R*t)+rand*(g_best-x(i:)); 
        x(i:)=x(i:)+v(i:);%更新位置速度  
        for j=1:D  
            if x(ij)bound(2)   %检查解是否超出范围,超出则重新初始化
                x(ij)=bound(1)+rand*(bound(2)-bound(1)); 
                v(ij)=rand; 
            end 
        end 
        if f1(g_bestD) < f1(x(i:)D)                       %更新全局最优解
            g_best=x(i:); 
        end 
    end 
    result(t)=f1(g_bestD); %记录本次迭代最优解
end 
%*************地标算子导航********************** 
for t=1:T2 
    for i=1:pigeonnum-1                            
        for j=i+1:pigeonnum 
       

评论

共有 条评论