このリポジトリは、ジョブショップスケジューリング(JSP)、フローショップスケジューリング(FSP)、柔軟なジョブショップスケジューリング(FJSP)、アセンブリ制約付きFJSP(FAJSP)、シーケンス依存セットアップ時間を備えたFJSP(FJSP-SSDST)、およびオンラインFJSP(オンラインFJSP)など、さまざまなマシンスケジューリングの問題に関する包括的なベンチマーク環境を提供します。これは、マシンのスケジューリングの課題に取り組むことに関心のある研究者、実務家、愛好家のための集中型ハブになることを目指しています。
リポジトリには、正確、ヒューリスティック、および学習ベースのソリューション方法が含まれており、それぞれが1つ以上のマシンスケジュールの問題バリアントと互換性があります。
| 解決策方法 | タイプ | jsp | fsp | fjsp | FJSP SDST | fajsp | オンライン(f)JSP |
|---|---|---|---|---|---|---|---|
| MILP | ちょうど | ||||||
| CP-SAT | ちょうど | ||||||
| 派遣ルール | ヒューリスティック | ||||||
| 遺伝的アルゴリズム | ヒューリスティック | ||||||
| fjsp-drl | DRL | ||||||
| L2D | DRL | ||||||
| ダニエル | DRL |
ここでは、このリポジトリでソリューションメソッドを使用する方法に関する短い例をいくつか示します。詳細情報とその他の例については、こちらとこちらのチュートリアルを参照してください。
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 )私たちは、オペレーションとジョブショップのスケジューリング問題のガントチャートの間の優先関係の両方を引き出すためのプロット機能を提供します。
![]() | ![]() |
|---|
リポジトリは、使いやすさと柔軟性を提供するように構成されています。
job 、 operation 、 machine 、 jobShop )を定義します。また、オンラインジョブの到着に関する動的なスケジューリングの問題のためのsimulationEnvも含まれています。詳細については、私たちの論文を参照してください。このリポジトリを調査で使用する場合は、次の論文を引用することを検討してください。
Reijnen、R.、van Straaten、K.、Bukhsh、Z。、&Zhang、Y。(2023)。ジョブショップのスケジューリングベンチマーク:学習および非学習方法の環境とインスタンス。 arxiv preprint arxiv:2308.12794。 https://doi.org/10.48550/arxiv.2308.12794
または、次のbibtexエントリを使用してください。
@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 }
}このペーパーのプレプリントが利用可能またはarxivです。このバージョンはプレースホルダーであり、最終バージョンですぐに更新されることに注意してください。