find_best_design_parallel#

obsidian.experiment.advanced_design.find_best_design_parallel(n, n_samples, continuous_params, conditional_subparameters, subparam_mapping=None, metrics_to_optimize=None, maximize_metrics=None, seed_start=0, max_workers=None, n_category_trials=100, corr_threshold=0.01)[source]#

Generate n candidate designs in parallel and return the one with the highest composite score.

Parameters:
  • n – Number of candidate designs to evaluate.

  • n_samples – Number of rows per candidate design.

  • continuous_params – Continuous parameter specifications.

  • conditional_subparameters – Conditional subparameter specifications.

  • subparam_mapping – Subparameter mapping dict. Inferred if not provided.

  • metrics_to_optimize – List of metric names. Defaults to all seven standard metrics.

  • maximize_metrics – List of booleans indicating whether to maximize (True) or minimize (False) each metric. Defaults to [True, False, False, ...] — maximize D-optimality only.

  • seed_start – First seed used; subsequent candidates use seed_start + i. Defaults to 0.

  • max_workers – Maximum worker processes. Defaults to None (all CPUs).

  • n_category_trials – Forwarded to each worker’s sample_design call. Defaults to 100.

  • corr_threshold – Forwarded to each worker’s sample_design call. Defaults to 0.01.

Returns:

(best_design, metrics_df) where best_design is the

highest-scoring pd.DataFrame and metrics_df summarizes all candidates.

Return type:

tuple