Dieses Repository bietet eine umfassende Benchmarking-Umgebung für eine Vielzahl von Maschinenplanungsproblemen, einschließlich der Planung von Job Shop (JSP), Flow Shop Planing (FSP), flexibler Job Shop Planing (FJSP), FJSP mit Montage-Einschränkungen (FAJSP), FJSP mit Sequenzabendigen Setup Times (FJSP-SDST) und The Online FJSP (Online). Ziel ist es, ein zentraler Hub für Forscher, Praktiker und Enthusiasten zu sein, die sich für die Bekämpfung der Herausforderungen der Maschinenplanung interessieren.
Das Repository umfasst exakte, heuristische und lernbasierte Lösungsmethoden, die jeweils mit einer oder mehreren Maschinenplan -Problemvarianten kompatibel sind:
| Lösungsmethoden | Typ | JSP | FSP | FJSP | FJSP SDST | Fajsp | Online (f) JSP |
|---|---|---|---|---|---|---|---|
| Milp | Genau | ||||||
| CP-sa | Genau | ||||||
| Versandregeln | Heuristik | ||||||
| Genetischer Algorithmus | Heuristik | ||||||
| FJSP-DRL | Drl | ||||||
| L2d | Drl | ||||||
| Daniel | Drl |
Hier geben wir einige kurze Beispiele zur Verwendung der Lösungsmethoden in diesem Repository an. Weitere Informationen und weitere Beispiele finden Sie in den Tutorials hier und hier.
from solution_methods . dispatching_rules import run_dispatching_rules
from solution_methods . helper_functions import load_job_shop_env , load_parameters
parameters = load_parameters ( "configs/dispatching_rules.toml" )
jobShopEnv = load_job_shop_env ( parameters [ 'instance' ]. get ( 'problem_instance' ))
makespan , jobShopEnv = run_dispatching_rules ( jobShopEnv , ** parameters ) from solution_methods . helper_functions import load_job_shop_env , load_parameters
from solution_methods . GA . run_GA import run_GA
from solution_methods . GA . src . initialization import initialize_run
parameters = load_parameters ( "configs/genetic_algorithm.toml" )
jobShopEnv = load_job_shop_env ( parameters [ 'instance' ]. get ( 'problem_instance' ))
population , toolbox , stats , hof = initialize_run ( jobShopEnv , ** parameters )
makespan , jobShopEnv = run_GA ( jobShopEnv , population , toolbox , stats , hof , ** parameters ) from solution_methods . L2D . src . run_L2D import run_L2D
from solution_methods . helper_functions import load_job_shop_env , load_parameters
parameters = load_parameters ( "configs/L2D.toml" )
jobShopEnv = load_job_shop_env ( parameters [ 'instance' ]. get ( 'problem_instance' ))
makespan , jobShopEnv = run_L2D ( jobShopEnv , ** parameters )Wir bieten Plotfunktionen, um beide Vorrangverhältnisse zwischen Operations und der Gantt -Tabelle für die Probleme mit dem Job Shop -Planung zu zeichnen:
![]() | ![]() |
|---|
Das Repository ist strukturiert, um eine einfache Verwendung und Flexibilität zu erzielen:
job , operation , machine und jobShop ). Enthält auch das simulationEnv für dynamische Planungsprobleme mit Online -Jobankömmlingen.Ausführlichere Informationen finden Sie in unserem Artikel. Wenn Sie dieses Repository in Ihrer Forschung verwenden, sollten Sie das folgende Papier zitieren:
R. Reijnen, K. Van Straaten, Z. Bukhsh & Y. Zhang (2023). Arbeitsgeschäftsplanung Benchmark: Umgebungen und Instanzen für Lern- und Nicht-Learning-Methoden. Arxiv Preprint Arxiv: 2308.12794. https://doi.org/10.48550/arxiv.2308.12794
Oder unter Verwendung des folgenden Bibtex -Eintrags:
@article { reijnen2023job ,
title = { Job Shop Scheduling Benchmark: Environments and Instances for Learning and Non-learning Methods } ,
author = { Reijnen, Robbert and van Straaten, Kjell and Bukhsh, Zaharah and Zhang, Yingqian } ,
journal = { arXiv preprint arXiv:2308.12794 } ,
year = { 2023 }
}Eine Vorbereitung dieses Papiers ist verfügbar oder Arxiv. Bitte beachten Sie, dass diese Version ein Platzhalter ist und kurz mit der endgültigen Version aktualisiert wird.