Engineering Benchmarks

The Engineering benchmark collection contains various Engineering-related functions.

Available Problems

  • bocode.Engineering.CarSideImpact

  • bocode.Engineering.EulerBernoulliBeamBending

  • bocode.Engineering.GearTrain

  • bocode.Engineering.Mazda_SCA

  • bocode.Engineering.Mazda

  • bocode.Engineering.MOPTA08Car

  • bocode.Engineering.RobotPush

  • bocode.Engineering.Rover

  • bocode.Engineering.Truss10D

  • bocode.Engineering.Truss25D

  • bocode.Engineering.TwoBarTruss

  • bocode.Engineering.WaterProblem

  • bocode.Engineering.WaterResources

  • Bayesian CHT Functions (bocode.Engineering.BayesianCHT)

    Source

    Y.-K. Tsai and R. J. Malak Jr, “Surrogate-assisted constraint-handling technique for constrained parametric multi-objective optimization,” Structural and Multidisciplinary Optimization, 2024.

    • bocode.Engineering.BayesianCHT.NonLinearConstraintProblemA3

    • bocode.Engineering.BayesianCHT.NonLinearConstraintProblemA4

    • bocode.Engineering.BayesianCHT.NonLinearConstraintProblemA7

    • bocode.Engineering.BayesianCHT.NonLinearConstraintProblemA8

    • bocode.Engineering.BayesianCHT.NonLinearConstraintProblemB3

    • bocode.Engineering.BayesianCHT.NonLinearConstraintProblemB4

    • bocode.Engineering.BayesianCHT.NonLinearConstraintProblemB7

    • bocode.Engineering.BayesianCHT.NonLinearConstraintProblemB8

  • Mujoco Functions (bocode.Engineering.Gym)

    Source

    1. Todorov, T. Erez, and Y. Tassa, “MuJoCo: A physics engine for model-based control,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., pp. 5026–5033, 2012. doi: 10.1109/IROS.2012.6386109.

    • bocode.Engineering.Gym.AntProblem

    • bocode.Engineering.Gym.HalfCheetahProblem

    • bocode.Engineering.Gym.HopperProblem

    • bocode.Engineering.Gym.HumanoidProblem

    • bocode.Engineering.Gym.HumanoidStandupProblem

    • bocode.Engineering.Gym.InvertedDoublePendulumProblem

    • bocode.Engineering.Gym.InvertedPendulumProblem

    • bocode.Engineering.Gym.PusherProblem

    • bocode.Engineering.Gym.ReacherProblem

    • bocode.Engineering.Gym.SwimmerProblem

    • bocode.Engineering.Gym.Walker2DProblem

    • bocode.Engineering.Gym.SwimmerPolicySearchProblem

    • bocode.Engineering.Gym.AntPolicySearchProblem

    • bocode.Engineering.Gym.HalfCheetahPolicySearchProblem

    • bocode.Engineering.Gym.HopperPolicySearchProblem

    • bocode.Engineering.Gym.Walker2DPolicySearchProblem

Example Usage

import bocode
import torch

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

# Get problem information
bounds = problem.bounds

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

print(f"Gear Train function value at [0.5]*4: {values[0]}")

Output:

Gear Train function value at [0.5]*4: tensor([-0.7323])