smt_optim.benchmarks.avt311 package#
Submodules#
smt_optim.benchmarks.avt311.avt311 module#
Reference:
Mainini, L., Serani, A., Rumpfkeil, M. P., Minisci, E., Quagliarella, D., Pehlivan, H., … & Beran, P. (2022). Analytical benchmark problems for multifidelity optimization methods. arXiv preprint arXiv:2204.07867.
(https://arxiv.org/pdf/2204.07867)
Repository:
SMT-optim implementation of the AVT311 L1 benchmark problems were adapted from the following repository: qudo046/avt-331-l1-benchmarks. The implementation is slightly modified to:
follow SMT-optim benchmark problem base class,
(when applicable) allow users to change the problem dimension.
These implementations were validated using the available data in the reference repository. Provided under the directory data_smt-optim are validation data generated with SMT-optim implementations. The headers can be interpreted as follows:
x_i: input value
f_i: function value (in increasing order of fidelity)
d_i: absolute difference with original validation data (-GNU)
- class Alos[source]#
Bases:
BenchmarkProblem- bounds: ndarray = None#
- constraints: list = None#
- name: str = None#
- num_cstr: int = None#
- num_dim: int | str = None#
- num_fidelity: int = None#
- num_obj: int = None#
- objective: Callable | list[Callable] = None#
- tags: list = None#
- class Alos1[source]#
Bases:
BenchmarkProblem- bounds: ndarray = None#
- constraints: list = None#
- name: str = None#
- num_cstr: int = None#
- num_dim: int | str = None#
- num_fidelity: int = None#
- num_obj: int = None#
- objective: Callable | list[Callable] = None#
- set_dim(dim)#
- tags: list = None#
- class DiscForrester[source]#
Bases:
BenchmarkProblem- bounds: ndarray = None#
- constraints: list = None#
- name: str = None#
- num_cstr: int = None#
- num_dim: int | str = None#
- num_fidelity: int = None#
- num_obj: int = None#
- objective: Callable | list[Callable] = None#
- set_dim(dim)#
- tags: list = None#
- class Forrester[source]#
Bases:
BenchmarkProblem- bounds: ndarray = None#
- constraints: list = None#
- name: str = None#
- num_cstr: int = None#
- num_dim: int | str = None#
- num_fidelity: int = None#
- num_obj: int = None#
- objective: Callable | list[Callable] = None#
- set_dim(dim)#
- tags: list = None#
- class MFMass[source]#
Bases:
BenchmarkProblem- bounds: ndarray = None#
- constraints: list = None#
- name: str = None#
- num_cstr: int = None#
- num_dim: int | str = None#
- num_fidelity: int = None#
- num_obj: int = None#
- objective: Callable | list[Callable] = None#
- set_dim(dim)#
- tags: list = None#
- class MFRastrigin[source]#
Bases:
BenchmarkProblem- bounds: ndarray = None#
- constraints: list = None#
- name: str = None#
- num_cstr: int = None#
- num_dim: int | str = None#
- num_fidelity: int = None#
- num_obj: int = None#
- objective: Callable | list[Callable] = None#
- rotation_matrix(n, v, theta)[source]#
Aguilera-Perez algorithm
- Parameters:
n (int) – Dimension
v ((n, n-1) array) – Input matrix
theta (float) – Final rotation angle
- Returns:
R – Final rotation matrix
- Return type:
(n, n) array
- tags: list = None#
- class MFRosenbrock[source]#
Bases:
BenchmarkProblem- bounds: ndarray = None#
- constraints: list = None#
- name: str = None#
- num_cstr: int = None#
- num_dim: int | str = None#
- num_fidelity: int = None#
- num_obj: int = None#
- objective: Callable | list[Callable] = None#
- set_dim(dim)#
- tags: list = None#
- class MFSpring[source]#
Bases:
BenchmarkProblem- bounds: ndarray = None#
- constraints: list = None#
- name: str = None#
- num_cstr: int = None#
- num_dim: int | str = None#
- num_fidelity: int = None#
- num_obj: int = None#
- objective: Callable | list[Callable] = None#
- set_dim(dim)#
- tags: list = None#