Skip to content

A Python library for implementing and testing algorithm for Job-Shop Scheduling problem.

Notifications You must be signed in to change notification settings

dothinking/jsp_framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Job-Shop Schedule Problem Solving Framework

A framework to explore algorithms for Job-Shop Schedule Problem (JSSP).

  • Pre-defined solvers for benchmark.

    • Google OR-Tools Constraint Programming solver
    • Mathematical solvers (CBC, SCIP, Gurobi) based on COIN-OR PuLP
    • Priority dispatching
    • Tabu search
    • Genetic algorithm
    • Genetic programming
    • Reinforcement learning
  • Implement and test your solver efficiently.

Problem description

According to the problem description here:

In the classical Job-Shop Schedule Problem, there are $n$ jobs that must be processed on $m$ machines. Each job consists of a sequence of different tasks. Each task needs to be processed during an uninterrupted period of time on a given machine.

In general, JSSP can be modeled in direct or indirect ways, i.e., mathematical model, and disjunctive graph.

  • mathematical model - take start_time of each task as variable and solve it directly;
  • disjunctive graph - solve the sequence of tasks assigned in each machine first and deduce start_time accordingly.

A detailed description in Chinese here.

Installation

python setup.py develop

Documentation

Combined documents in Chinese here 作业车间调度问题求解框架.

License

The project is licensed under the terms of the Apache License 2.0.

About

A Python library for implementing and testing algorithm for Job-Shop Scheduling problem.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages