Ce référentiel fournit un environnement d'analyse comparative complète pour une variété de problèmes de planification des machines, notamment la planification des ateliers d'emploi (JSP), la planification de l'atelier de flux (FSP), la planification flexible des ateliers d'emploi (FJSP), le FJSP avec des contraintes d'assemblage (FAJSP), le FJSP avec des temps de mise en ligne dépendants en ligne (FJSP-SDST) et le FJSP en ligne (avec des arrives en ligne). Il vise à être un centre centralisé pour les chercheurs, les praticiens et les amateurs intéressés à relever les défis de la planification des machines.
Le référentiel comprend des méthodes de solution exact, heuristique et basée sur l'apprentissage, chacune compatible avec une ou plusieurs variantes de problèmes de planification de la machine:
| Méthodes de solution | Taper | Jsp | FSP | Fjsp | FJSP SDST | Fajsp | En ligne (f) jsp |
|---|---|---|---|---|---|---|---|
| Milp | Exact | ||||||
| Cp-sat | Exact | ||||||
| Règles de distribution | Heuristique | ||||||
| Algorithme génétique | Heuristique | ||||||
| FJSP-DRL | DRL | ||||||
| L2d | DRL | ||||||
| Daniel | DRL |
Ici, nous fournissons quelques courts exemples sur la façon d'utiliser les méthodes de solution dans ce référentiel. Pour des informations plus détaillées et plus d'exemples, veuillez vous référer aux tutoriels ici et ici.
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 )Nous fournissons des fonctions de complot pour établir à la fois les relations de priorité entre les opérations et le tableau Gantt pour les problèmes de planification de l'atelier:
![]() | ![]() |
|---|
Le référentiel est structuré pour fournir une facilité d'utilisation et une flexibilité:
job , operation , machine et jobShop ). Contient également la simulationEnv pour les problèmes de planification dynamique avec les arrivées en ligne.Pour des informations plus détaillées, veuillez vous référer à notre article. Si vous utilisez ce référentiel dans votre recherche, veuillez envisager de citer l'article suivant:
Reijnen, R., Van Straaten, K., Bukhsh, Z., et Zhang, Y. (2023). Benchmark de planification des magasins d'emplois: environnements et instances pour l'apprentissage et les méthodes de non-apprentissage. ARXIV PRÉALLAGE ARXIV: 2308.12794. https://doi.org/10.48550/arxiv.2308.12794
Ou, en utilisant l'entrée Bibtex suivante:
@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 }
}Une préimpression de ce document est disponible ou arxiv. Veuillez noter que cette version est un espace réservé et sera mise à jour courte avec la version finale.