Comparaison
DispatchAtlas est une boîte à outils de planification et d'optimisation pour les environnements de calcul distribué, construite autour d'un catalogue curé et adossé à des citations d'instances de problème — pas seulement une bibliothèque de solveurs, une liste de benchmarks ou un simulateur de réseau.
Ce qui distingue DispatchAtlas
Aucun pair ci-dessous n'est le facteur distinctif — c'est la combinaison qui l'est. DispatchAtlas associe un catalogue curé et adossé à des citations d'instances d'optimisation de planification et edge–fog–cloud à un registre de solveurs typé par capacité, une comparaison statistique non paramétrique intégrée et un portail d'inspection public dont le constructeur de suites dans le navigateur compose des suites de benchmark prêtes à l'emploi ou entièrement personnalisées à partir de tout le catalogue et les télécharge en JSON, CSV ou en paquet sans backend. Chaque pièce existe ailleurs ; aucun des pairs ci-dessous ne les réunit toutes.
Les challengers les plus proches se nomment honnêtement. jMetal livre un harnais d'étude expérimentale avec statistiques non paramétriques, mais aucun catalogue d'instances de planification ni portail d'inspection. job-shop-lib et le TU/e Job Shop Scheduling Benchmark livrent des instances de planification riches, mais sans curation de citation par instance, statistiques intégrées ni portail. WfCommons livre des générateurs de flux de travail adossés à des traces, mais ne note aucun optimiseur et n'exécute aucune statistique. DispatchAtlas est le projet qui tient les cinq capacités à la fois.
Cette page est la déclaration canonique de ce positionnement ; les autres surfaces lient ici plutôt que de le reformuler.
Comment DispatchAtlas se compare aux plateformes apparentées
Ces tables comparent les capacités de plateforme — ce que chaque projet livre — pas la performance. La preuve de performance vient des exports d'analyse statistique, jamais de cette page. Les tables sont groupées en bandes de projets comparables, en gardant les mêmes cinq colonnes de capacité. Chaque pair lie à sa citation canonique ; les sources complètes sont listées au pied de la page. ✅ fourni, ⚠️ adjacent ou partiel, ❌ non fourni.
DispatchAtlas apparaît une fois, dans la première bande, et sa ligne ✅✅✅✅✅ tient dans toutes les bandes suivantes.
Plateformes et solveurs de benchmark de planification
| Plateforme | Catalogue curé d'instances de planification | Edge–fog–cloud comme instances de benchmark | Registre de solveurs typé par capacité | Comparaison statistique intégrée | Portail d'inspection public |
|---|---|---|---|---|---|
| DispatchAtlas | ✅ | ✅ | ✅ | ✅ | ✅ |
| job-shop-lib | ⚠️ | ❌ | ⚠️ | ❌ | ❌ |
| Job Shop Scheduling Benchmark | ⚠️ | ❌ | ❌ | ❌ | ❌ |
| PyJobShop | ⚠️ | ❌ | ❌ | ❌ | ❌ |
| schlably | ❌ | ❌ | ❌ | ❌ | ❌ |
| OR-Tools CP-SAT | ❌ | ❌ | ❌ | ❌ | ❌ |
OR-Tools CP-SAT est le solveur exact de planification dominant — DispatchAtlas ne le concurrence pas. Des adaptateurs exacts optionnels enveloppent des solveurs de ce type derrière des extras, et la matrice de capacités enregistre l'optimisation exacte comme une capacité d'adaptateur : enveloppé, non concurrencé. job-shop-lib empaquette des instances classiques aux côtés d'environnements RL/GNN ; la suite de TU/e unifie des environnements JSP, FJSP et online-FJSP pour les méthodes avec et sans apprentissage ; PyJobShop fournit une modélisation par programmation par contraintes évaluée sur 9 000+ instances de la littérature ; schlably est un cadre d'expériences de planification par apprentissage par renforcement profond. Aucun ne cure la provenance de citation par instance, ne livre de barrières statistiques ni ne publie de portail d'inspection — les marques ⚠️ signalent des instances livrées sans métadonnées de citation curées.
Cadres de benchmark d'optimisation générale et métaheuristiques
| Plateforme | Catalogue curé d'instances de planification | Edge–fog–cloud comme instances de benchmark | Registre de solveurs typé par capacité | Comparaison statistique intégrée | Portail d'inspection public |
|---|---|---|---|---|---|
| COCO | ❌ | ❌ | ❌ | ✅ | ⚠️ |
| IOHprofiler | ❌ | ❌ | ❌ | ✅ | ✅ |
| pymoo | ❌ | ❌ | ⚠️ | ⚠️ | ❌ |
| jMetal / jMetalPy | ❌ | ❌ | ⚠️ | ✅ | ❌ |
| Nevergrad | ❌ | ❌ | ⚠️ | ⚠️ | ⚠️ |
| mealpy | ❌ | ❌ | ⚠️ | ❌ | ❌ |
| NiaPy | ❌ | ❌ | ⚠️ | ❌ | ❌ |
COCO évalue une classe de problème différente (fonctions continues de boîte noire) ; sa famille de suites couvre des variantes à un et deux objectifs, à grande échelle, entier-mixte et sous contraintes, avec une archive de données publique. IOHprofiler évalue des heuristiques itératives et offre un analyseur web hébergé. jMetal et jMetalPy sont inclus précisément parce qu'ils ne sont pas des épouvantails : ils livrent des études expérimentales avec statistiques non paramétriques, mais aucun catalogue de planification ni portail. Nevergrad fournit des graphiques de classement et un module d'expérimentation et de tracé sur des centaines d'optimiseurs, mais pas d'inférence non paramétrique. pymoo, mealpy et NiaPy fournissent de riches collections d'algorithmes et des fonctions de test synthétiques plutôt qu'un registre typé.
Simulateurs fog et edge
| Plateforme | Catalogue curé d'instances de planification | Edge–fog–cloud comme instances de benchmark | Registre de solveurs typé par capacité | Comparaison statistique intégrée | Portail d'inspection public |
|---|---|---|---|---|---|
| iFogSim2 | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| EdgeCloudSim | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| LEAF | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| YAFS | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| EdgeSimPy | ❌ | ⚠️ | ❌ | ❌ | ❌ |
Ceux-ci modélisent des réseaux edge–fog–cloud comme des simulations à événements discrets (⚠️), pas comme une suite de benchmark sur laquelle un optimiseur est noté. EdgeCloudSim v5.0 tourne sur le cœur actuel CloudSim 7.0.0-alpha avec de nouveaux tutoriels. YAFS est le simulateur fog en Python le plus proche en esprit des familles de continuum, et ses problèmes de placement sont ce que DispatchAtlas réexprime en instances de benchmark notées ; EdgeSimPy est le simulateur de gestion de ressources edge en Python le plus récent.
Plateformes de simulation de cloud et de flux de travail
| Plateforme | Catalogue curé d'instances de planification | Edge–fog–cloud comme instances de benchmark | Registre de solveurs typé par capacité | Comparaison statistique intégrée | Portail d'inspection public |
|---|---|---|---|---|---|
| CloudSim / CloudSim 7G | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| WfCommons | ⚠️ | ⚠️ | ❌ | ❌ | ⚠️ |
| WRENCH | ❌ | ⚠️ | ❌ | ❌ | ❌ |
Ce sont des simulateurs et des cadres de trace/générateur, pas des benchmarks d'optimiseurs — le même cadrage honnête que la bande fog. Le pipeline trace-vers-générateur-vers-benchmark de WfCommons est l'analogue conceptuel le plus fort des ambitions adossées à des traces de la plateforme, et c'est exactement là où DispatchAtlas est le plus faible aujourd'hui : un profil synthétique calibré, la ligne ⚠️ adossée à des traces dans la matrice de capacités ci-dessous.
Optuna est un outil complémentaire, pas un pair : c'est un régleur d'hyperparamètres, donc les hyperparamètres des solveurs peuvent être réglés avec lui, mais il ne livre aucune instance de planification ni histoire de provenance — c'est pourquoi « pourquoi ne pas simplement utiliser Optuna ? » a une réponse d'une ligne. Citer Optuna (Akiba et al., KDD 2019).
Comment lire les marques :
- Catalogue curé d'instances de planification — un ensemble versionné et adossé à des citations d'instances de problèmes de planification et de permutation. Les pairs de planification livrent des instances mais pas de curation de citation par instance ; les cadres d'optimisation livrent des problèmes de test synthétiques ; les simulateurs ne livrent aucun catalogue d'instances d'optimisation.
- Edge–fog–cloud comme instances de benchmark — des problèmes hétérogènes de placement et de communication exposés comme instances d'optimisation. Les simulateurs modélisent des réseaux edge–fog–cloud (⚠️), mais comme des simulations à événements discrets, pas comme une suite de benchmark notée.
- Registre de solveurs typé par capacité — les solveurs portent des objectifs, contraintes et métadonnées de capacité déclarés. Les bibliothèques métaheuristiques fournissent de riches collections d'algorithmes (⚠️) mais pas un registre typé orienté planification.
- Comparaison statistique intégrée — tests non paramétriques et tailles d'effet empaquetés avec la boîte à outils. COCO, IOHprofiler et jMetal livrent des outils statistiques dédiés.
- Portail d'inspection public — une surface de données navigable et sûre pour le public. COCO publie une archive de données d'atelier (⚠️) ; IOHanalyzer offre un analyseur web hébergé.
Ce que DispatchAtlas ne fournit pas
Voici l'écart inverse honnête — chaque point nomme le pair qui possède ce que DispatchAtlas n'a pas, et reflète une ligne ❌ ou ⚠️ existante dans la matrice de capacités ci-dessous.
- Pas de simulation à événements discrets — les simulateurs fog et cloud (CloudSim, iFogSim2, EdgeCloudSim, WRENCH) modélisent des dynamiques de réseau et de plateforme pas-à-pas dans le temps ; DispatchAtlas note plutôt des optimiseurs sur des instances.
- Pas de générateurs d'arrivée dynamique ou de replanification en ligne — la suite de TU/e livre des environnements online-FJSP ; tout générateur fourni par DispatchAtlas est statique.
- Pas d'environnements d'entraînement d'agents d'apprentissage — job-shop-lib et schlably livrent des environnements RL/GNN ; les interfaces d'apprentissage de DispatchAtlas sont partielles.
- Exécution de campagnes sur un seul hôte — Nevergrad exécute de grandes batteries d'expériences en parallèle ; DispatchAtlas exécute des modes séquentiel, en fils, borné et de rejeu sur un seul hôte.
- Un profil synthétique calibré de traces — WfCommons livre des générateurs dérivés de traces validés sur des archives réelles de flux de travail ; DispatchAtlas fournit un unique profil synthétique calibré.
Sources
- 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
Position de DispatchAtlas
| Axe | Position de DispatchAtlas |
|---|---|
| Contrats de domaine | Objets de planification typés, validation, provenance, et graines déterministes sont la fondation. |
| Benchmarks | Les métadonnées du catalogue incluent caractérisation, statut de citation, classe de preuve, et hachages de contenu. |
| Solveurs | Les lignes de base, adaptateurs exacts optionnels, métaheuristiques, variantes de planification, et la famille de solveurs NDSO partagent les métadonnées de registre. |
| Campagnes reproductibles | Les campagnes déclarent les ids d'exécution, budgets, critères d'arrêt, sorties, et capture d'environnement. |
| Analyse | Les résumés statistiques, tailles d'effet, figures, et paquets de portail sont des exports déterministes. |
| Site web | Les pages docs et portail consomment des paquets de données statiques sûrs-pour-le-public. |
Matrice de capacités
Chaque statut est vérifié contre les paquets livrés et les paquets du portail public nommés dans la colonne de base : ✅ supporté aujourd'hui, ⚠️ partiel, ❌ absent.
| Capacité | Statut | Base |
|---|---|---|
| Contrats de domaine de planification typés avec validation, provenance, et graines déterministes | ✅ | contrats de problème, schedule, et hachage de dispatchatlas.core |
| Catalogue de benchmarks avec métriques de caractérisation quantitatives | ✅ | les enregistrements de benchmark-catalog.json portent une caractérisation par-instance |
| Inventaire de familles de benchmarks adossé-à-des-citations | ✅ | benchmark-families.json — chaque ligne de famille est adossée-à-des-citations |
| Registre de solveurs nommés avec capacités et citations déclarées | ✅ | solver-registry.json et solver-capabilities.json |
| Adaptateurs d'optimisation exacte (extras optionnels plus deux solveurs natifs bornés) | ✅ | sept entrées exactes dans solver-registry.json ; les backends tiers restent derrière des extras |
| Répartition constructive et lignes de base métaheuristiques | ✅ | groupes de répartition et métaheuristique dans solver-registry.json |
| Optimisation many-objective (niching de point-de-référence) | ✅ | contrat many_objective dans solver-capabilities.json |
| Indicateurs de qualité multi-objectif nommés | ✅ | quatre indicateurs cités dans solver-capabilities.json |
| Comptabilité de contraintes avec chemins de manquement de niveau-de-service et de pénalité | ✅ | contrat constraint_support dans solver-capabilities.json |
| Agrégation de robustesse (pire-cas et CVaR) | ✅ | contrat robustness dans solver-capabilities.json |
| Recommandation de solveur à partir de métadonnées déclarées | ✅ | axes et politique de solver-recommender.json |
| Confiance de recommandation de modèle-appris au-dessus de métadonnées-seules | ⚠️ | le sélecteur supervisé est livré, mais les paquets publiés portent une confiance de métadonnées-seules |
| Interfaces d'apprentissage et hybrides | ⚠️ | deux des sept interfaces nommées sont implémentées ; cinq sont enregistrées comme différées |
| Profils de benchmark adossés-à-une-trace | ⚠️ | un profil calibré-synthétique ; les statuts de distribution-distance empaquetés n'incluent aucun profil adossé-à-une-trace |
| Générateurs d'arrivée-dynamique ou de re-planification-en-ligne | ❌ | la taxonomie déclare la dimension ; chaque générateur empaqueté est statique |
| Noyaux de scoring-par-lots accélérés | ❌ | le profil de scoring-par-lots enregistre un noyau de bibliothèque-standard |
| Exécution de campagne multi-host | ❌ | les modes d'exécution sont séquentiel, parallèle-par-fils, borné, et replay sur un host |
| Point de contrôle, reprise, et vérification de replay de campagne | ✅ | contrats de dépôt, point de contrôle, et replay de dispatchatlas.lab |
| Plancher de nombre-d'exécutions de puissance-statistique et gate de comparaison-équitable | ✅ | politique de nombre-d'exécutions et invariant de comparaison-équitable dans dispatchatlas.lab |
| Analyse statistique non-paramétrique avec tailles d'effet | ✅ | exports de dispatchatlas.analytica ; ligne de caractéristique dans platform-comparison.json |
| Paquets de téléchargement hachés reproductibles | ✅ | downloads.json enregistre un hachage de contenu et une taille par paquet |
| Constructeur de suites de benchmark dans-le-navigateur (suites prêtes-à-l'emploi et personnalisées, export côté-client) | ✅ | BenchmarkExplorer sur benchmark-catalog.json ; exporté via lib/download.ts (JSON, CSV, ZIP) |