Issues y Correcciones — VFT Model#
Sesión 2026-04-16 / 2026-04-17#
Correcciones Aplicadas#
| # | Archivo | Cambio | Estado | |
|
|
|
| | 1 |
src/core/models/impedance.py | FALLBACK_VELOCIDAD["INTERURBANO"]: 160 km/h → 70 km/h (velocidad comercial real) | ✅ RESUELTO |
| 2 | src/core/services/graph_builder.py | FALLBACK_FRECUENCIA["CBB"]: 1.0 min → 10.0 min (alineado con impedance.py) | ✅ RESUELTO |
| 3 | notebooks/01_Analisis_Impedancia_VFT.ipynb | Separación de df_edges (servicio real) vs df_transfers (transbordo peatonal). Antes se mezclaban, contaminando el análisis. | ✅ RESUELTO |
| 4 | apimetro_db (docker-dev, puerto 5433) | historico_operacion.velocidad_promedio_kmh para ramal Interurbano corregida a 70.0 km/h vía UPDATE directo. | ✅ RESUELTO |
Issues Abiertos (pendientes)#
P1 — Double-counting de fricción en RTP y CC ⚠️ Metodológico#
Descripción: Los valores de
FALLBACK_VELOCIDAD['RTP'](14 km/h) yFALLBACK_VELOCIDAD['CC'](11 km/h) ya incorporan condiciones de tráfico moderado. Al aplicarles el $C_f$ adicional (1.76 para mixto), la velocidad efectiva cae a ~8 km/h — posiblemente subestimada.Impacto: Sobrepenalización del tiempo de viaje en los dos sistemas con mayor cobertura (~74,265 segmentos, 78% del total).
Acción recomendada: Calibrar fallbacks con velocidades de flujo libre (~20 km/h RTP, ~16 km/h CC) y dejar que el $C_f$ introduzca toda la penalización dinámica.
Archivo:
src/core/models/impedance.py—FALLBACK_VELOCIDAD
P2 — Cobertura de CBB en GeoJSON ⚠️ Integridad de datos#
Descripción:
SistemaTransporte.corredor_baja(Cablebús) tiene solo 37 segmentos en el grafo actual, contra 93 de Mexicable. Cablebús opera 3 líneas en CDMX — parece subrepresentado.Acción recomendada: Verificar que el backend de Apimetro tiene las tres líneas del Cablebús completas en el GeoJSON. Revisar tabla
lineasenapimetro_dbfiltrando por sistema CBB.Archivo: Backend Apimetro /
src/infrastructure/go_client/client.py
P3 — Indicador $T$ promedio (Dijkstra) 🔲 Pendiente de cálculo#
Descripción: La tesis estima $T \approx 85$ min. La estimación orientativa del notebook 01 (85–100 min) es coherente, pero el valor real requiere Dijkstra sobre pares O-D muestreados.
Acción recomendada: Muestrear ~500–1000 pares O-D sobre nodos de estación (
tipo != 'trazo') y ejecutarnx.single_source_dijkstra(grafo_vft, source, weight='weight'). Agregar en notebook 01 o crear notebook 03 dedicado.Referencia tesis: Tabla 3.4, Capítulo 3
P4 — Indicador $DI$ para pares O-D de la tesis 🔲 Pendiente de cálculo#
Descripción: Los pares Xochimilco→Santa Fe ($DI=1.87$), Perisur→Naucalpan ($DI=2.33$) e Iztapalapa→Tlalnepantla ($DI=2.50$) son valores teóricos de la tesis, no calculados sobre el grafo real.
Acción recomendada: Notebook 03 (
DetourFactorAnalyzer).Referencia tesis: Tabla 3.3, Capítulo 3
P5 — Fuente de coeficientes alpha ($C_f$) 📖 Documentación#
Descripción: Los valores
alpha = {0.0, 0.2, 0.5, 1.0}para los cuatro tipos de derecho de vía requieren cita exacta del Manual de Calles SEDATU 2019 (tabla y párrafo).Archivo:
src/core/models/impedance.py—FrictionCalculator.alpha_map;notebooks/NOTES/impedance.md— Sección 1
Contexto de corrida (2026-04-16)#
Grafo: 102,055 nodos — 115,083 aristas (94,601 servicio + 20,482 transbordos peatonales)
Modo:
REALISTIC_INTEGRATION, tolerancia Q1 = 85 mDistribución: 12% masiva estructurada (Metro+MB+TL+CBB+SUB) / 88% superficie (RTP+CC+TROLE+MEXIBÚS+Mexicable)
$C_f$ validados: exclusivo=1.00, confinado=1.152, compartido=1.380, mixto=1.759
Velocidades OK: METRO (36), MB (16.3), TL (22), CBB (20), SUB (65) km/h
Velocidades REVISAR: TROLE (13 post-Cf, −7% del límite inferior), RTP (8), CC (8) — ver P1