diff --git a/src/core/placement.py b/src/core/placement.py index a75362e..f45d74a 100644 --- a/src/core/placement.py +++ b/src/core/placement.py @@ -9,9 +9,9 @@ def get_max_radius_by_traffic(traffic_level: int) -> int: Nivel tráfico | Radio H3 máximo ---------------|---------------- - Bajo (1) | 18 - Medio (2) | 12 - Alto (3) | 9 + Bajo (1) | 9 + Medio (2) | 6 + Alto (3) | 3 Args: traffic_level: Nivel de tráfico (1=bajo, 2=medio, 3=alto) @@ -20,9 +20,9 @@ def get_max_radius_by_traffic(traffic_level: int) -> int: Radio máximo en hexágonos H3 """ traffic_limits = { - 1: 18, # Tráfico bajo - 2: 12, # Tráfico medio - 3: 9 # Tráfico alto + 1: 9, # Tráfico bajo + 2: 6, # Tráfico medio + 3: 3 # Tráfico alto } return traffic_limits.get(traffic_level, 18) # Default a tráfico bajo @@ -33,9 +33,9 @@ def coverage_radius(expected_demand: float, traffic_level: int = 1) -> int: Nivel demanda | Radio H3 base ---------------|---------- - baja (<2) | 18 - media (2-5) | 12 - alta (≥5) | 6 + baja (<1) | 9 + media (<2) | 6 + alta (>2) | 3 Args: expected_demand: Demanda esperada @@ -45,12 +45,12 @@ def coverage_radius(expected_demand: float, traffic_level: int = 1) -> int: Radio de cobertura ajustado por tráfico """ # Radio base según demanda - if expected_demand < 2: - base_radius = 18 - elif expected_demand < 5: - base_radius = 12 - else: + if expected_demand < 1: + base_radius = 9 + elif expected_demand < 2: base_radius = 6 + else: + base_radius = 3 # Aplicar restricción de tráfico max_radius = get_max_radius_by_traffic(traffic_level) @@ -61,9 +61,9 @@ def get_coverage_weight(expected_demand: float) -> float: Calcula un peso para la cobertura basado en la demanda. Demanda más alta = mayor peso. """ - if expected_demand < 2: + if expected_demand < 1: return 1.0 - elif expected_demand < 5: + elif expected_demand < 2: return 2.0 else: return 3.0