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_p1bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p2bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p3bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p4bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p5bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p6bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p7bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p8bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p9bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p10bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p11bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p12bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p13bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p14bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p15bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p16bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p17bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p18bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p19bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p20bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p21bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p22bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p23bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p24bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p25bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p26bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p27bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p28bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p29bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p30bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p31bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p32bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p33bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p34bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p35bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p36bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p37bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p38bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p39bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p40bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p41bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p42bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p43bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p44bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p45bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p46bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p47bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p48bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p49bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p50bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p51bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p52bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p53bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p54bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p55bocode.Engineering.CEC2020_RW_Constrained.CEC2020_p56bocode.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.])