資源簡介
基于混沌單純形法算子的布谷鳥搜索算法,MATLAB代碼,能直接使用,適合初學者學習

代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?%?%?%?%?%?CLSCS算法核心---%?%?%?%?%?%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function?[?keepglobal]?=?Cuckoo_search(?popsizepaxMinxMaxiter_maxdimfun?)
?????LB=xMin*ones(1dim);
?????UB=xMax*ones(1dim);
?????u=3;%混沌系數(shù)
????fitness=inf*ones(popsize1);?%初始化適應度值
????
????%隨機的初始值
????for?i=1:popsize
????????nest(i:)=LB+(UB-LB).*rand(size(LB));
????end
????
????%得到當前最優(yōu)解
????[fbestbestnestnestfitness]=get_best_nest(nestnestfitnessfun);
????keepglobal(1)=fbest;
????
????fprintf(‘Run?=?%d?Save_Nr_best?=?%e\n‘?1?fbest);
??
????%%開始循環(huán)
????for?i=2:iter_max
????????%產(chǎn)生新的解(但保留當前最優(yōu)的)
????????new_nest=get_cuckoos(nestbestnestLBUBiter_maxi);
????????%單純形法--去除較差的鳥窩
????????new_nest=dcxf(popsizenew_nestfun);
????????
????????[f_minbestnestfitness]=get_best_nest(nestnew_nestfitnessfun);
????????
????
???
????????%發(fā)現(xiàn)并隨機選擇
????????new_nest=empty_nests(nestLBUBpaiter_maxifitness);
????????%評價改解
????????[f_minbestnestfitness]=get_best_nest(nestnew_nestfitnessfun);
????????
%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?????????
???????%%對粒子群最優(yōu)位置進行混沌優(yōu)化
??????y(1:)=(best-xMin)/(xMax-xMin);%?將最優(yōu)位置映射到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);%尋找最優(yōu)混沌可行解矢量
????????
????????if?ybestfitness ????????????f_min=ybestfitness;
????????????best=y(ybestindex:);
????????end
%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?%?
????????
????????%找到目前最佳的目標函數(shù)
????????%fbest全局最好
????????if?f_min ????????????fbest=f_min;
????????????bestnest=best;
????????end
????????
????????keepglobal(i)=fbest;
????????fprintf(‘Run?=?%d?fbest?=?%e\n‘?i?fbest);
????????
????????
????end
%?plot(keepglobal)
????%循環(huán)結束
????
???
????
????
??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????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
評論
共有 條評論