physbo.test_functions.multi_objective module
- physbo.test_functions.multi_objective.Binh1
Binh's first function.
This is an alias of
BinhKorn.参考文献
To, Thanh Binh. (1999). A Multiobjective Evolutionary Algorithm The Study Cases.
- physbo.test_functions.multi_objective.Binh2
Binh's second function.
This is an alias of
ChankongHaimes.参考文献
To, Thanh Binh. (1999). A Multiobjective Evolutionary Algorithm The Study Cases.
- physbo.test_functions.multi_objective.Binh3
Binh's third function.
This is an alias of
FonsecaFleming.参考文献
To, Thanh Binh. (1999). A Multiobjective Evolutionary Algorithm The Study Cases.
- physbo.test_functions.multi_objective.Binh4
Binh's fourth function.
This is an alias of
KitaYabumotoMoriNishikawa.参考文献
To, Thanh Binh. (1999). A Multiobjective Evolutionary Algorithm The Study Cases.
- class physbo.test_functions.multi_objective.Binh5(min_X: ndarray | list[float] | float = [0.1, 0.0], max_X: ndarray | list[float] | float = 1.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionBinh's fifth function.
\[\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1 \\ f_2(\boldsymbol{x}) = \frac{g(x_2)}{x_1} \end{cases},\quad \text{where}\quad g(x) = 2 - \exp\left(-\left(\frac{x - 0.2}{0.004}\right)^2\right) - 0.8 \exp\left(-\left(\frac{x - 0.6}{0.4}\right)^2\right)\end{split}\]- パラメータ:
min_X (np.ndarray | list[float] | float, default=[-0.1, 0.0]) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=1.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
To, Thanh Binh. (1999). A Multiobjective Evolutionary Algorithm The Study Cases.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.Binh6(min_X: ndarray | list[float] | float = -5.0, max_X: ndarray | list[float] | float = 5.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionBinh's sixth function.
\[\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = \sqrt{x_1^2 + x_2^2 + 1} \\ f_2(\boldsymbol{x}) = \frac{g(x_4)}{f_1(\boldsymbol{x})} \end{cases},\quad \text{where}\quad g(x) = 100 (x_4 - x_3^2)^2 + (1 - x_3)^2 + 2\end{split}\]- パラメータ:
min_X (np.ndarray | list[float] | float, default=-5.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=5.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
To, Thanh Binh. (1999). A Multiobjective Evolutionary Algorithm The Study Cases.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.Binh8(min_X: ndarray | list[float] | float = 0.0, max_X: ndarray | list[float] | float = 1.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionBinh's eighth function.
\[\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1 + x_2 \\ f_2(\boldsymbol{x}) = 1 - \exp(-4 x_1) \sin(5 \pi x_1)^4 \end{cases}\end{split}\]- パラメータ:
min_X (np.ndarray | list[float] | float, default=0.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=1.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
To, Thanh Binh. (1999). A Multiobjective Evolutionary Algorithm The Study Cases.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.Binh9(min_X: ndarray | list[float] | float = 0.0, max_X: ndarray | list[float] | float = 1.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionBinh's ninth function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1 \\ f_2(\boldsymbol{x}) = g(x_2) h(x_1, x_2) \end{cases}\end{split}\\\begin{split}\text{where} \begin{cases} g(x_2) = 1 + 10 x_2 \\ h(x_1, x_2) = 1 - \left( \frac{x_1}{g(x_2)} \right)^2 - \left( \frac{x_1}{g(x_2)} \right) \sin(8 \pi x_1) \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
min_X (np.ndarray | list[float] | float, default=0.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=1.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
To, Thanh Binh. (1999). A Multiobjective Evolutionary Algorithm The Study Cases.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.BinhKorn(min_X: ndarray | list[float] | float = array([0., 0.]), max_X: ndarray | list[float] | float = array([5., 3.]), test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionBinh-Korn's function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = 4 x_1^2 + 4 x_2^2 \\ f_2(\boldsymbol{x}) = (x_1 - 5)^2 + (x_2 - 5)^2 \end{cases}\end{split}\\\begin{split}\text{Subject to} \begin{cases} g_1(\boldsymbol{x}) = (x_1 - 5)^2 + x_2^2 \le 25 \\ g_2(\boldsymbol{x}) = (x_1 - 8)^2 + (x_2 + 3)^2 \ge 7.7 \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
min_X (np.ndarray | list[float] | float, default=np.array([0.0, 0.0])) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=np.array([5.0, 3.0])) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Binh, To Thanh, and Ulrich Korn. "MOBES: A multiobjective evolution strategy for constrained optimization problems." The third international conference on genetic algorithms (Mendel 97). Vol. 25. 1997.
- constraint(x: ndarray) ndarray[ソース]
Evaluate the constraint function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the constraint function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
The boolean values indicating whether the point is valid or not. The output value is a numpy array of shape (n,), where n is the number of points.
- 戻り値の型:
np.ndarray
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.ChankongHaimes(min_X: ndarray | list[float] | float = -20.0, max_X: ndarray | list[float] | float = 20.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionChankong-Haimes's function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = 2 + (x_1 - 2)^2 + (x_2 - 1)^2 \\ f_2(\boldsymbol{x}) = 9 x_1 - (x_2 - 1)^2 \end{cases}\end{split}\\\begin{split}\text{Subject to} \begin{cases} g_1(\boldsymbol{x}) = x_1^2 + x_2^2 \le 225 \\ g_2(\boldsymbol{x}) = x_1 - 3 x_2 \le -10 \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
min_X (np.ndarray | list[float] | float, default=-20.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=20.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Chankong, V., and Haimes, Y. Y., "Multiobjective decision making: Theory and method", North-Holland series in system science and engineering, 1983.
- constraint(x: ndarray) ndarray[ソース]
Evaluate the constraint function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the constraint function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
The boolean values indicating whether the point is valid or not. The output value is a numpy array of shape (n,), where n is the number of points.
- 戻り値の型:
np.ndarray
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.ConstrEX(min_X: ndarray | list[float] | float = [0.1, 0.0], max_X: ndarray | list[float] | float = [1.0, 5.0], test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionConstrEX function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1 \\ f_2(\boldsymbol{x}) = (1 + x_2) / x_1 \end{cases}\end{split}\\\begin{split}\text{Subject to} \begin{cases} g_1(\boldsymbol{x}) = 9 x_1 + x_2 \ge 6 \\ g_2(\boldsymbol{x}) = 9 x_1 - x_2 \ge 1 \\ \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
min_X (np.ndarray | list[float] | float, default=[0.1, 0.0]) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=[1.0, 5.0]) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Deb, K. (2011). Multi-objective Optimisation Using Evolutionary Algorithms: An Introduction. In: Wang, L., Ng, A., Deb, K. (eds) Multi-objective Evolutionary Optimisation for Product Design and Manufacturing. Springer, London. https://doi.org/10.1007/978-0-85729-652-8_1
- constraint(x: ndarray) ndarray[ソース]
Evaluate the constraint function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the constraint function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
The boolean values indicating whether the point is valid or not. The output value is a numpy array of shape (n,), where n is the number of points.
- 戻り値の型:
np.ndarray
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.FonsecaFleming(dim: int = 2, min_X: ndarray | list[float] | float = -2.0, max_X: ndarray | list[float] | float = 2.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionFonseca and Fleming's function.
\[\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = 1 - \exp \left( -\sum_{i=1}^N \left( x_i - \frac{1}{\sqrt{N}} \right)^2 \right) \\ f_2(\boldsymbol{x}) = 1 - \exp \left( -\sum_{i=1}^N \left( x_i + \frac{1}{\sqrt{N}} \right)^2 \right) \end{cases}\end{split}\]- パラメータ:
dim (int, default=2) -- Number of dimensions \(N\).
min_X (np.ndarray | list[float] | float, default=-2.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=2.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Carlos M. Fonseca, Peter J. Fleming; An Overview of Evolutionary Algorithms in Multiobjective Optimization. Evol Comput 1995; 3 (1): 1-16. doi: https://doi.org/10.1162/evco.1995.3.1.1
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.Gaussian(centers: ndarray, widths: ndarray | list[float] | float = 1.0, amplitudes: ndarray | list[float] | float = 1.0, min_X: ndarray | list[float] | float = -2.0, max_X: ndarray | list[float] | float = 2.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionGaussian function.
\[\text{Minimize}\quad f_n(\boldsymbol{x}) = -A_n \exp \left( -\frac{\left|\boldsymbol{x} - \boldsymbol{c}_n\right|^2}{2 w_n^2} \right)\]- パラメータ:
centers (np.ndarray) -- Centers of the Gaussian functions \(\boldsymbol{c}_n\).
widths (np.ndarray | list[float] | float, default=1.0) -- Widths of the Gaussian functions \(w_n\).
amplitudes (np.ndarray | list[float] | float, default=1.0) -- Amplitudes of the Gaussian functions \(A_n\).
min_X (np.ndarray | list[float] | float, default=-2.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=2.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.KitaYabumotoMoriNishikawa(min_X: ndarray | list[float] | float = -7.0, max_X: ndarray | list[float] | float = 4.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionKita-Yabumoto-Mori-Nishikawa's function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1^2 - x_2 \\ f_2(\boldsymbol{x}) = -\frac{1}{2}x_1 - x_2 - 1 \end{cases}\end{split}\\\begin{split}\text{Subject to} \begin{cases} g_1(\boldsymbol{x}) = 6.5 - \frac{x_1}{6} - x_2 \ge 0 \\ g_2(\boldsymbol{x}) = 7.5 - \frac{x_1}{2} - x_2 \ge 0 \\ g_3(\boldsymbol{x}) = 30 - 5 x_1 - x_2 \ge 0 \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
min_X (np.ndarray | list[float] | float, default=-7.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=4.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Kita, H., Yabumoto, Y., Mori, N., Nishikawa, Y. (1996). Multi-objective optimization by means of the thermodynamical genetic algorithm. In: Voigt, HM., Ebeling, W., Rechenberg, I., Schwefel, HP. (eds) Parallel Problem Solving from Nature — PPSN IV. PPSN 1996. Lecture Notes in Computer Science, vol 1141. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61723-X_1014
- constraint(x: ndarray) ndarray[ソース]
Evaluate the constraint function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the constraint function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
The boolean values indicating whether the point is valid or not. The output value is a numpy array of shape (n,), where n is the number of points.
- 戻り値の型:
np.ndarray
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.Kursawe(min_X: ndarray | list[float] | float = -5.0, max_X: ndarray | list[float] | float = 5.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionKursawe's function.
\[\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = \sum_{i=1}^{2} -10 \exp \left( -0.2 \sqrt{x_i^2 + x_{i+1}^2} \right) \\ f_2(\boldsymbol{x}) = \sum_{i=1}^{3} \left( \left| x_i \right|^{0.8} + 5 \sin(x_i^3) \right) \end{cases}\end{split}\]- パラメータ:
min_X (np.ndarray | list[float] | float, default=-5.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=5.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Kursawe, "A variant of evolution strategies for vector optimization," in PPSN I, Vol 496 Lect Notes in Comput Sci. Springer-Verlag, 1991, pp. 193-197.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.MultiTestFunction(nobj: int, dim: int, min_X: ndarray | list[float] | float, max_X: ndarray | list[float] | float, test_maximizer: bool)[ソース]
ベースクラス:
TestFunctionInitialize the test function.
- パラメータ:
nobj (int) -- Number of objectives.
dim (int) -- Number of dimensions.
min_X (np.ndarray | list[float] | float) -- Minimum value of search space for each dimension.
max_X (np.ndarray | list[float] | float) -- Maximum value of search space for each dimension.
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
- property reference_max: ndarray
Get the upper bound of the reference box.
Reference box is a box that contains the entire non-dominated region. It is used to calculate the volume of the non-dominated region.
- 戻り値:
The reference maximum values of the test function.
- 戻り値の型:
np.ndarray
Note
Reference box is calculated by using the default values of min_X and max_X.
- property reference_min: ndarray
Get the lower bound of the reference box.
Reference box is a box that contains the entire non-dominated region. It is used to calculate the volume of the non-dominated region.
- 戻り値:
The reference minimum values of the test function.
- 戻り値の型:
np.ndarray
Note
Reference box is calculated by using the default values of min_X and max_X.
- class physbo.test_functions.multi_objective.OsyczkaKundu(min_X: ndarray | list[float] | float = [0.0, 0.0, 1.0, 0.0, 1.0, 0.0], max_X: ndarray | list[float] | float = [10.0, 10.0, 5.0, 6.0, 5.0, 10.0], test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionOsyczka-Kundu's function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = -25 (x_1 - 2)^2 - (x_2 - 2)^2 - (x_3 - 1)^2 - (x_4 - 4)^2 - (x_5 - 1)^2 \\ f_2(\boldsymbol{x}) = \sum_{i=1}^{6} x_i^2 \end{cases}\end{split}\\\begin{split}\text{Subject to} \begin{cases} g_1(\boldsymbol{x}) = x_1 + x_2 - 2 \ge 0 \\ g_2(\boldsymbol{x}) = 6 - x_1 - x_2 \ge 0 \\ g_3(\boldsymbol{x}) = 2 - x_2 + x_1 \ge 0 \\ g_4(\boldsymbol{x}) = 2 - x_1 + 3 x_2 \ge 0 \\ g_5(\boldsymbol{x}) = 4 - \left(x_3 - 3\right)^2 - x_4 \ge 0 \\ g_6(\boldsymbol{x}) = \left(x_5 - 3\right)^2 + x_6 - 4 \ge 0 \\ \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
min_X (np.ndarray | list[float] | float, default=[0.0, 0.0, 1.0, 0.0, 1.0, 0.0]) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=[10.0, 10.0, 5.0, 6.0, 5.0, 10.0]) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Osyczka, A., Kundu, S. A new method to solve generalized multicriteria optimization problems using the simple genetic algorithm. Structural Optimization 10, 94-99 (1995). https://doi.org/10.1007/BF01743536
- constraint(x: ndarray) ndarray[ソース]
Evaluate the constraint function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the constraint function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
The boolean values indicating whether the point is valid or not. The output value is a numpy array of shape (n,), where n is the number of points.
- 戻り値の型:
np.ndarray
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.Poloni(min_X: ndarray | list[float] | float = -3.141592653589793, max_X: ndarray | list[float] | float = 3.141592653589793, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionPoloni's function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = 1.0 + (a_1 - b_1(\boldsymbol{x}))^2 + (a_2 - b_2(\boldsymbol{x}))^2 \\ f_2(\boldsymbol{x}) = (x_1 + 3)^2 + (x_2 + 1)^2 \end{cases}\end{split}\\\begin{split}\text{where} \begin{cases} a_1 = 0.5 \sin(1) - 2 \cos(1) + \sin(2) - 1.5 \cos(2) \\ a_2 = 1.5 \sin(1) - \cos(1) + 2 \sin(2) - 0.5 \cos(2) \\ b_1(\boldsymbol{x}) = 0.5 \sin(x_1) - 2 \cos(x_1) + \sin(x_2) - 1.5 \cos(x_2) \\ b_2(\boldsymbol{x}) = 1.5 \sin(x_1) - \cos(x_1) + 2 \sin(x_2) - 0.5 \cos(x_2) \\ \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
min_X (np.ndarray | list[float] | float, default=-np.pi) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=np.pi) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.Schaffer1(min_X: ndarray | list[float] | float = -10.0, max_X: ndarray | list[float] | float = 10.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionSchaffer's first function.
\[\begin{split}\text{Minimize} \begin{cases} f_1(x) = x^2 \\ f_2(x) = (x - 2)^2 \end{cases}\end{split}\]- パラメータ:
min_X (np.ndarray | list[float] | float, default=-10.0) -- Minimum value of the search space \(x_{\min}\).
max_X (np.ndarray | list[float] | float, default=10.0) -- Maximum value of the search space \(x_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Schaffer, J. David. "Multiple objective optimization with vector evaluated genetic algorithms." Proceedings of the first international conference on genetic algorithms and their applications. Psychology Press, 2014.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.Schaffer2(min_X: ndarray | list[float] | float = -5.0, max_X: ndarray | list[float] | float = 10.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionSchaffer's second function.
\[\begin{split}\text{Minimize} \begin{cases} f_1(x) = \begin{cases} -x & \text{if } x \leq 1.0 \\ x - 2 & \text{if } 1.0 < x \leq 3.0 \\ 4 - x & \text{if } 3.0 < x \leq 4.0 \\ x - 4 & \text{if } x > 4.0 \end{cases} \\ f_2(x) = (x - 5)^2 \end{cases}\end{split}\]- パラメータ:
min_X (np.ndarray | list[float] | float, default=-5.0) -- Minimum value of the search space \(x_{\min}\).
max_X (np.ndarray | list[float] | float, default=10.0) -- Maximum value of the search space \(x_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Schaffer, J. David. "Multiple objective optimization with vector evaluated genetic algorithms." Proceedings of the first international conference on genetic algorithms and their applications. Psychology Press, 2014.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- physbo.test_functions.multi_objective.VLMOP1
VL's first function (so-called VLMOP1).
This is an alias of
Schaffer1.参考文献
David A. van Veldhuizen and Gary B. Lamont. 1999. Multiobjective evolutionary algorithm test suites. In Proceedings of the 1999 ACM symposium on Applied computing (SAC '99). Association for Computing Machinery, New York, NY, USA, 351-357. https://doi.org/10.1145/298151.298382
- physbo.test_functions.multi_objective.VLMOP2
VL's second function (so-called VLMOP2).
This is an alias of
FonsecaFleming.参考文献
David A. van Veldhuizen and Gary B. Lamont. 1999. Multiobjective evolutionary algorithm test suites. In Proceedings of the 1999 ACM symposium on Applied computing (SAC '99). Association for Computing Machinery, New York, NY, USA, 351-357. https://doi.org/10.1145/298151.298382
- physbo.test_functions.multi_objective.VLMOP3
VL's third function (so-called VLMOP3).
This is an alias of
Viennet.参考文献
David A. van Veldhuizen and Gary B. Lamont. 1999. Multiobjective evolutionary algorithm test suites. In Proceedings of the 1999 ACM symposium on Applied computing (SAC '99). Association for Computing Machinery, New York, NY, USA, 351-357. https://doi.org/10.1145/298151.298382
- class physbo.test_functions.multi_objective.Viennet(min_X: ndarray | list[float] | float = -3.0, max_X: ndarray | list[float] | float = 3.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionViennet's function.
\[\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = 0.5 (x_1^2 + x_2^2) + \sin(x_1^2 + x_2^2) \\ f_2(\boldsymbol{x}) = (3 x_1 - 2 x_2 + 4)^2 / 8 + (x_1 - x_2 + 1)^2 / 27 + 15 \\ f_3(\boldsymbol{x}) = 1 / (x_1^2 + x_2^2 + 1) - 1.1 \exp(-(x_1^2 + x_2^2)) \end{cases}\end{split}\]- パラメータ:
min_X (np.ndarray | list[float] | float, default=-3.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=3.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Viennet, R., et al. "Multicriteria Optimization Using a Genetic Algorithm for Determining a Pareto Set," International Journal of Systems Science 27(2), 255-260 (1996).
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.ZDT1(dim: int = 30, min_X: ndarray | list[float] | float = 0.0, max_X: ndarray | list[float] | float = 1.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionZDT's first function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1 \\ f_2(\boldsymbol{x}) = g(x_2) h(x_1, x_2) \end{cases}\end{split}\\\begin{split}\text{where} \begin{cases} g(x_2) = 1 + 9 \sum_{i=2}^{N} x_i / (N - 1) \\ h(x_1, x_2) = 1 - \sqrt{f_1(\boldsymbol{x}) / g(x_2)} \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
dim (int, default=30) -- Dimension of the problem \(N\).
min_X (np.ndarray | list[float] | float, default=0.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=1.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Deb, L. Thiele, M. Laumanns and E. Zitzler, "Scalable multi-objective optimization test problems," Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600), Honolulu, HI, USA, 2002, pp. 825-830 vol.1, doi: 10.1109/CEC.2002.1007032.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.ZDT2(dim: int = 30, min_X: ndarray | list[float] | float = 0.0, max_X: ndarray | list[float] | float = 1.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionZDT's second function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1 \\ f_2(\boldsymbol{x}) = g(x_2) h(x_1, x_2) \\ \end{cases}\end{split}\\\begin{split}\text{where} \begin{cases} g(x_2) = 1 + 9 \sum_{i=2}^{N} x_i / (N - 1) \\ h(x_1, x_2) = 1 - \left(f_1(\boldsymbol{x}) / g(x_2)\right)^2 \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
dim (int, default=30) -- Dimension of the problem \(N\).
min_X (np.ndarray | list[float] | float, default=0.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=1.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Deb, L. Thiele, M. Laumanns and E. Zitzler, "Scalable multi-objective optimization test problems," Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600), Honolulu, HI, USA, 2002, pp. 825-830 vol.1, doi: 10.1109/CEC.2002.1007032.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.ZDT3(dim: int = 30, min_X: ndarray | list[float] | float = 0.0, max_X: ndarray | list[float] | float = 1.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionZDT's third function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1 \\ f_2(\boldsymbol{x}) = g(\boldsymbol{x}) h(\boldsymbol{x}) \end{cases}\end{split}\\\begin{split}\text{where} \begin{cases} g(\boldsymbol{x}) = 1 + 9 \sum_{i=2}^{N} x_i / (N - 1) \\ h(\boldsymbol{x}) = 1 - \sqrt{f_1(\boldsymbol{x}) / g(\boldsymbol{x})} - \frac{f_1(\boldsymbol{x})}{g(\boldsymbol{x})} \sin(10 \pi f_1(\boldsymbol{x})) \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
dim (int, default=30) -- Dimension of the problem \(N\).
min_X (np.ndarray | list[float] | float, default=0.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=1.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Deb, L. Thiele, M. Laumanns and E. Zitzler, "Scalable multi-objective optimization test problems," Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600), Honolulu, HI, USA, 2002, pp. 825-830 vol.1, doi: 10.1109/CEC.2002.1007032.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.ZDT4(dim: int = 10, min_X: None | ndarray | list[float] | float = None, max_X: None | ndarray | list[float] | float = None, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionZDT's fourth function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = x_1 \\ f_2(\boldsymbol{x}) = g(\boldsymbol{x}) h(\boldsymbol{x}) \end{cases}\end{split}\\\begin{split}\text{where} \begin{cases} g(\boldsymbol{x}) = 1 + 10 (N - 1) + \sum_{i=2}^{N} \left(x_i^2 - 10 \cos(4 \pi x_i)\right) \\ h(\boldsymbol{x}) = 1 - \sqrt{\frac{f_1(\boldsymbol{x})}{g(\boldsymbol{x})}} \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
dim (int, default=10) -- Dimension of the problem \(N\).
min_X (np.ndarray | list[float] | float) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\). Default is x_1 = 0.0 and x_i = -5.0 for i = 2, ..., N.
max_X (np.ndarray | list[float] | float) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\). Default is x_1 = 1.0 and x_i = 5.0 for i = 2, ..., N.
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Deb, L. Thiele, M. Laumanns and E. Zitzler, "Scalable multi-objective optimization test problems," Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600), Honolulu, HI, USA, 2002, pp. 825-830 vol.1, doi: 10.1109/CEC.2002.1007032.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray
- class physbo.test_functions.multi_objective.ZDT6(dim: int = 10, min_X: ndarray | list[float] | float = 0.0, max_X: ndarray | list[float] | float = 1.0, test_maximizer: bool = True)[ソース]
ベースクラス:
MultiTestFunctionZDT's sixth function.
\[ \begin{align}\begin{aligned}\begin{split}\text{Minimize} \begin{cases} f_1(\boldsymbol{x}) = 1 - \exp(-4 x_1) \sin^6(6 \pi x_1) \\ f_2(\boldsymbol{x}) = g(\boldsymbol{x}) h(\boldsymbol{x}) \end{cases}\end{split}\\\begin{split}\text{where} \begin{cases} g(\boldsymbol{x}) = 1 + 9 \left(\sum_{i=2}^{N} x_i / (N - 1)\right)^{0.25} \\ h(\boldsymbol{x}) = 1 - \left(\frac{f_1(\boldsymbol{x})}{g(\boldsymbol{x})}\right)^2 \end{cases}\end{split}\end{aligned}\end{align} \]- パラメータ:
dim (int, default=10) -- Dimension of the problem \(N\).
min_X (np.ndarray | list[float] | float, default=0.0) -- Minimum value of the search space \(\boldsymbol{x}_{\min}\).
max_X (np.ndarray | list[float] | float, default=1.0) -- Maximum value of the search space \(\boldsymbol{x}_{\max}\).
test_maximizer (bool, default=True) -- If True, the test function is negated for testing a maximization problem solver.
参考文献
Deb, L. Thiele, M. Laumanns and E. Zitzler, "Scalable multi-objective optimization test problems," Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600), Honolulu, HI, USA, 2002, pp. 825-830 vol.1, doi: 10.1109/CEC.2002.1007032.
- f(x: ndarray) ndarray[ソース]
Evaluate the test function at the given point.
- パラメータ:
x (np.ndarray) -- The point at which to evaluate the test function. x is a numpy array of shape (n, d), where n is the number of points and d is the dimension of the input space.
- 戻り値:
f -- The value of the test function at the given point. The output value is a numpy array of shape (n, k), where k is the number of objectives.
- 戻り値の型:
np.ndarray