October 19, 2024

About

There are some of functions for multi-objective optimization in BoTorch as toy problem. They inherit MultiObjectiveTestProblem class below which has attributes num_objectives, _ref_point and _max_hv

class MultiObjectiveTestProblem(BaseTestProblem, ABC):
    num_objectives: int
    _ref_point: List[float]
    _max_hv: Optional[float] = None

Branin-Currin Function

One of problem that is taken in tutorial (https://botorch.org/tutorials/multi_objective_bo) in Multi-Objective Optimization is Branin-Currin function.

The function has 2 input variables, and 2 output as objective.

Branin

f(x) = \left( 15x_1 - \frac{5.1 (15 x_0 - 5)^2}{4 \pi^2} + \frac{5 (15 x_0 - 5)}{\pi} - 5 \right)^2 + \left(10 - \frac{10}{8 \pi}\right) \cos(15 x_0 - 5)

Currin

f(x) = \left(1 - \exp\left(-\frac{1}{2 x_1}\right)\right) \left(\frac{2300 x_0^3 + 1900 x_0^2 + 2092 x_0 + 60}{100} x_0^3 + 500 x_0^2 + 4 x_0 + 20\right)
\begin{align}
\text{s.t.}\\
0 \leq x_0 \leq 1 \\
0 \leq x_1 \leq 1\\
\text{Reference Point} = [18.0, 6.0] \\
\text{Maximum Hypervolume} = 59.36011874867746
\end{align}

Branin and Currin functions are frequently used as benchmarks in the global optimization and machine learning communities. In particular, these functions are often favored in Bayesian optimization research. There are several aspects that make these functions popular.

Branin function

  • Multiple local minima: Branin functions have three local minima in a defined region. This makes them suitable for evaluating how effectively an optimization algorithm can find a global minimum.
  • Computationally affordable: Branin functions are analytically expressed and compute quickly, so they do not require many computational resources for algorithmic trial and error.
  • General benchmark: They are used in many studies, making them useful for comparing the performance of new methods with existing methods.

Currin function

  • Complex response surface: Currin functions are made up of relatively simple formulas, but have a complex response surface when calculated, making them suitable for testing the capabilities of surrogate models.
  • Applicable to surrogate model-based optimization: They are used to verify the effectiveness of optimization methods, especially those using surrogate models. This includes assessing how well a model can approximate a high-dimensional function and how efficient the optimization process is.

Combining Branin-Currin Functions

  • Multiple Objective Optimization Problems: Branin and Currin functions can be combined to create optimization problems with multiple objectives (multi-objective optimization problems). This allows testing an algorithm’s ability to explore trade-offs between different objectives.

These functions are valuable tools for researchers and developers because they provide ideal test cases for how well an algorithm can handle complex real-world problems. The unique challenges each offers allow for effective evaluation of the strengths and weaknesses of new optimization methods.

Carside Impact Problem

The one of the benchmark which has higher dimension than Branin-Currin function in BoTorch is Carside Impact Problem. It has 7 inputs, and 4 objectives. The Car Side Impact Problem is for optimizing the safety and performance of a car during a side impact. This problem is widely used as a benchmark for engineering design and optimization algorithms. The main objective is to maximize the crash safety while minimizing the vehicle weight and satisfying the design constraints.

The 4 objectives are written as follows:

f_1 = 1.98 + 4.9 X_1 + 6.67 X_2 + 6.98 X_3 + 4.01 X_4 + 1.78 X_5 + 10^{-5} X_6 + 2.73 X_7
f_2 = 4.72 - 0.5 X_4 - 0.19 X_2 X_3
V_{\text{MBP}} = 10.58 - 0.674 X_1 X_2 - 0.67275 X_2\\
V_{\text{FD}} = 16.45 - 0.489 X_3 X_7 - 0.843 X_5 X_6\\

f_3 = 0.5 \left( V_{\text{MBP}} + V_{\text{FD}} \right)
\begin{align}
& g_1 = 1 - 1.16 + 0.3717 X_2 X_4 + 0.0092928 X_3 \\
& g_2 = 0.32 - 0.261 + 0.0159 X_1 X_2 + 0.06486 X_1\\
& \quad  + 0.019 X_2 X_7 - 0.0144 X_3 X_5 - 0.0154464 X_6 \\
& g_3 = 0.32 - 0.214 - 0.00817 X_5 + 0.045195 X_1 + 0.0135168 X_1 \\
& \quad - 0.03099 X_2 X_6 + 0.018 X_2 X_7 - 0.007176 X_3 - 0.023232 X_3 \\
& \quad + 0.00364 X_5 X_6 + 0.018 X_2^2 \\
& g_4 = 0.32 - 0.74 + 0.61 X_2 + 0.031296 X_3 + 0.031872 X_7 - 0.227 X_2^2 \\
& g_5 = 32 - 28.98 - 3.818 X_3 + 4.2 X_1 X_2 - 1.27296 X_6 + 2.68065 X_7 \\
& g_6 = 32 - 33.86 - 2.95 X_3 + 5.057 X_1 X_2 + 3.795 X_2 + 3.4431 X_7 - 1.45728 \\
& g_7 = 32 - 46.36 + 9.9 X_2 + 4.4505 X_1 \\
& g_8 = 4 - f_2 \\
& g_9 = 9.9 - V_{\text{MBP}} \\
& g_{10} = 15.7 - V_{\text{FD}}
\end{align}


g_i = \begin{cases}
- g_i & \text{if } g_i < 0 \\
0 & \text{otherwise}
\end{cases}\\
f_4 = \sum_{i=1}^{10} g_i

I asked ChatGPT4 the meaning of objective functions and explanatory variables. It says that

𝑓1: Vehicle weight. Lighter weight leads to improved fuel economy and reduced costs.

𝑓2: Maximum deformation or acceleration of the vehicle side. It is an index directly related to safety and evaluates the occupant protection performance during impact.

𝑓3: May represent manufacturing cost or other performance index. Considers design economy and other performance requirements.

𝑓4: Sum of violations of constraints (penalty function). If constraints are not satisfied, the degree of violation is evaluated and taken into account in optimization.

𝑋1 to 𝑋7 Design parameters such as thickness and material properties of each component of the vehicle structure. Specifically, it may include the following elements.

  • Body frame thickness
  • Door panel material properties
  • Strength and thickness of reinforcement
  • Energy absorbing member design
  • Other structural elements

The range of inputs, and reference points and its maximum hyper volume is

0.5 \leq X_1 \leq 1.5\\
0.45 \leq X_2 \leq 1.35\\
0.5 \leq X_3 \leq 1.5\\
0.5 \leq X_4 \leq 1.5\\
0.875 \leq X_5 \leq 2.625\\
0.4 \leq X_6 \leq 1.2\\
0.4 \leq X_7 \leq 1.2\\

\text{Reference Point} = [\,45.4872,\quad 4.5114,\quad 13.3394,\quad 10.3942\,]\\
\text{Maximum Hypervolume} = 484.72