• 大小: 30KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-24
  • 语言: 其他
  • 标签: bbo  代码  

资源简介

Simon的bbo源代码,已测试,非常好用,包括其他七个算法的基本代码,很专业

资源截图

代码片段和文件信息

function [InitFunction CostFunction FeasibleFunction] = Ackley

InitFunction = @AckleyInit;
CostFunction = @AckleyCost;
FeasibleFunction = @AckleyFeasible;
return;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [MaxParValue MinParValue Population OPTIONS] = AckleyInit(OPTIONS)

global MinParValue MaxParValue
Granularity = 0.1;
MinParValue = 1;
MaxParValue = floor(1 + 2 * 30 / Granularity);
% Initialize population
for popindex = 1 : OPTIONS.popsize
    chrom = floor(MinParValue + (MaxParValue - MinParValue + 1) * rand(1OPTIONS.numVar));
    Population(popindex).chrom = chrom;
end
OPTIONS.OrderDependent = false;
return;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [Population] = AckleyCost(OPTIONS Population)

% Compute the cost of each member in Population

global MinParValue MaxParValue
popsize = OPTIONS.popsize;
p = OPTIONS.numVar;
for popindex = 1 : popsize
    sum1 = 0;
    sum2 = 0;
    for i = 1 : p
        gene = Population(popindex).chrom(i);
        x = (gene - MinParValue) / (MaxParValue - MinParValue) * 2 * 30 - 30;
        sum1 = sum1 + x^2;
        sum2 = sum2 + cos(2*pi*x);
    end
    Population(popindex).cost = 20 + exp(1) - 20 * exp(-0.2*sqrt(sum1/p)) - exp(sum2/p);    
end
return

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [Population] = AckleyFeasible(OPTIONS Population)

global MinParValue MaxParValue
for i = 1 : OPTIONS.popsize
    for k = 1 : OPTIONS.numVar
        Population(i).chrom(k) = max(Population(i).chrom(k) MinParValue);
        Population(i).chrom(k) = min(Population(i).chrom(k) MaxParValue);
    end
end
return;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1631  2007-02-13 11:05  Step.m
     文件        1727  2007-01-29 10:11  Ackley.m
     文件        3748  2007-02-15 12:33  ACO.m
     文件        8386  2008-12-16 08:31  BBO.m
     文件         743  2007-01-12 14:11  ClearDups.m
     文件         524  2007-01-12 13:58  ComputeAveCost.m
     文件         914  2007-01-29 08:55  Conclude.m
     文件        3142  2007-01-29 08:56  DE.m
     文件        3329  2008-08-12 15:12  ES.m
     文件        2285  2007-01-29 09:11  Fletcher.m
     文件        5746  2007-01-29 08:56  GA.m
     文件        1720  2007-01-29 09:12  Griewank.m
     文件        1579  2008-03-01 10:52  Init.m
     文件        5320  2007-09-03 10:30  MAPSS.m
     文件        2940  2008-03-01 10:31  Monte.m
     文件        3826  2007-08-01 15:52  PBIL.m
     文件        2116  2007-02-13 12:13  Penalty1.m
     文件        2120  2007-02-13 14:06  Penalty2.m
     文件         530  2007-08-01 13:59  PopSort.m
     文件        3970  2007-02-27 16:12  PSO.m
     文件        1634  2007-02-13 11:21  Quartic.m
     文件        1701  2007-01-29 09:13  Rastrigin.m
     文件        1866  2007-01-29 09:14  Rosenbrock.m
     文件        1719  2007-01-29 10:14  Schwefel.m
     文件        1781  2007-01-29 09:27  Schwefel2.m
     文件        1690  2007-02-13 10:25  Schwefel3.m
     文件        1660  2007-02-13 10:49  Schwefel4.m
     文件        1659  2007-01-29 09:15  Sphere.m
     文件        6320  2005-02-08 17:02  matrices.mat
     文件        5912  2007-08-01 09:56  StudGA.m
     文件        3609  2008-08-12 15:21  readme.txt
............此处省略0个文件信息

评论

共有 条评论