CEC13BenchMark测试
前言
这篇文章Problem Definitions and Evaluation Criteria for the CEC 2013 Special Session
on Real-Parameter Optimization介绍了CEC13BenchMark测试,我们可以用CEC13BenchMark来测试我们的算法,CEC13BenchMark包含28个基准函数,如下图所示。
由上图可以看出这28个基准函数总共有三种类型,分别是Unimodal Functions(单峰函数)、Basic Multimodal Functions(基础多模函数)、Composition Functions(组合函数)。
接下来是对这28个基准函数的详细介绍,主要从函数定义、函数图像和函数属性三方面介绍。
一、函数介绍
1. Unimodal Functions
2. Basic Multimodal Functions
可以看出多模函数比单峰函数要复杂,且有多个极值,所以很多优化算法在多模函数上很容易陷入局部最优,无法取得很好的收敛效果。
3. Composition Functions
可以看到组合函数其实就是上述两种函数(Unimodal Function和Basic Multimodal Function)的组合。
二、评价标准
1.实验设置
- 维数D:分别设置为10、30、50
- 运行次数:51次
- 最大迭代次数:设置为维数D*10000
- 搜索空间:设置为[-100,100]
- 初始化:在搜索空间均匀随机初始化
- 终止条件:达到最大迭代次数或者误差小于10−810^{-8}10−8
2. 实验结果记录
1)误差记录
每次运行(0.01,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0)* 最大迭代次数后,记录下这11个误差值,运行51次后,选出每次运行的最小误差和最大误差,然后记录这51次误差值的最小值、最大值、平均值、3中位数和标准差。
2)算法复杂度
a)先运行下面代码,记录运行时间T0:
for i=1:1000000
x= 0.55 + (double) i;
x=x + x; x=x./2; x=x*x; x=sqrt(x); x=log(x); x=exp(x); y=x/x;
end
b)只测试函数f14f_{14}f14,选定某个维数D评估200000次,只记录f14f_ {14}f14的计算时间T1
c)只测试函数f14f_{14}f14,选定相同的维数D评估200000次,记录算法完整的计算时间T2
d)执行步骤c 5次,取T2T2T2的平均值T2^\hat{T2}T2^
算法的复杂度由T2^,T1,T0\hat{T2},T1,T0T2^,T1,T0和(T2^−T1\hat{T2}-T1T2^−T1)/T0T0T0衡量
论文看完了,但是代码还没有编写,还在学习如何使用CEC2013基准测试函数来测试我实现的优化算法,目前在GitHub上找到一个资料学习CEC2013,我想这个应该是集成好了,只用调用相应的接口来测试就行。
CEC13BenchMark测试相关推荐
- locust入门:单机使用locust运行压力测试
locust的官方文档在这里: http://docs.locust.io/en/stable/ 前置:locust的测试脚本使用为python(若未安装python环境,可以搜索安装python) ...
- HA: InfinityStones靶机渗透测试
文章目录 靶机信息 一.信息收集 1.主机发现 2.端口扫描 3.目录扫描 二.漏洞挖掘 1.访问 192.168.1.108 2.访问 /img 目录 3.访问 https 服务(443)端口 4. ...
- HA: Forensics靶机渗透测试
文章目录 靶机说明: 一.信息收集 1.主机发现 2.端口扫描 二.漏洞挖掘 1.访问靶机 web 服务 2.使用 dirb 进行目录扫描 3.使用 exiftool 提取数据 4.使用 dirb 扫 ...
- YOLOv4 资源环境配置和测试样例效果
YOLOv4 资源环境配置和测试样例效果 基本环境:cuda=10.0,cudnn>=7.0, opencv>=2.4 一.下载yolov4 git clone https://githu ...
- 大数据调度平台Airflow(八):Airflow分布式集群搭建及测试
目录 Airflow分布式集群搭建及测试 一.节点规划 二.airflow集群搭建步骤 1.在所有节点安装python3.7 2.在所有节点上安装airflow 三.初始化Airflow 1.每台节点 ...
- 2021年大数据ELK(九):使用VSCode测试分词器
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 使用VSCode测试分词器 一.准备VSCode开发环境 1.打开VSCode ...
- [FaceBook]测试、发布和分享小游戏
FaceBook小游戏 测试.发布和分享小游戏 对于小游戏,您现在可以十分轻松地在本地测试开发版本,自动完成发布流程,以及与团队分享编译版本.本文档会详细说明这些步骤. 通过本地服务器测试游戏 小游戏 ...
- [JAVAEE] 使用Postman测试接口
使用Postman测试接口 HelloController.java package com.example.demo.controller;import org.springframework.we ...
- Android 弱网测试(小米手机切换3g和2g)
Android 弱网测试,目前主要的是4g 弱网的话我们可以使用3g和2g 对app 进行测试 现在以小米手机为例 我们测试不同网络下的加载情况 第一步 第二步 第三步: 然后我们就可以根据不同的网络 ...
最新文章
- 深度学习开源库tiny-dnn的使用(MNIST)
- android点滴 之 进度条
- hdu 4460 friend chains spfa 最短路里面的最长路
- 【正一专栏】欧冠小组赛第四轮综述——有钱就能风清扬
- 远程桌面mstsc /console(/admin) 的运用
- 容器大小_C++ 顺序容器基础知识总结
- WebService C#开发/调用
- Linux 网络编程详解四(流协议与粘包)
- Android手机打造你的PythonJava开发工具!
- Sharding-Sphere,Sharding-JDBC_介绍_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记001
- 数据-第16课-栈的应用实战二
- Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)
- 如何使用keil 5 编写 51单片机 工程
- 百度引流软文怎么写?如何利用软文从百度引流?
- C语言学习一些指针随笔记
- 「算法」拓扑排序(货真价实,童叟无欺)
- Windows Terminal 关闭声音/提示音/table提示音
- Android 7.1.1 通话记录数据库详解
- Android 如何配置NTP对时server?
- 网络安全模拟题----软考高项的走过来
热门文章
- this ts 方法获取_浅谈 JavaScript / TS 中的 this
- 树莓派pico入门指引
- 深度学习:卷积神经网络(CNN)
- 简单、易用、易学,这个全自动测试平台真香
- 使用 Python 进行深度学习以进行裂纹检测
- nginx服务器的文件大小的限制解决办法
- PD协议之Request(下面统称“请求”)的作用
- CCV (ICF DPM)
- Ruby学习-安装、升级Ruby菜鸟教程(Linux环境下)
- 从“平板之父”到连续创业者, Jerry Kaplan传奇来袭