资源简介

Benchmark functions.zip 是一些常用的优化算法测试函数,共有17个。

资源截图

代码片段和文件信息

function [InitFunction CostFunction] = Ackley
InitFunction = @Init;
CostFunction = @Cost;
return

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [Population OPTIONS] = Init(OPTIONS)
% Initialize the population
if ~isfield(OPTIONS ‘MinDomain‘)
    OPTIONS.MinDomain = -30 * ones(1 OPTIONS.numVar);
end
if ~isfield(OPTIONS ‘MaxDomain‘)
    OPTIONS.MaxDomain = +30 * ones(1 OPTIONS.numVar);
end
OPTIONS.OrderDependent = false; % the order of the independent variables does not matter
OPTIONS = ComputeRandomShift(OPTIONS);
Population = struct(‘chrom‘ cell([1 OPTIONS.popsize]) ‘cost‘ cell([1 OPTIONS.popsize]));
for popindex = 1 : OPTIONS.popsize
    chrom = OPTIONS.MinDomain + (OPTIONS.MaxDomain - OPTIONS.MinDomain) .* rand(1OPTIONS.numVar);
    Population(popindex).chrom = chrom;
end
return

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [Population] = Cost(Population OPTIONS)
% Compute the cost of each member in Population
p = length(Population(1).chrom);
for popindex = 1 : length(Population)
    sum1 = 0;
    sum2 = 0;
    for i = 1 : p
        x = Population(popindex).chrom(i) - OPTIONS.ShiftAmount(i);
        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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1398  2013-10-29 14:37  Ackley.m
     文件        4330  2011-07-29 11:07  AckleyDisc.m
     文件        1798  2011-08-22 12:00  Fletcher.m
     文件        1425  2011-04-08 15:47  FourPeaks.m
     文件        1343  2011-08-22 12:00  Griewank.m
     文件        1460  2011-04-08 16:17  Pairs.m
     文件        1699  2011-08-22 12:00  Penalty1.m
     文件        1690  2011-08-22 12:01  Penalty2.m
     文件        1228  2011-08-22 12:01  Quartic.m
     文件        1255  2011-08-22 12:02  Rastrigin.m
     文件        1357  2013-10-29 14:36  Rosenbrock.m
     文件        1319  2012-01-26 13:26  Schwefel12.m
     文件        1238  2011-08-22 12:03  Schwefel221.m
     文件        1487  2013-10-29 14:32  Schwefel222.m
     文件        1260  2012-08-28 10:18  Schwefel226.m
     文件        1227  2012-05-17 14:31  Sphere.m
     文件        1236  2012-05-17 14:31  Step.m

评论

共有 条评论