Comparação
DispatchAtlas é um conjunto de ferramentas para escalonamento e otimização em ambientes de computação distribuída, construído em torno de um catálogo curado e respaldado por citações de instâncias de problema — não apenas uma biblioteca de solvers, uma lista de benchmarks ou um simulador de rede.
O que distingue o DispatchAtlas
Nenhum par isolado abaixo é o diferencial — a combinação é. O DispatchAtlas une um catálogo curado e respaldado por citações de instâncias de otimização de escalonamento e edge–fog–cloud a um registro de solvers tipado por capacidade, comparação estatística não paramétrica embutida e um portal de inspeção público cujo construtor de suítes no navegador compõe suítes de benchmark prontas ou totalmente personalizadas a partir de todo o catálogo e as baixa como JSON, CSV ou um pacote sem backend. Cada peça existe em outro lugar; nenhum dos pares abaixo as reúne todas.
Os desafiantes mais próximos podem ser nomeados com honestidade. O jMetal oferece um arcabouço de estudo experimental com estatística não paramétrica, mas nenhum catálogo de instâncias de escalonamento nem portal de inspeção. O job-shop-lib e o TU/e Job Shop Scheduling Benchmark oferecem instâncias de escalonamento ricas, mas sem curadoria de citação por instância, estatística embutida ou portal. O WfCommons oferece geradores de fluxos de trabalho respaldados por traços, mas não pontua otimizadores nem executa estatística. O DispatchAtlas é o projeto que sustenta as cinco capacidades ao mesmo tempo.
Esta página é a declaração canônica desse posicionamento; outras superfícies apontam para cá em vez de reformulá-lo.
Como o DispatchAtlas se compara a plataformas afins
Estas tabelas comparam as capacidades de plataforma — o que cada projeto oferece — não o desempenho. A evidência de desempenho vem das exportações de análise estatística, nunca desta página. As tabelas são agrupadas em faixas de projetos comparáveis, mantendo as mesmas cinco colunas de capacidade. Cada par aponta para sua citação canônica; as fontes completas estão ao pé da página. ✅ fornecido, ⚠️ adjacente ou parcial, ❌ não fornecido.
O DispatchAtlas aparece uma vez, na primeira faixa, e sua linha ✅✅✅✅✅ vale em todas as faixas seguintes.
Plataformas e solvers de benchmark de escalonamento
| Plataforma | Catálogo curado de instâncias de escalonamento | Edge–fog–cloud como instâncias de benchmark | Registro de solvers tipado por capacidade | Comparação estatística embutida | Portal de inspeção público |
|---|---|---|---|---|---|
| DispatchAtlas | ✅ | ✅ | ✅ | ✅ | ✅ |
| job-shop-lib | ⚠️ | ❌ | ⚠️ | ❌ | ❌ |
| Job Shop Scheduling Benchmark | ⚠️ | ❌ | ❌ | ❌ | ❌ |
| PyJobShop | ⚠️ | ❌ | ❌ | ❌ | ❌ |
| schlably | ❌ | ❌ | ❌ | ❌ | ❌ |
| OR-Tools CP-SAT | ❌ | ❌ | ❌ | ❌ | ❌ |
O OR-Tools CP-SAT é o solver exato de escalonamento dominante — o DispatchAtlas não compete com ele. Adaptadores exatos opcionais envolvem solvers como ele por trás de extras, e a matriz de capacidades registra a otimização exata como uma capacidade de adaptador: envolvido, não rivalizado. O job-shop-lib empacota instâncias clássicas junto a ambientes RL/GNN; a suíte da TU/e unifica ambientes JSP, FJSP e online-FJSP para métodos com e sem aprendizado; o PyJobShop oferece modelagem por programação por restrições avaliada em 9.000+ instâncias da literatura; o schlably é um arcabouço de experimentos de escalonamento por aprendizado por reforço profundo. Nenhum faz curadoria de proveniência de citação por instância, embute barreiras estatísticas nem publica um portal de inspeção — as marcas ⚠️ indicam instâncias entregues sem metadados de citação curados.
Arcabouços de benchmark de otimização geral e metaheurísticas
| Plataforma | Catálogo curado de instâncias de escalonamento | Edge–fog–cloud como instâncias de benchmark | Registro de solvers tipado por capacidade | Comparação estatística embutida | Portal de inspeção público |
|---|---|---|---|---|---|
| COCO | ❌ | ❌ | ❌ | ✅ | ⚠️ |
| IOHprofiler | ❌ | ❌ | ❌ | ✅ | ✅ |
| pymoo | ❌ | ❌ | ⚠️ | ⚠️ | ❌ |
| jMetal / jMetalPy | ❌ | ❌ | ⚠️ | ✅ | ❌ |
| Nevergrad | ❌ | ❌ | ⚠️ | ⚠️ | ⚠️ |
| mealpy | ❌ | ❌ | ⚠️ | ❌ | ❌ |
| NiaPy | ❌ | ❌ | ⚠️ | ❌ | ❌ |
O COCO avalia uma classe de problema diferente (funções contínuas de caixa-preta); sua família de suítes abrange variantes de um e dois objetivos, grande escala, inteiro-misto e com restrições, com um arquivo de dados público. O IOHprofiler avalia heurísticas iterativas e oferece um analisador web hospedado. O jMetal e o jMetalPy são incluídos justamente por não serem espantalhos: oferecem estudos experimentais com estatística não paramétrica, mas nenhum catálogo de escalonamento ou portal. O Nevergrad oferece gráficos de ranking e um módulo de experimentação e plotagem sobre centenas de otimizadores, mas não inferência não paramétrica. pymoo, mealpy e NiaPy oferecem coleções ricas de algoritmos e funções de teste sintéticas em vez de um registro tipado.
Simuladores fog e edge
| Plataforma | Catálogo curado de instâncias de escalonamento | Edge–fog–cloud como instâncias de benchmark | Registro de solvers tipado por capacidade | Comparação estatística embutida | Portal de inspeção público |
|---|---|---|---|---|---|
| iFogSim2 | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| EdgeCloudSim | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| LEAF | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| YAFS | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| EdgeSimPy | ❌ | ⚠️ | ❌ | ❌ | ❌ |
Estes modelam redes edge–fog–cloud como simulações de eventos discretos (⚠️), não como uma suíte de benchmark sobre a qual um otimizador é pontuado. O EdgeCloudSim v5.0 roda sobre o núcleo atual CloudSim 7.0.0-alpha com novos tutoriais. O YAFS é o simulador fog em Python mais próximo em espírito das famílias de contínuo, e seus problemas de posicionamento são o que o DispatchAtlas reexpressa como instâncias de benchmark pontuadas; o EdgeSimPy é o simulador de gestão de recursos edge em Python mais recente.
Plataformas de simulação de nuvem e fluxos de trabalho
| Plataforma | Catálogo curado de instâncias de escalonamento | Edge–fog–cloud como instâncias de benchmark | Registro de solvers tipado por capacidade | Comparação estatística embutida | Portal de inspeção público |
|---|---|---|---|---|---|
| CloudSim / CloudSim 7G | ❌ | ⚠️ | ❌ | ❌ | ❌ |
| WfCommons | ⚠️ | ⚠️ | ❌ | ❌ | ⚠️ |
| WRENCH | ❌ | ⚠️ | ❌ | ❌ | ❌ |
Estes são simuladores e arcabouços de traço/gerador, não benchmarks de otimizadores — o mesmo enquadramento honesto que a faixa fog usa. O pipeline traço-para-gerador-para-benchmark do WfCommons é o análogo conceitual mais forte das ambições respaldadas por traços da plataforma, e é exatamente onde o DispatchAtlas é mais fraco hoje: um perfil sintético calibrado, a linha ⚠️ respaldada por traços na matriz de capacidades abaixo.
O Optuna é ferramenta complementar, não um par: é um ajustador de hiperparâmetros, então os hiperparâmetros dos solvers podem ser ajustados com ele, mas não oferece instâncias de escalonamento nem história de proveniência — por isso «por que não usar simplesmente o Optuna?» tem uma resposta de uma linha. Cite Optuna (Akiba et al., KDD 2019).
Como ler as marcas:
- Catálogo curado de instâncias de escalonamento — um conjunto versionado e respaldado por citações de instâncias de problemas de escalonamento e permutação. Os pares de escalonamento oferecem instâncias mas não curadoria de citação por instância; os arcabouços de otimização oferecem problemas de teste sintéticos; os simuladores não oferecem catálogo de instâncias de otimização.
- Edge–fog–cloud como instâncias de benchmark — problemas heterogêneos de posicionamento e comunicação expostos como instâncias de otimização. Os simuladores modelam redes edge–fog–cloud (⚠️), mas como simulações de eventos discretos, não como uma suíte de benchmark pontuada.
- Registro de solvers tipado por capacidade — os solvers carregam objetivos, restrições e metadados de capacidade declarados. As bibliotecas metaheurísticas oferecem coleções ricas de algoritmos (⚠️), mas não um registro tipado voltado ao escalonamento.
- Comparação estatística embutida — testes não paramétricos e tamanhos de efeito empacotados com o conjunto de ferramentas. COCO, IOHprofiler e jMetal oferecem ferramentas estatísticas dedicadas.
- Portal de inspeção público — uma superfície de dados navegável e segura para o público. O COCO publica um arquivo de dados de workshop (⚠️); o IOHanalyzer oferece um analisador web hospedado.
O que o DispatchAtlas não fornece
Esta é a lacuna reversa honesta — cada item nomeia o par que tem o que o DispatchAtlas não tem, e reflete uma linha ❌ ou ⚠️ existente na matriz de capacidades abaixo.
- Sem simulação de eventos discretos — os simuladores fog e de nuvem (CloudSim, iFogSim2, EdgeCloudSim, WRENCH) modelam dinâmicas de rede e plataforma passo a passo no tempo; o DispatchAtlas pontua otimizadores sobre instâncias em vez disso.
- Sem geradores de chegada dinâmica ou reescalonamento on-line — a suíte da TU/e oferece ambientes online-FJSP; todo gerador incluído no DispatchAtlas é estático.
- Sem ambientes de treinamento de agentes de aprendizado — job-shop-lib e schlably oferecem ambientes RL/GNN; as interfaces de aprendizado do DispatchAtlas são parciais.
- Execução de campanhas em um único host — o Nevergrad executa grandes baterias de experimentos em paralelo; o DispatchAtlas executa modos sequencial, em threads, limitado e de repetição em um único host.
- Um perfil sintético calibrado de traços — o WfCommons oferece geradores derivados de traços validados sobre arquivos reais de fluxos de trabalho; o DispatchAtlas inclui um único perfil sintético calibrado.
Fontes
- 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 do DispatchAtlas
| Eixo | Postura do DispatchAtlas |
|---|---|
| Contratos de domínio | Objetos de escalonamento tipados, validação, proveniência, e sementes determinísticas são a fundação. |
| Benchmarks | Os metadados do catálogo incluem caracterização, status de citação, classe de evidência, e hashes de conteúdo. |
| Solvers | As linhas de base, adaptadores exatos opcionais, metaheurísticas, variantes de escalonamento, e a família de solvers NDSO compartilham metadados de registro. |
| Campanhas reproduzíveis | As campanhas declaram ids de execução, orçamentos, critérios de parada, saídas, e captura de ambiente. |
| Análise | Os resumos estatísticos, tamanhos de efeito, figuras, e pacotes do portal são exportações determinísticas. |
| Site | As páginas de docs e portal consomem pacotes de dados estáticos seguros-para-o-público. |
Matriz de capacidades
Cada status é verificado contra os pacotes enviados e os pacotes do portal público nomeados na coluna de base: ✅ suportado hoje, ⚠️ parcial, ❌ ausente.
| Capacidade | Status | Base |
|---|---|---|
| Contratos de domínio de escalonamento tipados com validação, proveniência, e sementes determinísticas | ✅ | contratos de problema, schedule, e hashing de dispatchatlas.core |
| Catálogo de benchmarks com métricas de caracterização quantitativas | ✅ | os registros de benchmark-catalog.json carregam caracterização por-instância |
| Inventário de famílias de benchmarks respaldado-por-citações | ✅ | benchmark-families.json — cada linha de família é respaldada-por-citações |
| Registro de solvers nomeados com capacidades e citações declaradas | ✅ | solver-registry.json e solver-capabilities.json |
| Adaptadores de otimização exata (extras opcionais mais dois solvers nativos limitados) | ✅ | sete entradas exatas em solver-registry.json; os backends de terceiros permanecem atrás de extras |
| Despacho construtivo e linhas de base metaheurísticas | ✅ | grupos de despacho e metaheurística em solver-registry.json |
| Otimização many-objective (niching de ponto-de-referência) | ✅ | contrato many_objective em solver-capabilities.json |
| Indicadores de qualidade multi-objetivo nomeados | ✅ | quatro indicadores citados em solver-capabilities.json |
| Contabilidade de restrições com caminhos de violação de nível-de-serviço e penalidade | ✅ | contrato constraint_support em solver-capabilities.json |
| Agregação de robustez (pior-caso e CVaR) | ✅ | contrato robustness em solver-capabilities.json |
| Recomendação de solver a partir de metadados declarados | ✅ | eixos e política de solver-recommender.json |
| Confiança de recomendação de modelo-aprendido acima de apenas-metadados | ⚠️ | o seletor supervisionado é enviado, mas os pacotes publicados carregam confiança de apenas-metadados |
| Interfaces de aprendizado e híbridas | ⚠️ | duas de sete interfaces nomeadas estão implementadas; cinco estão registradas como adiadas |
| Perfis de benchmark respaldados-por-traço | ⚠️ | um perfil calibrado-sintético; os status de distribution-distance empacotados não incluem perfil respaldado-por-traço |
| Geradores de chegada-dinâmica ou re-escalonamento-online | ❌ | a taxonomia declara a dimensão; cada gerador empacotado é estático |
| Kernels de pontuação-em-lote acelerados | ❌ | o perfil de pontuação-em-lote registra um kernel de biblioteca-padrão |
| Execução de campanha multi-host | ❌ | os modos de execução são sequencial, paralelo-por-threads, limitado, e replay em um host |
| Ponto de verificação, retomada, e verificação de replay de campanha | ✅ | contratos de repositório, ponto de verificação, e replay de dispatchatlas.lab |
| Piso de contagem-de-execuções de potência-estatística e gate de comparação-justa | ✅ | política de contagem-de-execuções e invariante de comparação-justa em dispatchatlas.lab |
| Análise estatística não-paramétrica com tamanhos de efeito | ✅ | exportações de dispatchatlas.analytica; linha de característica em platform-comparison.json |
| Pacotes de download com-hash reproduzíveis | ✅ | downloads.json registra um hash de conteúdo e tamanho por pacote |
| Construtor de suítes de benchmark no-navegador (suítes prontas e personalizadas, exportação no-cliente) | ✅ | BenchmarkExplorer sobre benchmark-catalog.json; exportado via lib/download.ts (JSON, CSV, ZIP) |