独家发布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年最新提出的算法分别是:
- 苦鱼优化算法(Bitterling Fish Optimization,BFO);
- 冠豪猪优化器(Crested Porcupine Optimizer, CPO);
- 美洲狮优化器(Puma optimizer,Puma);
- 鹅算法(GOOSE algorithm,GOOSE);
- 人类进化优化算法(Human Evolutionary Optimization Algorithm ,HEOA);
- 角蜥优化算法(Horned Lizard Optimization Algorithm,HLOA);
- 河马优化算法(Hippopotamus optimization algorithm,HO);
- 爱情进化算法(Love Evolution Algorithm,LEA);
- 鹦鹉优化器(Parrot Optimizer, PO);
- 牛顿 - 拉斐尔优化器(Newton - Raphson - based optimizer, NRBO)。
对应的参考文献如下:
- Bitterling fish optimization (BFO) algorithm
- Crested Porcupine Optimizer: A new nature - inspired metaheuristic
- Puma optimizer (PO): a novel metaheuristic optimization algorithm and its application in machine learning
- GOOSE algorithm: a powerful optimization tool for real - world engineering challenges and beyond
- Human Evolutionary Optimization Algorithm
- A novel metaheuristic inspired by horned lizard defense tactics
- Hippopotamus optimization algorithm: a novel nature - inspired optimization algorithm
- Love Evolution Algorithm: a stimulus–value–role theory - inspired evolutionary algorithm for global optimization
- Parrot optimizer: Algorithm and applications to medical problems
- 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测试集上到底谁能脱颖而出!