optuna.multi_objective.study.create_study

optuna.multi_objective.study.create_study(directions: List[str], study_name: Optional[str] = None, storage: Union[str, optuna.storages._base.BaseStorage, None] = None, sampler: Optional[multi_objective.samplers.BaseMultiObjectiveSampler] = None, load_if_exists: bool = False)optuna.multi_objective.study.MultiObjectiveStudy[source]

Create a new MultiObjectiveStudy.

Example

import optuna


def objective(trial):
    # Binh and Korn function.
    x = trial.suggest_float("x", 0, 5)
    y = trial.suggest_float("y", 0, 3)

    v0 = 4 * x ** 2 + 4 * y ** 2
    v1 = (x - 5) ** 2 + (y - 5) ** 2
    return v0, v1


study = optuna.multi_objective.create_study(["minimize", "minimize"])
study.optimize(objective, n_trials=3)
Parameters
  • directions – Optimization direction for each objective value. Set minimize for minimization and maximize for maximization.

  • study_name – Study’s name. If this argument is set to None, a unique name is generated automatically.

  • storage

    Database URL. If this argument is set to None, in-memory storage is used, and the Study will not be persistent.

    Note

    When a database URL is passed, Optuna internally uses SQLAlchemy to handle the database. Please refer to SQLAlchemy’s document for further details. If you want to specify non-default options to SQLAlchemy Engine, you can instantiate RDBStorage with your desired options and pass it to the storage argument instead of a URL.

  • sampler – A sampler object that implements background algorithm for value suggestion. If None is specified, NSGAIIMultiObjectiveSampler is used as the default. See also samplers.

  • load_if_exists – Flag to control the behavior to handle a conflict of study names. In the case where a study named study_name already exists in the storage, a DuplicatedStudyError is raised if load_if_exists is set to False. Otherwise, the creation of the study is skipped, and the existing one is returned.

Returns

A MultiObjectiveStudy object.

Note

Added in v1.4.0 as an experimental feature. The interface may change in newer versions without prior notice. See https://github.com/optuna/optuna/releases/tag/v1.4.0.