Comparación
DispatchAtlas es un conjunto de herramientas para planificación y optimización en entornos de computación distribuida, construido en torno a un catálogo curado y respaldado por citas de instancias de problema — no solo una biblioteca de solvers, una lista de benchmarks o un simulador de red.
Qué distingue a DispatchAtlas
Ningún competidor por sí solo es el diferenciador — lo es la combinación. DispatchAtlas empareja un catálogo curado y respaldado por citas de instancias de optimización de planificación y edge–fog–cloud con un registro de solvers tipado por capacidad, comparación estadística no paramétrica integrada y un portal de inspección público cuyo constructor de suites en el navegador compone suites de benchmark listas o totalmente personalizadas desde todo el catálogo y las descarga como JSON, CSV o un paquete sin backend. Cada pieza existe en otro lugar; ninguno de los pares de abajo las reúne todas.
Los retadores más cercanos se nombran con honestidad. jMetal ofrece un arnés de estudio experimental con estadística no paramétrica, pero sin catálogo de instancias de planificación ni portal de inspección. job-shop-lib y el TU/e Job Shop Scheduling Benchmark ofrecen instancias de planificación ricas, pero sin curación de cita por instancia, estadística integrada ni portal. WfCommons ofrece generadores de flujos de trabajo respaldados por trazas, pero no puntúa optimizadores ni ejecuta estadística. DispatchAtlas es el proyecto que sostiene las cinco capacidades a la vez.
Esta página es la declaración canónica de ese posicionamiento; otras superficies enlazan aquí en lugar de reformularlo.
Cómo se compara DispatchAtlas con plataformas afines
Estas tablas comparan las capacidades de plataforma — lo que cada proyecto ofrece — no el rendimiento. La evidencia de rendimiento proviene de las exportaciones de análisis estadístico, nunca de esta página. Las tablas se agrupan en bandas de proyectos comparables, manteniendo las mismas cinco columnas de capacidad. Cada par enlaza a su cita canónica; las fuentes completas se listan al pie de la página. ✅ provisto, ⚠️ adyacente o parcial, ❌ no provisto.
DispatchAtlas aparece una vez, en la primera banda, y su fila ✅✅✅✅✅ se mantiene en todas las bandas siguientes.
Plataformas y solvers de benchmark de planificación
| Plataforma | Catálogo curado de instancias de planificación | Edge–fog–cloud como instancias de benchmark | Registro de solvers tipado por capacidad | Comparación estadística integrada | Portal de inspección público |
|---|---|---|---|---|---|
| DispatchAtlas | ✅ | ✅ | ✅ | ✅ | ✅ |
| job-shop-lib | ⚠️ | ❌ | ⚠️ | ❌ | ❌ |
| Job Shop Scheduling Benchmark | ⚠️ | ❌ | ❌ | ❌ | ❌ |
| PyJobShop | ⚠️ | ❌ | ❌ | ❌ | ❌ |
| schlably | ❌ | ❌ | ❌ | ❌ | ❌ |
| OR-Tools CP-SAT | ❌ | ❌ | ❌ | ❌ | ❌ |
OR-Tools CP-SAT es el solver exacto de planificación dominante — DispatchAtlas no compite con él. Los adaptadores exactos opcionales envuelven solvers como él tras extras, y la matriz de capacidades registra la optimización exacta como una capacidad de adaptador: envuelto, no rivalizado. job-shop-lib empaqueta instancias clásicas junto a entornos RL/GNN; la suite de TU/e unifica entornos JSP, FJSP y online-FJSP para métodos con y sin aprendizaje; PyJobShop ofrece modelado de programación por restricciones evaluado sobre 9.000+ instancias de la literatura; schlably es un marco de experimentos de planificación por aprendizaje por refuerzo profundo. Ninguno cura la procedencia de cita por instancia, incorpora barreras estadísticas ni publica un portal de inspección — las marcas ⚠️ señalan instancias que se distribuyen sin metadatos de cita curados.
Marcos de benchmark de optimización general y metaheurísticas
| Plataforma | Catálogo curado de instancias de planificación | Edge–fog–cloud como instancias de benchmark | Registro de solvers tipado por capacidad | Comparación estadística integrada | Portal de inspección público |
|---|---|---|---|---|---|
| COCO | ❌ | ❌ | ❌ | ✅ | ⚠️ |
| IOHprofiler | ❌ | ❌ | ❌ | ✅ | ✅ |
| pymoo | ❌ | ❌ | ⚠️ | ⚠️ | ❌ |
| jMetal / jMetalPy | ❌ | ❌ | ⚠️ | ✅ | ❌ |
| Nevergrad | ❌ | ❌ | ⚠️ | ⚠️ | ⚠️ |
| mealpy | ❌ | ❌ | ⚠️ | ❌ | ❌ |
| NiaPy | ❌ | ❌ | ⚠️ | ❌ | ❌ |
COCO evalúa una clase de problema distinta (funciones continuas de caja negra); su familia de suites abarca variantes de uno y dos objetivos, gran escala, entero-mixto y con restricciones, con un archivo de datos público. IOHprofiler evalúa heurísticas iterativas y ofrece un analizador web alojado. jMetal y jMetalPy se incluyen precisamente porque no son hombres de paja: ofrecen estudios experimentales con estadística no paramétrica, pero sin catálogo de planificación ni portal. Nevergrad ofrece gráficos de ranking y un módulo de experimentación y trazado sobre cientos de optimizadores, pero no inferencia no paramétrica. pymoo, mealpy y NiaPy ofrecen colecciones ricas de algoritmos y funciones de prueba sintéticas en lugar de un registro tipado.
Simuladores fog y edge
| Plataforma | Catálogo curado de instancias de planificación | Edge–fog–cloud como instancias de benchmark | Registro de solvers tipado por capacidad | Comparación estadística integrada | Portal de inspección público |
|---|---|---|---|---|---|
| iFogSim2 | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| EdgeCloudSim | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| LEAF | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| YAFS | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| EdgeSimPy | ❌ | ⚠️ | ❌ | ❌ | ❌ |
Estos modelan redes edge–fog–cloud como simulaciones de eventos discretos (⚠️), no como una suite de benchmark sobre la que se puntúa un optimizador. EdgeCloudSim v5.0 corre sobre el núcleo actual CloudSim 7.0.0-alpha con nuevos tutoriales. YAFS es el simulador fog en Python más cercano en espíritu a las familias de continuo, y sus problemas de emplazamiento son lo que DispatchAtlas reexpresa como instancias de benchmark puntuadas; EdgeSimPy es el simulador de gestión de recursos edge en Python más reciente.
Plataformas de simulación de nube y flujos de trabajo
| Plataforma | Catálogo curado de instancias de planificación | Edge–fog–cloud como instancias de benchmark | Registro de solvers tipado por capacidad | Comparación estadística integrada | Portal de inspección público |
|---|---|---|---|---|---|
| CloudSim / CloudSim 7G | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| WfCommons | ⚠️ | ⚠️ | ❌ | ❌ | ⚠️ |
| WRENCH | ❌ | ⚠️ | ❌ | ❌ | ❌ |
Estos son simuladores y marcos de traza/generador, no benchmarks de optimizadores — el mismo encuadre honesto que usa la banda fog. El flujo traza-a-generador-a-benchmark de WfCommons es el análogo conceptual más fuerte de las ambiciones respaldadas por trazas de la plataforma, y es exactamente donde DispatchAtlas es más débil hoy: un perfil sintético calibrado, la fila ⚠️ respaldada por trazas en la matriz de capacidades de abajo.
Optuna es herramienta complementaria, no un par: es un afinador de hiperparámetros, así que los hiperparámetros de los solvers pueden afinarse con él, pero no ofrece instancias de planificación ni historia de procedencia — por eso «¿por qué no usar simplemente Optuna?» tiene una respuesta de una línea. Cita Optuna (Akiba et al., KDD 2019).
Cómo leer las marcas:
- Catálogo curado de instancias de planificación — un conjunto versionado y respaldado por citas de instancias de problemas de planificación y permutación. Los pares de planificación ofrecen instancias pero no curación de cita por instancia; los marcos de optimización ofrecen problemas de prueba sintéticos; los simuladores no ofrecen catálogo de instancias de optimización.
- Edge–fog–cloud como instancias de benchmark — problemas heterogéneos de emplazamiento y comunicación expuestos como instancias de optimización. Los simuladores modelan redes edge–fog–cloud (⚠️), pero como simulaciones de eventos discretos, no como una suite de benchmark sobre la que se puntúa un optimizador.
- Registro de solvers tipado por capacidad — los solvers portan objetivos, restricciones y metadatos de capacidad declarados. Las bibliotecas metaheurísticas ofrecen colecciones ricas de algoritmos (⚠️) pero no un registro tipado orientado a la planificación.
- Comparación estadística integrada — pruebas no paramétricas y tamaños de efecto empaquetados con el conjunto de herramientas. COCO, IOHprofiler y jMetal ofrecen herramientas estadísticas dedicadas.
- Portal de inspección público — una superficie de datos navegable y segura para el público. COCO publica un archivo de datos de taller (⚠️); IOHanalyzer ofrece un analizador web alojado.
Qué no ofrece DispatchAtlas
Esta es la brecha inversa honesta — cada punto nombra al par que tiene lo que DispatchAtlas no, y refleja una fila ❌ o ⚠️ existente en la matriz de capacidades de abajo.
- Sin simulación de eventos discretos — los simuladores fog y de nube (CloudSim, iFogSim2, EdgeCloudSim, WRENCH) modelan dinámicas de red y plataforma con pasos de tiempo; DispatchAtlas puntúa optimizadores sobre instancias en su lugar.
- Sin generadores de llegada dinámica o replanificación en línea — la suite de TU/e ofrece entornos online-FJSP; todo generador incluido en DispatchAtlas es estático.
- Sin entornos de entrenamiento de agentes de aprendizaje — job-shop-lib y schlably ofrecen entornos RL/GNN; las interfaces de aprendizaje de DispatchAtlas son parciales.
- Ejecución de campañas en un solo host — Nevergrad ejecuta grandes baterías de experimentos en paralelo; DispatchAtlas ejecuta modos secuencial, en hilos, acotado y de repetición en un solo host.
- Un perfil sintético calibrado de trazas — WfCommons ofrece generadores derivados de trazas validados sobre archivos reales de flujos de trabajo; DispatchAtlas incluye un único perfil sintético calibrado.
Fuentes
- COCO — Hansen, Auger, Ros, Mersmann, Tušar, Brockhoff. COCO: a platform for comparing continuous optimizers in a black-box setting. Optimization Methods and Software 36(1), 2021. https://doi.org/10.1080/10556788.2020.1808977
- IOHprofiler — de Nobel, Ye, Vermetten, Wang, Doerr, Bäck. IOHexperimenter: Benchmarking Platform for Iterative Optimization Heuristics. Evolutionary Computation 32(3):205–210, 2024. https://doi.org/10.1162/evco_a_00342 · IOHanalyzer — https://doi.org/10.1145/3510426
- pymoo — Blank, Deb. pymoo: Multi-Objective Optimization in Python. IEEE Access 8, 2020. https://doi.org/10.1109/ACCESS.2020.2990567
- mealpy — Van Thieu, Mirjalili. MEALPY: An open-source library for latest meta-heuristic algorithms in Python. Journal of Systems Architecture 139, 2023. https://doi.org/10.1016/j.sysarc.2023.102871
- NiaPy — Vrbančič, Brezočnik, Mlakar, Fister, Fister Jr. NiaPy: Python microframework for building nature-inspired algorithms. Journal of Open Source Software 3(23), 2018. https://doi.org/10.21105/joss.00613
- iFogSim2 — Mahmud, Pallewatta, Goudarzi, Buyya. iFogSim2: An extended iFogSim simulator … Journal of Systems and Software 190, 2022. https://doi.org/10.1016/j.jss.2022.111351
- EdgeCloudSim — Sonmez, Ozgovde, Ersoy. EdgeCloudSim: An environment for performance evaluation of edge computing systems. Transactions on Emerging Telecommunications Technologies 29(11), 2018. https://doi.org/10.1002/ett.3493
- LEAF — Wiesner, Thamsen. LEAF: Simulating Large Energy-Aware Fog Computing Environments. IEEE ICFEC, 2021. https://doi.org/10.1109/ICFEC51620.2021.00012
- job-shop-lib — Ariño Fernández. job-shop-lib. arXiv:2506.13781, 2025. https://arxiv.org/abs/2506.13781
- Job Shop Scheduling Benchmark — Reijnen, van Straaten, Bukhsh, Zhang. arXiv:2308.12794, 2023. https://arxiv.org/abs/2308.12794
- PyJobShop — Lan, Berkhout. PyJobShop. arXiv:2502.13483, 2025. https://arxiv.org/abs/2502.13483
- schlably — Waubert de Puiseau et al. schlably. SoftwareX 22:101383, 2023. https://doi.org/10.1016/j.softx.2023.101383
- OR-Tools CP-SAT — Perron, Didier, Gay. CP-SAT. CP 2023. https://doi.org/10.4230/LIPIcs.CP.2023.3
- jMetal — Durillo, Nebro. jMetal. Advances in Engineering Software 42(10), 2011. https://doi.org/10.1016/j.advengsoft.2011.05.014 · jMetalPy — Benítez-Hidalgo et al. Swarm and Evolutionary Computation 51:100598, 2019. https://doi.org/10.1016/j.swevo.2019.100598
- Nevergrad — Rapin, Teytaud. Nevergrad. 2018 (software citation). https://github.com/facebookresearch/nevergrad
- YAFS — Lera, Guerrero, Juiz. YAFS. IEEE Access 7, 2019. https://doi.org/10.1109/ACCESS.2019.2927895
- EdgeSimPy — Souza et al. EdgeSimPy. Future Generation Computer Systems 148, 2023. https://doi.org/10.1016/j.future.2023.06.013
- CloudSim — Calheiros, Ranjan, Beloglazov, De Rose, Buyya. CloudSim. Software: Practice and Experience 41(1), 2011. https://doi.org/10.1002/spe.995 · CloudSim 7G — Andreoli et al. Software: Practice and Experience 55(6), 2025. https://doi.org/10.1002/spe.3413
- WfCommons — Coleman et al. WfCommons. Future Generation Computer Systems 128, 2022. https://doi.org/10.1016/j.future.2021.09.043
- WRENCH — Casanova et al. WRENCH. Future Generation Computer Systems 112, 2020. https://doi.org/10.1016/j.future.2020.05.030
- Optuna — Akiba, Sano, Yanase, Ohta, Koyama. Optuna: A Next-generation Hyperparameter Optimization Framework. KDD 2019. https://doi.org/10.1145/3292500.3330701
Postura de DispatchAtlas
| Eje | Postura de DispatchAtlas |
|---|---|
| Contratos de dominio | Objetos de planificación tipados, validación, procedencia, y semillas deterministas son la base. |
| Benchmarks | Los metadatos del catálogo incluyen caracterización, estado de citación, clase de evidencia, y hashes de contenido. |
| Solvers | Las líneas base, adaptadores exactos opcionales, metaheurísticas, variantes de planificación, y la familia de solvers NDSO comparten metadatos de registro. |
| Campañas reproducibles | Las campañas declaran ids de ejecución, presupuestos, criterios de parada, salidas, y captura de entorno. |
| Análisis | Los resúmenes estadísticos, tamaños de efecto, figuras, y paquetes del portal son exportaciones deterministas. |
| Sitio web | Las páginas de docs y portal consumen paquetes de datos estáticos seguros-para-el-público. |
Matriz de capacidades
Cada estado se verifica contra los paquetes enviados y los paquetes del portal público nombrados en la columna de base: ✅ soportado hoy, ⚠️ parcial, ❌ ausente.
| Capacidad | Estado | Base |
|---|---|---|
| Contratos de dominio de planificación tipados con validación, procedencia, y semillas deterministas | ✅ | contratos de problema, schedule, y hashing de dispatchatlas.core |
| Catálogo de benchmarks con métricas de caracterización cuantitativas | ✅ | los registros de benchmark-catalog.json llevan caracterización por-instancia |
| Inventario de familias de benchmarks respaldado-por-citaciones | ✅ | benchmark-families.json — cada fila de familia está respaldada-por-citaciones |
| Registro de solvers con-nombre con capacidades y citaciones declaradas | ✅ | solver-registry.json y solver-capabilities.json |
| Adaptadores de optimización exacta (extras opcionales más dos solvers nativos acotados) | ✅ | siete entradas exactas en solver-registry.json; los backends de terceros permanecen tras extras |
| Despacho constructivo y líneas base metaheurísticas | ✅ | grupos de despacho y metaheurística en solver-registry.json |
| Optimización many-objective (niching de punto-de-referencia) | ✅ | contrato many_objective en solver-capabilities.json |
| Indicadores de calidad multi-objetivo con-nombre | ✅ | cuatro indicadores citados en solver-capabilities.json |
| Contabilidad de restricciones con rutas de incumplimiento de nivel-de-servicio y penalización | ✅ | contrato constraint_support en solver-capabilities.json |
| Agregación de robustez (peor-caso y CVaR) | ✅ | contrato robustness en solver-capabilities.json |
| Recomendación de solver a partir de metadatos declarados | ✅ | ejes y política de solver-recommender.json |
| Confianza de recomendación de modelo-aprendido por encima de solo-metadatos | ⚠️ | el selector supervisado se envía, pero los paquetes publicados llevan confianza de solo-metadatos |
| Interfaces de aprendizaje e híbridas | ⚠️ | dos de siete interfaces nombradas están implementadas; cinco están registradas como diferidas |
| Perfiles de benchmark respaldados-por-traza | ⚠️ | un perfil calibrado-sintético; los estados de distribution-distance empaquetados no incluyen perfil respaldado-por-traza |
| Generadores de arribo-dinámico o re-planificación-en-línea | ❌ | la taxonomía declara la dimensión; cada generador empaquetado es estático |
| Kernels de puntuación-por-lotes acelerados | ❌ | el perfil de puntuación-por-lotes registra un kernel de biblioteca-estándar |
| Ejecución de campaña multi-host | ❌ | los modos de ejecución son secuencial, paralelo-por-hilos, acotado, y replay en un host |
| Punto de control, reanudación, y verificación de replay de campaña | ✅ | contratos de repositorio, punto de control, y replay de dispatchatlas.lab |
| Piso de conteo-de-ejecuciones de potencia-estadística y gate de comparación-justa | ✅ | política de conteo-de-ejecuciones e invariante de comparación-justa en dispatchatlas.lab |
| Análisis estadístico no-paramétrico con tamaños de efecto | ✅ | exportaciones de dispatchatlas.analytica; fila de característica en platform-comparison.json |
| Paquetes de descarga con-hash reproducibles | ✅ | downloads.json registra un hash de contenido y tamaño por paquete |
| Constructor de suites de benchmark en-el-navegador (suites listas y personalizadas, exportación del-lado-del-cliente) | ✅ | BenchmarkExplorer sobre benchmark-catalog.json; exportado vía lib/download.ts (JSON, CSV, ZIP) |