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

资源简介

基于混沌单纯形法算子的布谷鸟搜索算法,MATLAB代码,能直接使用,适合初学者学习

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % % % % % CLSCS算法核心---% % % % % %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [ keepglobal] = Cuckoo_search( popsizepaxMinxMaxiter_maxdimfun )

     LB=xMin*ones(1dim);
     UB=xMax*ones(1dim);
     u=3;%混沌系数

    fitness=inf*ones(popsize1); %初始化适应度值
    
    %随机的初始值
    for i=1:popsize
        nest(i:)=LB+(UB-LB).*rand(size(LB));
    end
    
    %得到当前最优解
    [fbestbestnestnestfitness]=get_best_nest(nestnestfitnessfun);
    keepglobal(1)=fbest;
    
    fprintf(‘Run = %d Save_Nr_best = %e\n‘ 1 fbest);
  
    %%开始循环
    for i=2:iter_max
        %产生新的解(但保留当前最优的)
        new_nest=get_cuckoos(nestbestnestLBUBiter_maxi);
        %单纯形法--去除较差的鸟窝
        new_nest=dcxf(popsizenew_nestfun);
        
        [f_minbestnestfitness]=get_best_nest(nestnew_nestfitnessfun);
        
    
   
        %发现并随机选择
        new_nest=empty_nests(nestLBUBpaiter_maxifitness);


        %评价改解
        [f_minbestnestfitness]=get_best_nest(nestnew_nestfitnessfun);
        
% % % % % % % % % % % % % % % % % % % % % % % % % % % % %         
       %%对粒子群最优位置进行混沌优化
      y(1:)=(best-xMin)/(xMax-xMin);% 将最优位置映射到Logistic方程的定义域[01]
      fitness_c(1)=func(y(1:)fun); 
        for t=1:popsize-1 %通过Logistic方程进行M次迭代,得到混沌序列
            for e=1:dim
                 y(t+1e)=u*y(te)*(1-y(te)); 
            end
              y(t+1:)=xMin+(xMax-xMin)*y(t+1:);%将混沌序列逆射到原解空间
             fitness_c(t+1)=func(y(t+1:)fun); %计算混沌变量可行解序列的适应度值
        end
        [ybestfitness ybestindex]=min(fitness_c);%寻找最优混沌可行解矢量
        
        if ybestfitness            f_min=ybestfitness;
            best=y(ybestindex:);
        end
% % % % % % % % % % % % % % % % % % % % % % % % % % % 
        
        %找到目前最佳的目标函数
        %fbest全局最好
        if f_min            fbest=f_min;
            bestnest=best;
        end
        
        keepglobal(i)=fbest;
        fprintf(‘Run = %d fbest = %e\n‘ i fbest);
        
        
    end
% plot(keepglobal)
    %循环结束
    

   
    
    
  


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2318  2015-11-12 13:46  CLSCS core\Cuckoo_search.m

     文件       1284  2015-11-12 13:38  CLSCS core\dcxf.m

     文件       2724  2015-11-12 13:44  CLSCS core\empty_nests.m

     文件       3355  2015-11-12 13:38  CLSCS core\func.m

     文件        520  2015-11-12 13:38  CLSCS core\get_best_nest.m

     文件        890  2015-11-12 13:38  CLSCS core\get_cuckoos.m

     文件       2118  2015-11-12 13:38  CLSCS core\get_fun_info.m

     文件        369  2015-11-12 13:38  CLSCS core\simplebounds.m

     目录          0  2015-11-12 13:49  CLSCS core

----------- ---------  ---------- -----  ----

                13578                    9


评论

共有 条评论