独家发布10个2024年新算法跑CEC2018测试集 10个2024年的新算法跑CEC2018测试集并且输出评价指标。 2024年最新提出的算法,具体有: 1、苦鱼优化算法(Bitterling Fish Optimization,BFO); 2、冠豪猪优化器(Crested Porcupine Optimizer, CPO); 3、美洲狮优化器(Puma optimizer,Puma); 4、鹅算法(GOOSE algorithm,GOOSE); 5、人类进化优化算法(Human Evolutionary Optimization Algorithm ,HEOA); 6、角蜥优化算法(Horned Lizard Optimization Algorithm,HLOA); 7、河马优化算法(Hippopotamus optimization algorithm,HO); 8、爱情进化算法(Love Evolution Algorithm,LEA); 9、鹦鹉优化器(Parrot Optimizer, PO); 10、牛顿-拉斐尔优化器(Newton-Raphson-based optimizer, NRBO); 参考文献分别对应如下: 1、Bitterling fish optimization (BFO) algorithm 2、Crested Porcupine Optimizer: A new nature-inspired metaheuristic 3、Puma optimizer (PO): a novel metaheuristic optimization algorithm and its application in machine learning 4、GOOSE algorithm: a powerful optimization tool for real-world engineering challenges and beyond 5、Human Evolutionary Optimization Algorithm 6、A novel metaheuristic inspired by horned lizard defense tactics 7、Hippopotamus optimization algorithm: a novel nature-inspired optimization algorithm 8、Love Evolution Algorithm: a stimulus–value–role theory-inspired evolutionary algorithm for global optimization 9、Parrot optimizer: Algorithm and applications to medical problems 10、Newton-Raphson-based optimizer: A new population-based metaheuristic algorithm for continuous optimization problems 点击 mainsingle 运行单个算法,点击 maincompare 运行10个算法并且绘制收敛曲线,点击main_indicator运行多次并且自动保存评价指标,包括平均值、标准差、平均收敛曲线、秩和检验p值、Friedman值、Friedman排名。 算法是独立的.m文件,方便管理和二次开发。 实验结果如下:

在算法的江湖里,新招式总是层出不穷,2024年就有10位“武林高手”闪亮登场。今天,咱们就来看看这10个新算法在CEC2018测试集上的表现,并且输出评价指标,揭开它们的神秘面纱。

这10个2024年最新提出的算法分别是:

  1. 苦鱼优化算法(Bitterling Fish Optimization,BFO);
  2. 冠豪猪优化器(Crested Porcupine Optimizer, CPO);
  3. 美洲狮优化器(Puma optimizer,Puma);
  4. 鹅算法(GOOSE algorithm,GOOSE);
  5. 人类进化优化算法(Human Evolutionary Optimization Algorithm ,HEOA);
  6. 角蜥优化算法(Horned Lizard Optimization Algorithm,HLOA);
  7. 河马优化算法(Hippopotamus optimization algorithm,HO);
  8. 爱情进化算法(Love Evolution Algorithm,LEA);
  9. 鹦鹉优化器(Parrot Optimizer, PO);
  10. 牛顿 - 拉斐尔优化器(Newton - Raphson - based optimizer, NRBO)。

对应的参考文献如下:

  1. Bitterling fish optimization (BFO) algorithm
  2. Crested Porcupine Optimizer: A new nature - inspired metaheuristic
  3. Puma optimizer (PO): a novel metaheuristic optimization algorithm and its application in machine learning
  4. GOOSE algorithm: a powerful optimization tool for real - world engineering challenges and beyond
  5. Human Evolutionary Optimization Algorithm
  6. A novel metaheuristic inspired by horned lizard defense tactics
  7. Hippopotamus optimization algorithm: a novel nature - inspired optimization algorithm
  8. Love Evolution Algorithm: a stimulus–value–role theory - inspired evolutionary algorithm for global optimization
  9. Parrot optimizer: Algorithm and applications to medical problems
  10. Newton - Raphson - based optimizer: A new population - based metaheuristic algorithm for continuous optimization problems

代码部分,咱们有几个关键的运行选项。先来看运行单个算法的代码示例,假设我们要运行苦鱼优化算法(BFO):

% 运行单个算法,这里以BFO为例
% 调用BFO算法文件
[best_solution, best_fitness] = BFO(CEC2018_problem, parameters);
% 这里CEC2018_problem是CEC2018测试集的问题定义,parameters是算法的参数
% 代码分析:这行代码调用了BFO算法的函数,传入了测试集问题和算法参数,返回了最优解和最优适应度值。
% 就好比派一个选手去参加比赛,告诉它比赛规则(CEC2018_problem)和自身装备(parameters),最后得到比赛成绩(best_solution和best_fitness)。

如果要运行10个算法并且绘制收敛曲线,我们可以使用maincompare

% 运行10个算法并绘制收敛曲线
% 定义算法列表
algorithm_list = {'BFO', 'CPO', 'Puma', 'GOOSE', 'HEOA', 'HLOA', 'HO', 'LEA', 'PO', 'NRBO'};
for i = 1:length(algorithm_list)
    algorithm_name = algorithm_list{i};
    [fitness_curve] = run_algorithm(algorithm_name, CEC2018_problem, parameters);
    % run_algorithm是一个自定义函数,用于运行指定算法
    plot(fitness_curve);
    hold on;
end
legend(algorithm_list);
% 代码分析:这里我们先定义了一个算法列表,然后通过循环依次运行每个算法,获取它们的收敛曲线并绘制出来。
% 就像是让10个选手依次上场比赛,记录它们在比赛过程中的表现(收敛曲线),最后把这些表现都展示在一张图上,方便我们对比。

再来看运行多次并且自动保存评价指标的main_indicator

% 运行多次并自动保存评价指标
num_runs = 10; % 运行次数
algorithm_list = {'BFO', 'CPO', 'Puma', 'GOOSE', 'HEOA', 'HLOA', 'HO', 'LEA', 'PO', 'NRBO'};
all_results = cell(length(algorithm_list), num_runs);
for i = 1:length(algorithm_list)
    algorithm_name = algorithm_list{i};
    for j = 1:num_runs
        [best_fitness] = run_algorithm(algorithm_name, CEC2018_problem, parameters);
        all_results{i, j} = best_fitness;
    end
end
% 计算评价指标
mean_values = mean(all_results, 2);
std_values = std(all_results, 0, 2);
% 还有平均收敛曲线、秩和检验p值、Friedman值、Friedman排名等指标的计算代码这里省略
% 代码分析:这里我们设置了运行次数,然后通过两层循环多次运行每个算法,记录每次运行的最优适应度值。
% 最后计算了平均值和标准差,就像是让选手多次参加比赛,统计它们的平均成绩和成绩的波动情况。

这些算法都是独立的.m文件,这就好比每个选手都有自己独立的装备包,方便管理和二次开发。

实验结果就像是比赛的成绩单,不过这里先不透露啦,大家可以自己动手运行代码,看看这些2024年的新算法在CEC2018测试集上到底谁能脱颖而出!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐