CEC 2020 Benchmarks

The CEC2020 benchmark collection contains all functions from the CEC 2020 Competition. More information can be found in the 2020-RW-Constrained-Optimisation GitHub page.

The CEC2020 functions include equality constraints. Equality constraints are defined such that g(x) = 0. Please see Example Usage for an example of how to use them.

Available Problems

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p1

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p2

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p3

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p4

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p5

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p6

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p7

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p8

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p9

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p10

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p11

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p12

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p13

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p14

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p15

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p16

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p17

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p18

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p19

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p20

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p21

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p22

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p23

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p24

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p25

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p26

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p27

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p28

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p29

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p30

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p31

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p32

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p33

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p34

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p35

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p36

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p37

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p38

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p39

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p40

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p41

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p42

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p43

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p44

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p45

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p46

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p47

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p48

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p49

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p50

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p51

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p52

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p53

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p54

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p55

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p56

  • bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p57

Example Usage

import bocode
import torch

# Create a Botorch benchmark problem
problem = bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p1()

# Get problem information
bounds = problem.bounds

# Evaluate at a point
x = torch.Tensor([[0.0] * problem.dim])
values, inequality_constraints, equality_constraints = problem.evaluate(x)

print(f"First CEC 2020 function value at origin: {values[0]}")

Output:

First CEC 2020 function value at origin: tensor([-0.])