Этот репозиторий обеспечивает комплексную среду сравнительного анализа для различных проблем с расписанием машин, включая планирование магазинов работ (JSP), планирование магазина потоков (FSP), гибкое планирование магазинов занятостей (FJSP), FJSP с ограничениями сборки (FAJSP), FJSP с последовательным временем настройки (FJSP-SDST) и онлайн FJSP (в онлайн-arspals). Он направлен на то, чтобы стать централизованным центром для исследователей, практиков и энтузиастов, заинтересованных в решении задач планирования машин.
Репозиторий включает в себя точные, эвристические и методы решения на основе обучения, каждый из которых совместим с одним или несколькими вариантами задачи по планированию машины:
| Методы решения | Тип | JSP | FSP | FJSP | FJSP SDST | Fajsp | Онлайн (F) JSP |
|---|---|---|---|---|---|---|---|
| Мил | Точный | ||||||
| Cp-sat | Точный | ||||||
| Правила отправки | Эвристика | ||||||
| Генетический алгоритм | Эвристика | ||||||
| FJSP-DRL | Доль | ||||||
| L2D | Доль | ||||||
| Даниэль | Доль |
Здесь мы приводим несколько коротких примеров того, как использовать методы решения в этом репозитории. Для получения более подробной информации и дополнительных примеров, пожалуйста, обратитесь к учебным пособиям здесь и здесь.
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. Обратите внимание, что эта версия является заполнителем и будет обновляться в ближайшее время с окончательной версией.