資源簡介
2018年IEEE進化計算大會(CEC)提出的全局優(yōu)化問題的新的啟發(fā)式算法。
土狼優(yōu)化算法(COA)是由Juliano Pierezan和Leandro dos Santos Coelho(2018)提出的用于全局優(yōu)化的自然啟發(fā)的元啟發(fā)式算法。

代碼片段和文件信息
function?[GlobalParamsGlobalMin]?=?COA(FOBJ?lu?nfevalMAXn_packsn_coy)
%%?------------------------------------------------------------------------
%?Coyote?Optimization?Algorithm?(COA)?for?Global?Optimization.
%?A?nature-inspired?metaheuristic?proposed?by?Juliano?Pierezan?and?
%?Leandro?dos?Santos?Coelho?(2018).
%
%?Pierezan?J.?and?Coelho?L.?S.?“Coyote?Optimization?Algorithm:?A?new?
%?metaheuristic?for?global?optimization?problems“?Proceedings?of?the?IEEE?
%?Congress?on?Evolutionary?Computation?(CEC)?Rio?de?Janeiro?Brazil?July?
%?2018?pages?2633-2640.
%
%?Example:
%?FOBJ????????=?@(x)?sum(x.^2);?????????%?Optimization?problem
%?D???????????=?30;?????????????????????%?Problem?dimension
%?lu??????????=?[zeros(1D);ones(1D)];?%?Seach?space
%?nfevalMAX???=?10000*D;????????????????%?Stopping?criteria
%?Np??????????=?10;?????????????????????%?Number?of?packs
%?Nc??????????=?10;?????????????????????%?Number?of?coyotes
%?[GlobalParamsGlobalMin]?=?COA_vPub(FOBJ?lu?nfevalMAXNpNc);
%
%?Federal?University?of?Parana?(UFPR)?Curitiba?Parana?Brazil.
%?juliano.pierezan@ufpr.br
%%?------------------------------------------------------------------------
%%?Optimization?problem?variables
D???????????=?size(lu2);
VarMin??????=?lu(1:);
VarMax??????=?lu(2:);
%%?Algorithm?parameters
if?nargin?5?n_coy?=?5;?
elseif?n_coy?3?error(‘At?least?3?coyotes?per?pack!‘);?end
if?nargin?4?n_packs?=?20;?end
%?Probability?of?leaving?a?pack
p_leave?????=?0.005*n_coy^2;
Ps??????????=?1/D;
%%?Packs?initialization?(Eq.?2)
pop_total???=?n_packs*n_coy;
costs???????=?zeros(pop_total1);
coyotes?????=?repmat(VarMinpop_total1)?+?rand(pop_totalD).*(repmat(VarMaxpop_total1)?-?repmat(VarMinpop_total1));
ages????????=?zeros(pop_total1);
packs???????=?reshape(randperm(pop_total)n_packs[]);
coypack?????=?repmat(n_coyn_packs1);
%%?Evaluate?coyotes?adaptation?(Eq.?3)
for?c=1:pop_total
????costs(c1)?=?FOBJ(coyotes(c:));
end
nfeval?=?pop_total;
%%?Output?variables
[GlobalMinibest]???=?min(costs);
GlobalParams????????=?coyotes(ibest:);?
????
%%?Main?loop
year=0;
while?nfeval ????
????%%?Update?the?years?counter
????year?=?year?+?1;
????%%?Execute?the?operations?inside?each?pack
????for?p=1:n_packs
????????%?Get?the?coyotes?that?belong?to?each?pack
????????coyotes_aux?=?coyotes(packs(p:):);
????????costs_aux???=?costs(packs(p:):);
????????ages_aux????=?ages(packs(p:)1);
????????n_coy_aux???=?coypack(p1);
????????
????????%?Detect?alphas?according?to?the?costs?(Eq.?5)
????????[costs_auxinds]?=?sort(costs_aux‘ascend‘);
????????coyotes_aux??????=?coyotes_aux(inds:);
????????ages_aux?????????=?ages_aux(inds:);
????????c_alpha??????????=?coyotes_aux(1:);
????????
????????%?Compute?the?social?tendency?of?the?pack?(Eq.?6)
????????tendency?????????=?median(coyotes_aux1);
????????
????????%?Update?coyotes‘?social?condition
????????new_coyo
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????6392??2018-10-06?11:51??COA.m
?????文件?????????161??2018-10-06?11:51??Rastrigin.m
?????文件?????????645??2018-10-06?11:51??RunCOA.m
?????文件????????1470??2018-10-06?11:51??license.txt
- 上一篇:8086仿真
- 下一篇:DrawBorad.tar.xz
評論
共有 條評論