资源简介

混沌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;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1508  2020-09-28 23:36  license.txt
     文件        1727  2020-09-28 23:36  CBBO\Ackley.m
     文件        8427  2020-09-28 23:36  CBBO\BBO.m
     文件        8628  2020-09-28 23:36  CBBO\CBBO11_20.m
     文件        8619  2020-09-28 23:36  CBBO\CBBO1_10.m
     文件        8533  2020-09-28 23:36  CBBO\CBBO21_30.m
     文件        8552  2020-09-28 23:36  CBBO\CBBO31_40.m
     文件        8629  2020-09-28 23:36  CBBO\CBBO41_50.m
     文件        1694  2020-09-28 23:36  CBBO\chaos.m
     文件         743  2020-09-28 23:36  CBBO\ClearDups.m
     文件         443  2020-09-28 23:36  CBBO\ComputeAveCost.m
     文件         914  2020-09-28 23:36  CBBO\Conclude.m
     文件         925  2020-09-28 23:36  CBBO\CountUnique.m
     文件        2285  2020-09-28 23:36  CBBO\Fletcher.m
     文件        1623  2020-09-28 23:36  CBBO\Griewank.m
     文件        1581  2020-09-28 23:36  CBBO\Init.m
     文件        4060  2020-09-28 23:36  CBBO\main.m
     文件        2940  2020-09-28 23:36  CBBO\Monte.m
     文件        2116  2020-09-28 23:36  CBBO\Penalty1.m
     文件        2120  2020-09-28 23:36  CBBO\Penalty2.m
     文件         458  2020-09-28 23:36  CBBO\PopSort.m
     文件        1634  2020-09-28 23:36  CBBO\Quartic.m
     文件        1744  2020-09-28 23:36  CBBO\Rastrigin.m
     文件        2398  2020-09-28 23:36  CBBO\readme.txt
     文件        1866  2020-09-28 23:36  CBBO\Rosenbrock.m
     文件        1719  2020-09-28 23:36  CBBO\Schwefel.m
     文件        5950  2020-09-28 23:36  CBBO\TransitionMonte.m
     文件         282  2020-09-28 23:36  CBBO\TransitionMonteAll.m

评论

共有 条评论