CEC 2019 Benchmarks

The CEC2019 benchmark collection contains all functions from the CEC 2019 Competition. More information can be found in the CEC 2019 GitHub page.

Sources:

    1. Price, N. H. Awad, M. Z. Ali, P. N. Suganthan, “Problem Definitions and Evaluation Criteria for the 100-Digit Challenge Special Session and Competition on Single Objective Numerical Optimization,” Technical Report, Nanyang Technological University, Singapore, November 2018.

Available Problems

  • bocode.CEC.CEC2019.CEC2019_p1

  • bocode.CEC.CEC2019.CEC2019_p2

  • bocode.CEC.CEC2019.CEC2019_p3

  • bocode.CEC.CEC2019.CEC2019_p4

  • bocode.CEC.CEC2019.CEC2019_p5

  • bocode.CEC.CEC2019.CEC2019_p6

  • bocode.CEC.CEC2019.CEC2019_p7

  • bocode.CEC.CEC2019.CEC2019_p8

  • bocode.CEC.CEC2019.CEC2019_p9

  • bocode.CEC.CEC2019.CEC2019_p10

Problem Details

No.

Functions

D

Bounds

1

Storn’s Chebyshev Polynomial Fitting Problem

9

[-8192, 8192]

2

Inverse Hilbert Matrix Problem

16

[-16384, 16384]

3

Lennard-Jones Minimum Energy Cluster

18

[-4, 4]

4

Rastrigin’s Function

10

[-100, 100]

5

Griewangk’s Function

10

[-100, 100]

6

Weierstrass Function

10

[-100, 100]

7

Modified Schwefel’s Function

10

[-100, 100]

8

Expanded Schaffer’s F6 Function

10

[-100, 100]

9

Happy Cat Function

10

[-100, 100]

10

Ackley Function

10

[-100, 100]

Example Usage

import bocode
import torch

# Create a Botorch benchmark problem
problem = bocode.CEC.CEC2019.CEC2019_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 2019 Problem 1 (Storn's Chebyshev Polynomial Fitting Problem) function value at origin: {values[0]}")

Output:

CEC 2019 Problem 1 (Storn's Chebyshev Polynomial Fitting Problem) function value at origin: tensor([1.])