baybe.searchspace.utils.build_constrained_product

baybe.searchspace.utils.build_constrained_product(parameters: Sequence[DiscreteParameter], constraints: Sequence[DiscreteConstraint], initial_df: DataFrame | None = None)[source]

Build a constrained Cartesian product, using Polars if configured.

Partitions constraints by Polars support and builds the product accordingly. Parameters covered by Polars-capable constraints are cross-joined and filtered in Polars first, then the remaining parameters and constraints are handled via incremental pandas filtering.

Parameters:
  • parameters (Sequence[DiscreteParameter]) – The discrete parameters to combine.

  • constraints (Sequence[DiscreteConstraint]) – The discrete constraints to apply during construction.

  • initial_df (Optional[DataFrame]) – An optional starting dataframe whose columns count as already available for constraint evaluation.

Return type:

DataFrame

Returns:

A dataframe containing all valid parameter combinations.