Bilevel client generator
BilevelClientGenerator(clients_per_route, random_count=False, min_budget_factor=1.2, max_budget_factor=1.8, possible_weights=None, seed=42)
¶
Bases: EntityProcessor
Generate synthetic bilevel clients on each route.
For every route \((i,j)\) with \(i \neq j\), generates a random number of
clients, each with a weight \(a_{ij}^z\) (sampled from possible_weights)
and a budget \(b_{ij}^z = c_{ij} \cdot a_{ij}^z \cdot \text{factor}\),
where the factor is uniformly sampled from
\([\text{min\_budget\_factor}, \text{max\_budget\_factor}]\).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
clients_per_route
|
int
|
Number of clients per route (or max if
|
required |
random_count
|
bool
|
If |
False
|
min_budget_factor
|
float
|
Minimum multiplier for budget generation. |
1.2
|
max_budget_factor
|
float
|
Maximum multiplier for budget generation. |
1.8
|
possible_weights
|
List[float]
|
List of possible client weights to sample from. |
None
|
seed
|
int
|
Random seed for reproducibility. |
42
|