ContinuousLinearConstraint¶
- class baybe.constraints.continuous.ContinuousLinearConstraint[source]¶
Bases:
ContinuousConstraint
Class for continuous linear constraints.
Continuous linear constraints use parameter lists and coefficients to define in-/equality constraints over a continuous parameter space.
Public methods
__init__
(parameters, operator[, ...])Method generated by attrs for class ContinuousLinearConstraint.
from_dict
(dictionary)Create an object from its dictionary representation.
from_json
(string)Create an object from its JSON representation.
summary
()Return a custom summarization of the constraint.
to_botorch
(parameters[, idx_offset, batch_size])Cast the constraint in a format required by botorch.
to_dict
()Create an object's dictionary representation.
to_json
()Create an object's JSON representation.
Public attributes and properties
Defines the operator used in the equation.
In-/equality coefficient for each entry in
parameters
.Right-hand side value of the in-/equality.
Flag for defining an interpoint constraint.
Class variable encoding whether the constraint could be considered during data augmentation.
Class variable encoding whether the condition is evaluated during creation.
Class variable encoding whether the condition is evaluated during modeling.
Boolean indicating if this is a constraint over continuous parameters.
Boolean indicating if this is a constraint over discrete parameters.
Whether this constraint models an equality (assumed inequality otherwise).
Class variable encoding whether the constraint is valid only for numerical parameters.
The list of parameters used for the constraint.
- __init__(parameters: list[str], operator: str, coefficients=NOTHING, rhs=0.0, interpoint: bool = False)¶
Method generated by attrs for class ContinuousLinearConstraint.
For details on the parameters, see Public attributes and properties.
- to_botorch(parameters: Sequence[NumericalContinuousParameter], idx_offset: int = 0, *, batch_size: int | None = None)[source]¶
Cast the constraint in a format required by botorch.
Used in calling
optimize_acqf_*
functions, for details seebotorch.optim.optimize.optimize_acqf()
- Parameters:
parameters (Sequence[NumericalContinuousParameter]) – The parameter objects of the continuous space.
idx_offset (int) – Offset to the provided parameter indices.
batch_size (int | None) – The batch size used for the recommendation. Necessary for interpoint constraints as indices need to be adjusted. Ignored by all other constraints.
- Return type:
tuple[Tensor, Tensor, float]
- Returns:
The tuple required by botorch.
- to_dict()¶
Create an object’s dictionary representation.
- Return type:
- Returns:
The dictionary representation of the object.
- to_json()¶
Create an object’s JSON representation.
- Return type:
- Returns:
The JSON representation as a string.
- coefficients: tuple[float, ...]¶
In-/equality coefficient for each entry in
parameters
.
- eval_during_augmentation: ClassVar[bool] = False¶
Class variable encoding whether the constraint could be considered during data augmentation.
- eval_during_creation: ClassVar[bool] = False¶
Class variable encoding whether the condition is evaluated during creation.
- eval_during_modeling: ClassVar[bool] = True¶
Class variable encoding whether the condition is evaluated during modeling.
- property is_continuous: bool¶
Boolean indicating if this is a constraint over continuous parameters.
- property is_eq¶
Whether this constraint models an equality (assumed inequality otherwise).
- is_interpoint: bool¶
Flag for defining an interpoint constraint.
While intrapoint constraints impose conditions on each individual point of a batch, interpoint constraints do so across the points of the batch. That is, an interpoint constraint of the form
x <= 100
encodes that the sum of the values of the parameterx
across all points in the batch must be less than or equal to100
.
- numerical_only: ClassVar[bool] = True¶
Class variable encoding whether the constraint is valid only for numerical parameters.
- operator: str¶
Defines the operator used in the equation. Internally this will negate rhs and coefficients for <=.
- parameters: list[str]¶
The list of parameters used for the constraint.
- rhs: float¶
Right-hand side value of the in-/equality.