Solving shop scheduling problems with constraint programming.
Project description
[!NOTE] This package is under development. Expect things to break significantly in versions
v0.0.*
.
PyJobShop is a Python library for solving scheduling problems with constraint programming. It currently supports the following scheduling problems:
- Machine environments: single machine, parallel machines, hybrid flow shops, open shops, job shops, and flexible job shops.
- Constraints: release dates, deadlines, due dates, sequence-dependent setup times, no-wait, blocking, and precedence constraints.
- Objective functions: minimizing makespan, total completion time, number of tardy jobs, and total tardiness.
You can find PyJobShop on the Python Package Index under the name pyjobshop
.
To install it, simply run:
pip install pyjobshop
The documentation is available here.
[!TIP] If you are new to scheduling or constraint programming, you might benefit from first reading the introduction to scheduling and introduction to CP pages.
Constraint programming solvers
PyJobShop uses OR-Tools' CP-SAT solver as its default constraint programming solver. We also support CP Optimizer - see our documentation for instructions on how to install PyJobShop with CP Optimizer.
Examples
We provide example notebooks that show how PyJobShop may be used to solve scheduling problems.
- TODO
Contributing
We are very grateful for any contributions you are willing to make. Please have a look here to get started. If you aim to make a large change, it is helpful to discuss the change first in a new GitHub issue. Feel free to open one!
Getting help
Feel free to open an issue or a new discussion thread here on GitHub. Please do not e-mail us with questions, modelling issues, or code examples. Those are much easier to discuss via GitHub than over e-mail. When writing your issue or discussion, please follow the instructions here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyjobshop-0.0.2b0.tar.gz
.
File metadata
- Download URL: pyjobshop-0.0.2b0.tar.gz
- Upload date:
- Size: 35.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ebace4c4042a66df2e1ef29cd601f73535efce314fafe49efffa7a3cb8ecaea |
|
MD5 | e0123708283cdb875e90db717f2384df |
|
BLAKE2b-256 | 26233e69fbadc59f489fb8a29ecab379b2bf093700f7d13dd77f8b38764a4563 |
File details
Details for the file pyjobshop-0.0.2b0-py3-none-any.whl
.
File metadata
- Download URL: pyjobshop-0.0.2b0-py3-none-any.whl
- Upload date:
- Size: 44.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 390814a22f8a2cd5cf24ff3d4dab1cb3fa348b66e863d8253bc24ce387e3dc80 |
|
MD5 | 104cda44e38adef4488840188b7f9f4f |
|
BLAKE2b-256 | 95482a950c3d75c1fdf1f9e0915abbdec551920b69ffba4e7d1f48ca43e3f7b9 |