Abstract
This package provides a wrapper of the optproblems library’s DTLZ test suite, which consists of 7 kinds of continuous problems with variadic objectives and variables. For the details of the benchmark problems, please take a look at the original paper (Deb et al., 2001) in the reference section.
APIs
class Problem(function_id: int, n_objectives: int, dimension: int, k: int, **kwargs: Any)
function_id
: Function ID of the WFG problem in [1, 9].n_objectives
: Number of objectives.dimension
: Number of variables.kwargs
: Arbitrary keyword arguments, please refer to the optproblems documentation for more details.
Methods and Properties
search_space
: Return the search space.- Returns:
dict[str, optuna.distributions.BaseDistribution]
- Returns:
directions
: Return the optimization directions.- Returns:
list[optuna.study.StudyDirection]
- Returns:
__call__(trial: optuna.Trial)
: Evaluate the objective functions and return the objective values.- Args:
trial
: Optuna trial object.
- Returns:
float
- Args:
evaluate(params: dict[str, float])
: Evaluate the objective functions and return the objective values.- Args:
params
: Decision variable like{"x0": x1_value, "x1": x1_value, ..., "xn": xn_value}
. The number of parameters must be equal todimension
.
- Returns:
float
- Args:
The properties defined by optproblems are also available such as get_optimal_solutions
.
Installation
Please install the optproblems package.
pip install -U optproblems
Example
import optuna
import optunahub
dtlz = optunahub.load_module("benchmarks/dtlz")
dtlz2 = dtlz.Problem(function_id=2, n_objectives=2, dimension=3)
study_tpe = optuna.create_study(
study_name="TPESampler",
sampler=optuna.samplers.TPESampler(seed=42),
directions=dtlz2.directions,
)
study_tpe.optimize(dtlz2, n_trials=1000)
optuna.visualization.plot_pareto_front(study_tpe).show()
Reference
Deb, K., Thiele, L., Laumanns, M., & Zitzler, E. (2001). Scalable Test Problems for Evolutionary Multi-Objective Optimization.
- Package
- benchmarks/dtlz
- Author
- Optuna team
- License
- MIT License
- Verified Optuna version
- 4.1.0
- Last update
- 2025-01-21