optuna.integration.botorch.qei_candidates_func(train_x, train_obj, train_con, bounds)[source]

Quasi MC-based batch Expected Improvement (qEI).

The default value of candidates_func in BoTorchSampler with single-objective optimization.

  • train_x (torch.Tensor) – Previous parameter configurations. A torch.Tensor of shape (n_trials, n_params). n_trials is the number of already observed trials and n_params is the number of parameters. n_params may be larger than the actual number of parameters if categorical parameters are included in the search space, since these parameters are one-hot encoded. Values are not normalized.

  • train_obj (torch.Tensor) – Previously observed objectives. A torch.Tensor of shape (n_trials, n_objectives). n_trials is identical to that of train_x. n_objectives is the number of objectives. Observations are not normalized.

  • train_con (Optional[torch.Tensor]) – Objective constraints. A torch.Tensor of shape (n_trials, n_constraints). n_trials is identical to that of train_x. n_constraints is the number of constraints. A constraint is violated if strictly larger than 0. If no constraints are involved in the optimization, this argument will be None.

  • bounds (torch.Tensor) – Search space bounds. A torch.Tensor of shape (n_params, 2). n_params is identical to that of train_x. The first and the second column correspond to the lower and upper bounds for each parameter respectively.


Next set of candidates. Usually the return value of BoTorch’s optimize_acqf.

Return type



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