若干优化问题的测试集

先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。

原文在这里:点一下

所有测试集的获取源在公众号里(启发式算法讨论

这一期主要是给大家分享CEC系列的测试套件,方便大家做数值实验。包含单目标无约束优化、单目标约束优化、多目标无约束优化、多目标约束优化、多模态优化、稀疏优化问题的测试集函数等内容。”

优化算法的性能是相对于问题而言的,测试集就是用来检验函数的性能。不同的优化问题有不同的评价指标。说白了,就是你的算法和其他算法在测试集上跑出的结果进行对比,利用评价指标进行评价,通过统计检验等方法证明你的算法牛逼~

01

CEC测试集

CEC2005特别会议/实参数单目标优化进化算法竞赛:

CEC2005测试集是应用最多、最经典的一个测试集,包含23个Benchmark函数。具体信息如下图:

CEC2005测试集MATLAB代码获取:

CEC2006特别会议/实参数单目标约束优化进化算法竞赛:

CEC2006是使用最多的一个单目标约束优化问题测试集,包含24个单目标约束优化测试函数。具体信息如下图:

CEC2006测试集MATLAB代码获取:

CEC2007特别会议/实参数多目标优化进化算法性能评估竞赛:

CEC2007包含了13个多目标优化函数,用于测试多目标进化算法的性能。具体信息如下图:

CEC2007测试集MATLAB代码获取:

CEC2009特别会议/实参数多目标优化进化算法性能评估竞赛:

CEC2009包含了23个测试实例:13个无约束实例、10个约束实例。因为是实例,所以没有概括性的表格进行展示。

CEC2009测试集MATLAB代码获取:

CEC2010特别会议/实参数单目标约束优化进化算法竞赛:

CEC2010也是使用较广泛的一个单目标约束优化测试集,包含18个单目标约束优化测试函数。具体信息如下图:

CEC2010测试集MATLAB代码获取:

CEC2011特别会议/在实际数值优化问题上测试进化算法竞赛:

CEC2011包含13个实际应用问题,其中,第11个应用又包含10种情形。想用算法做应用的朋友可以了解一下。具体信息如下图:

CEC2011测试集MATLAB代码获取:

CEC2013特别会议/实参数单目标优化进化算法竞赛:

CEC2013包含28个单目标的测试函数,是应用最广泛的测试集之一。具体信息如下图:

CEC2013测试集MATLAB代码获取:

CEC2013测试集Python代码获取:

CEC2014特别会议/实参数单目标优化进化算法竞赛:

CEC2014包含30个单目标的测试函数,也是应用最广泛的测试集之一。具体信息如下图:

CEC2014测试集MATLAB代码获取:

CEC2015特别会议/基于学习的实参数单目标优化竞赛:

CEC2015包含15个Learning-based Benchmark问题,这些问题被视为是黑箱问题,没有显式的方程,并且带有边界约束。具体信息如下图:

CEC2015测试集MATLAB代码获取:

CEC2016特别会议/实参数单目标优化进化算法竞赛:

CEC2016包含15个单目标约束优化函数,这些函数基于CEC2015测试集。具体信息如下图:

CEC2016测试集MATLAB代码获取:

CEC2017特别会议/实参数单目标优化进化算法竞赛:

CEC2017包含30个单目标优化函数,这些函数都比较复杂,带有边界约束,能够充分检验算法的综合性能。具体信息如下图(注意,CEC2017的F2是有问题的,严格来说只有29个Benchmark函数,官方已经作了声明):

CEC2017测试集MATLAB代码获取:

CEC2018特别会议/实参数单目标优化进化算法竞赛:

CEC2018包含了28个单目标的约束优化问题,28个Benchmark问题的具体信息如下图:

CEC2018测试集MATLAB代码获取:

CEC2019(GECCO19)特别会议/实参数单目标优化进化算法竞赛:

CEC2019仅包含了10个Benchmark问题,即10个要优化的函数。竞赛的目标是在不受时间限制的情况下计算每个函数的最小值到10位精度,因此也叫100-Digit挑战。要求参赛者用一种算法解决所有的十个问题。另一个不同之处在于,算法在给定函数上的得分是在50次试验中最好的25次结果的均值。不过,我们在使用时,就像平常的实验就可以了。10个Benchmark问题的具体信息如下:

CEC2019测试集MATLAB代码获取:

公众号里面

接下来注意:CEC2020和CEC2021都有两个测试集,一个是Benchmark函数测试集,一个是Real-World优化问题的测试集。简单一点说就是,一个是优化函数,一个是实际问题。

CEC2020(GECCO20)特别会议/现实世界的单目标约束优化问题竞赛:

1. CEC2020优化函数测试集

CEC2020的优化函数测试套件包含了10个Benchmark问题,具体信息如下图:

CEC2020优化函数测试集MATLAB代码获取:

2. CEC2020实际问题测试集(单目标约束)

CEC2020的实际问题测试套件包含了57个现实世界的单目标约束优化问题,包括:工业化学流程问题(7个)、工艺综合与设计问题(7个)、机械工程问题(19个)、电力系统问题(11个)、电子电路问题(6个)、畜牧业饲料配比问题(7个)。具体信息如下图:

CEC2020实际问题测试集MATLAB代码获取:

CEC2021(GECCO21)特别会议/现实世界的单目标约束优化问题竞赛:

1. CEC2021优化函数测试集

CEC2021的优化函数测试套件包含了10个Benchmark问题,实际上是从CEC2014和CEC2017中挑选出的函数组合而成,和上面CEC2020的优化函数测试集相同。具体信息如下图:

CEC2021优化函数测试集MATLAB代码获取:

2. CEC2021实际问题测试集(多目标约束)

CEC2021的实际问题测试套件包含了50个现实世界的多目标约束优化问题,包括:机械设计问题(21个)、化学工程问题(3个)、工艺综合与设计问题(5个)、电力电子问题(6个)、电力系统优化问题(15个)。这些多目标约束优化问题的具体信息如下图:

CEC2021实际问题测试集MATLAB代码获取:

02

其他测试套件

1. 难度可调且可扩展的多目标约束测试问题工具包

开源获取,获取源:

2. 稀疏优化测试函数

为了解决稀疏优化问题,人们提出了许多单目标稀疏优化算法。然而,单目标稀疏优化问题的调节参数难以确定。为了消除调节参数,提出了多种多目标稀疏优化算法,但重构精度不理想。这些测试函数旨在促进新算法的设计,以解决多余的优化问题。

开源获取,获取源:

  • 14
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: emd优化bp神经网络的matlab代码中,首先需要导入相关的基本库和函数。然后定义网络的结构,包括输入层、隐藏层和输出层的节点个数,以及激活函数等参数。接下来,初始化网络的权重和偏置矩阵,可以使用随机初始化的方法。 然后,进行网络的训练和优化。首先,根据输入数据计算网络的输出,利用前向传播的方法实现。然后,根据网络输出和期望输出之间的误差,利用误差反向传播的方法进行权重和偏置的更新。这里可以使用梯度下降法来优化,即根据误差和学习率来更新参数值。 接着,利用emd算法对网络进行优化。emd是一种非线性优化算法,利用分块法对网络的权重和偏置进行优化更新。通过迭代的方式,不断更新权重和偏置,直到达到指定的优化目标。 最后,进行网络的测试和预测。使用训练好的网络模型对新的输入数据进行预测,得到输出结果。 需要注意的是,emd优化bp神经网络的matlab代码中,还需要设置一些参数,如学习率、训练轮数、误差阈值等。这些参数的设置需要根据具体的问题和数据集来确定,以保证网络能够得到较好的性能和收敛速度。 总之,emd优化bp神经网络的matlab代码可以通过导入基础库、定义网络结构、初始化参数、训练和优化网络、测试和预测等步骤来实现。代码的具体实现可以随着实际需求和情况进行相应的调整和改进。 ### 回答2: emd优化bp神经网络的matlab代码主要包括以下几个步骤: 1. 数据预处理:将原始数据进行归一化处理,使其在0到1之间,并将数据分为训练集和测试集。 2. 初始化参数:设置神经网络的输入层、隐藏层和输出层的神经元个数,并随机初始化权重和偏置。 3. 前向传播:根据当前的权重和偏置计算每个隐藏层和输出层的激活值。使用sigmoid函数将激活值映射到0到1之间。 4. 计算误差:计算输出层的误差,使用均方误差函数或交叉熵函数来衡量预测值和实际值之间的差异。 5. 反向传播:根据误差计算输出层和隐藏层的梯度。更新权重和偏置,使误差最小化。 6. EMD优化:将误差传递到上一层网络,并根据误差的分布调整权重和偏置。 7. 重复训练:重复进行前向传播、误差计算、反向传播和EMD优化,直到达到预设的训练次数或误差达到可接受的范围。 8. 测试模型:使用最终训练得到的模型对测试集进行预测,计算预测值和实际值之间的误差。 9. 评估模型:根据测试结果评估模型的性能,可以使用准确率、精确率、召回率等指标来评估模型的表现。 10. 调参优化:根据评估结果对模型进行调参优化,如调整学习率、隐藏层神经元个数等,以达到更好的性能。 以上就是emd优化bp神经网络的matlab代码的主要步骤。根据具体的问题和数据集,可以对代码进行一些调整和优化,以提高模型的性能和训练效果。 ### 回答3: 首先,EMD是一种信号处理方法,用于处理非平稳信号。通过将信号分解成一系列本质模态函数(IMF),EMD可以提取出信号中的局部特征和频率特征。而BP神经网络是一种常用的人工神经网络模型,用于模式识别和函数逼近。 在优化BP神经网络的MATLAB代码中,可以使用EMD来提取输入信号的特征,以改善网络的性能。以下是一个基本的步骤: 1. 准备数据:收集并整理要输入到神经网络的数据。确保数据的准确性和合理性。 2. 数据预处理:对数据进行预处理,例如去除噪声、归一化或标准化数据。这有助于提高神经网络的训练速度和准确性。 3. 特征提取:使用EMD技术对输入信号进行特征提取。EMD将信号分解成若干IMF,并提取出特征。这些特征可以用于训练BP神经网络。 4. 网络设计:设计BP神经网络的结构,包括输入层、隐藏层和输出层的神经元数量。还需要选择适当的激活函数和损失函数。 5. 训练网络:使用训练数据对神经网络进行训练。这可以使用MATLAB中的训练函数实现,例如"trainlm"或"trainbr"。可以根据需要进行多次迭代,以提高网络的性能。 6. 验证与调整:利用验证数据验证训练后的神经网络的性能。根据网络的表现进行必要的调整,例如调整网络结构、选择不同的训练算法或调整网络参数。 7. 测试网络:使用测试数据对训练和验证后的神经网络进行测试。评估网络的性能并分析结果的准确性和可靠性。 8. 优化和改进:根据测试结果,根据需要对网络进行优化和改进。可以尝试不同的参数、算法或网络结构来改善网络的性能。 以上是基本的步骤,使用EMD优化BP神经网络的MATLAB代码。根据实际情况和数据特征,可能还需要进行其他的调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

algorithmzzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值