博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CEC Benchmark Functions
阅读量:4315 次
发布时间:2019-06-06

本文共 6778 字,大约阅读时间需要 22 分钟。

 

Problem Definitions and Evaluation Criteria for the CEC 2005

Special Session on Real-Parameter Optimization

 

 

Prof. Suguthan website: 

 In the past two decades, different kinds of optimization algorithms have been designed and applied to solve real-parameter function optimization problems. Some of the popular approaches  are real-parameter EAs, evolution strategies (ES), differential evolution (DE), particle swarm optimization (PSO), evolutionary programming (EP), classical methods such as quasi-Newton method (QN), hybrid evolutionary-classical methods, other non-evolutionary methods such as simulated annealing (SA), tabu search (TS) and others. Under each category, there exist many different methods varying in their operators and working principles, such as correlated ES and CMA-ES. In most such studies, a subset of the standard test problems (Sphere, Schwefel's, Rosenbrock's, Rastrigin's, etc.) is considered. Although some comparisons are made in some research studies, often they are confusing and limited to the test problems used in the study. In some occasions, the test problem and chosen algorithm are complementary to each other and the same algorithm may not work in other problems that well. There is definitely a need of evaluating these methods in a more systematic manner by specifying a common termination criterion, size of problems, initialization scheme, linkages/rotation, etc. There is also a need to perform a scalability study demonstrating how the running time/evaluations increase with an increase in the problem size. We would also like to include some real world problems in our standard test suite with codes/executables. In this report, 25 benchmark functions are given and experiments are conducted on some real-parameter optimization algorithms. The codes in Matlab, C and Java for them could be found at . The mathematical formulas and properties of these functions are described in Section 2. In Section 3, the evaluation criteria are given. Some notes are given in Section 4.

 

 

Unimodal Functions (5):

¾ F 1 : Shifted Sphere Function
¾ F 2 : Shifted Schwefel’s Problem 1.2
¾ F 3 : Shifted Rotated High Conditioned Elliptic Function
¾ F 4 : Shifted Schwefel’s Problem 1.2 with Noise in Fitness
¾ F 5 : Schwefel’s Problem 2.6 with Global Optimum on Bounds
 Multimodal Functions (20):
¾ Basic Functions (7):
F 6 : Shifted Rosenbrock’s Function
F 7 : Shifted Rotated Griewank’s Function without Bounds
F 8 : Shifted Rotated Ackley’s Function with Global Optimum on Bounds
F 9 : Shifted Rastrigin’s Function
F 10 : Shifted Rotated Rastrigin’s Function
F 11 : Shifted Rotated Weierstrass Function
F 12 : Schwefel’s Problem 2.13
Expanded Functions (2)

F13 : Expanded Extended Griewank’s plus Rosenbrock’s Function (F8,F2) 

F14 : Shifted Rotated Expanded Scaffer’s F6

Hybrid Composition Functions (11):

F 15 : Hybrid Composition Function

F 16 : Rotated Hybrid Composition Function
F 17 : Rotated Hybrid Composition Function with Noise in Fitness
F 18 : Rotated Hybrid Composition Function
F 19 : Rotated Hybrid Composition Function with a Narrow Basin for the Global  Optimum 
F 20 : Rotated Hybrid Composition Function with the Global Optimum on the Bounds 
F 21 : Rotated Hybrid Composition Function
F 22 : Rotated Hybrid Composition Function with High Condition Number Matrix
F 23 : Non-Continuous Rotated Hybrid Composition Function
F 24 : Rotated Hybrid Composition Function
F 25 : Rotated Hybrid Composition Function without Bounds

 

Search bounds for each function in c code:

1 #ifdef CEC2005 2     switch (funcid)//cec_2005 functions : F1----F25 3     { 4  5         //单峰函数 6     case 1: accuracy = 1.0e-6; *initi_low = -100; *initi_high = 100; *search_low = -100; *search_high = 100; break; 7     case 2: accuracy = 1.0e-6; *initi_low = -100; *initi_high = 100; *search_low = -100; *search_high = 100; break; 8     case 3: accuracy = 1.0e-6; *initi_low = -100; *initi_high = 100; *search_low = -100; *search_high = 100; break; 9     case 4:accuracy = 1.0e-6; *initi_low = -100; *initi_high = 100; *search_low = -100; *search_high = 100; break;10     case 5:accuracy = 1.0e-6; *initi_low = -100; *initi_high = 100; *search_low = -100; *search_high = 100; break;11 12         //多峰函数13     case 6:accuracy = 1.0e-6; *initi_low = -100; *initi_high = 100; *search_low = -100; *search_high = 100; break;14     case 7:accuracy = 1.0e-6; *initi_low = 0; *initi_high = 600; *search_low=-1.0*RAND_MAX ; *search_high=RAND_MAX; break; //无边界搜索15     case 8:accuracy = 1.0e-6; *initi_low = -32; *initi_high = 32; *search_low = -32; *search_high = 32; break;16     case 9:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;17     case 10:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;18     case 11:accuracy = 1.0e-6; *initi_low = -0.5; *initi_high = 0.5; *search_low = -0.5; *search_high = 0.5; break;19     case 12:accuracy = 1.0e-6; *initi_low = -1.0*PI; *initi_high = 1.0*PI; *search_low = -1.0*PI; *search_high = 1.0*PI; break;20 21         //扩展函数22     case 13:accuracy = 1.0e-6; *initi_low = -3; *initi_high = 1; *search_low = -3; *search_high = 1; break;23     case 14:accuracy = 1.0e-6; *initi_low = -100; *initi_high = 100; *search_low = -100; *search_high = 100; break;24 25         //混合函数26     case 15:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;27     case 16:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;28     case 17:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;29     case 18:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;30     case 19:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;31     case 20:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;32     case 21:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;33     case 22:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;34 35     case 23:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;36     case 24:accuracy = 1.0e-6; *initi_low = -5; *initi_high = 5; *search_low = -5; *search_high = 5; break;37     case 25:accuracy = 1.0e-6; *initi_low = 2; *initi_high = 5; *search_low = -1.0*RAND_MAX; *search_high = RAND_MAX; break; //无边界搜索38 39     default:40         accuracy = 1.0e-6; *initi_low = -100; *initi_high = 100; *search_low = -100; *search_high = 100;41         break;42     }43 #endif // CEC2005

 

转载于:https://www.cnblogs.com/tsingke/articles/6030697.html

你可能感兴趣的文章
【机器学习】Learning to Rank 简介
查看>>
Unity 使用实体类
查看>>
【转】通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件...
查看>>
MySQL常见注意事项及优化
查看>>
流畅的Python (Fluent Python) —— 前言
查看>>
Jquery-menu-aim流畅的菜单滑动体验
查看>>
Jquery EasyUI修改行背景的两种方式
查看>>
生成器模式(Builder)C++实现
查看>>
Centos 7.5安装 Redis 5.0.0
查看>>
嵌入式Linux学习笔记(0)基础命令。——Arvin
查看>>
二分图匹配
查看>>
c++ 模板template
查看>>
javascript中的string对象
查看>>
CString的成员函数详解
查看>>
Appium Studio 初体验(windows做ios自动化,录制appium脚本)
查看>>
学习java前端 两种form表单提交方式
查看>>
Linux常用命令
查看>>
整体二分&cdq分治 ZOJ 2112 Dynamic Rankings
查看>>
【POJ2976】Dropping tests (01分数规划入门题)
查看>>
通过正则表达式获取url中参数
查看>>