CEC 2017 Benchmarks¶
The CEC2017 benchmark collection contains all functions from the CEC 2017 Competition. More information can be found in the CEC 2017 GitHub page.
Sources:
Wu, R. Mallipeddi, and P. N. Suganthan. Problem definitions and evaluation criteria for the CEC 2017 competition on constrained real-parameter optimization. National University of Defense Technology, China, 2016.
Available Problems¶
bocode.CEC.CEC2017.CEC2017_p1bocode.CEC.CEC2017.CEC2017_p2bocode.CEC.CEC2017.CEC2017_p3bocode.CEC.CEC2017.CEC2017_p4bocode.CEC.CEC2017.CEC2017_p5bocode.CEC.CEC2017.CEC2017_p6bocode.CEC.CEC2017.CEC2017_p7bocode.CEC.CEC2017.CEC2017_p8bocode.CEC.CEC2017.CEC2017_p9bocode.CEC.CEC2017.CEC2017_p10bocode.CEC.CEC2017.CEC2017_p11bocode.CEC.CEC2017.CEC2017_p12bocode.CEC.CEC2017.CEC2017_p13bocode.CEC.CEC2017.CEC2017_p14bocode.CEC.CEC2017.CEC2017_p15bocode.CEC.CEC2017.CEC2017_p16bocode.CEC.CEC2017.CEC2017_p17bocode.CEC.CEC2017.CEC2017_p18bocode.CEC.CEC2017.CEC2017_p19bocode.CEC.CEC2017.CEC2017_p20bocode.CEC.CEC2017.CEC2017_p21bocode.CEC.CEC2017.CEC2017_p22bocode.CEC.CEC2017.CEC2017_p23bocode.CEC.CEC2017.CEC2017_p24bocode.CEC.CEC2017.CEC2017_p25bocode.CEC.CEC2017.CEC2017_p26bocode.CEC.CEC2017.CEC2017_p27bocode.CEC.CEC2017.CEC2017_p28bocode.CEC.CEC2017.CEC2017_p29
Problem Details¶
No. |
Functions |
D |
Bounds |
|---|---|---|---|
1 |
Shifted and Rotated Bent Cigar Function |
100 |
[-100, 100] |
2 |
Shifted and Rotated Zakharov Function |
200 |
[-100, 100] |
3 |
Shifted and Rotated Rosenbrock’s Function |
300 |
[-100, 100] |
4 |
Shifted and Rotated Rastrigin’s Function |
400 |
[-100, 100] |
5 |
Shifted and Rotated Expanded Scaffer’s F6 Function |
500 |
[-100, 100] |
6 |
Shifted and Rotated Lunacek Bi_Rastrigin Function |
600 |
[-100, 100] |
7 |
Shifted and Rotated Non-Continuous Rastrigin’s Function |
700 |
[-100, 100] |
8 |
Shifted and Rotated Levy Function |
800 |
[-100, 100] |
9 |
Shifted and Rotated Schwefel’s Function |
900 |
[-100, 100] |
10 |
Hybrid Function 1 (N=3) |
1000 |
[-100, 100] |
11 |
Hybrid Function 2 (N=3) |
1100 |
[-100, 100] |
12 |
Hybrid Function 3 (N=3) |
1200 |
[-100, 100] |
13 |
Hybrid Function 4 (N=4) |
1300 |
[-100, 100] |
14 |
Hybrid Function 5 (N=4) |
1400 |
[-100, 100] |
15 |
Hybrid Function 6 (N=4) |
1500 |
[-100, 100] |
16 |
Hybrid Function 6 (N=5) |
1600 |
[-100, 100] |
17 |
Hybrid Function 6 (N=5) |
1700 |
[-100, 100] |
18 |
Hybrid Function 6 (N=5) |
1800 |
[-100, 100] |
19 |
Hybrid Function 6 (N=6) |
1900 |
[-100, 100] |
20 |
Composition Function 1 (N=3) |
2000 |
[-100, 100] |
21 |
Composition Function 2 (N=3) |
2100 |
[-100, 100] |
22 |
Composition Function 3 (N=4) |
2200 |
[-100, 100] |
23 |
Composition Function 4 (N=4) |
2300 |
[-100, 100] |
24 |
Composition Function 5 (N=5) |
2400 |
[-100, 100] |
25 |
Composition Function 6 (N=5) |
2500 |
[-100, 100] |
26 |
Composition Function 7 (N=6) |
2600 |
[-100, 100] |
27 |
Composition Function 8 (N=6) |
2700 |
[-100, 100] |
28 |
Composition Function 9 (N=3) |
2800 |
[-100, 100] |
29 |
Composition Function 10 (N=3) |
2900 |
[-100, 100] |
Example Usage¶
import bocode
import torch
# Create a Botorch benchmark problem
problem = bocode.CEC.CEC2017.CEC2017_p1()
# Get problem information
bounds = problem.bounds
# Evaluate at a point
x = torch.Tensor([[0.0] * problem.dim])
values, constraints = problem.evaluate(x)
print(f"CEC 2017 Problem 1 (Shifted and Rotated Bent Cigar Function) function value at origin: {values[0]}")
Output:
CEC 2017 Problem 1 (Shifted and Rotated Bent Cigar Function) function value at origin: tensor([8.4787e+10])