MaxDivProblem
MaxDivProblem
dataclass
MaxDivProblem(
vectors: NDArray[float32],
k: int,
distance_metric: DistanceMetric,
diversity_metric: DiversityMetric,
constraints: list[Constraint],
)
Immutable definition of a Maximum Diversity Problem.
A problem consists of n vectors in d dimensions, a target selection size k,
a distance metric, a diversity metric, and optionally a list of fairness constraints.
Use the new factory method to create instances with validation.
new
classmethod
new(
vectors: ndarray,
k: int,
distance_metric: DistanceMetric = L2_EUCLIDEAN,
diversity_metric: DiversityMetric = GEOMEAN_SEPARATION,
constraints: list[Constraint] | None = None,
) -> Self
Create a new MaxDivProblem with validation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vectors
|
ndarray
|
2D numpy array of shape |
required |
k
|
int
|
Number of vectors to select (must satisfy |
required |
distance_metric
|
DistanceMetric
|
Distance metric for pairwise distances. |
L2_EUCLIDEAN
|
diversity_metric
|
DiversityMetric
|
Diversity metric to maximize. |
GEOMEAN_SEPARATION
|
constraints
|
list[Constraint] | None
|
Optional list of fairness constraints. |
None
|