production / job shop / resource scheduler for Python
Project description
PlanBee 🐝
If Plan A fails, dont worry there is always PlanBee! PlanBee is a Job Shop Scheduling algorithm module buzzing with features. Feed PlanBee with your tasks and resources and it quickly finds a solution. It employs the high-speed computation power of NumPy to achieve fast results. With PlanBee, Plan B becomes your Plan A!
Features 🚀
- Define your own tasks and resources.
- Specify available windows for each resource.
- Indicate priority, duration, and necessary resources for each task.
- Solve your scheduling problems with a single function call!
- Get a detailed summary and visualization of the scheduling solution.
Installation 🛠️
pip install planbee
Usage 🐍
First, import the necessary modules:
from PlanBee import Resource, Task, Scheduler
Then, define your resources:
resource1 = Resource(id=1, available_windows=[(0, 10), (15, 20)])
resource2 = Resource(id=2, available_windows=[(5, 20)])
And your tasks:
task1 = Task(id=1, duration=5, priority=1, resources=[resource1, resource2], resource_count=1)
task2 = Task(id=2, duration=3, priority=2, resources=[resource1], predecessors=[task1], resource_count=1)
Finally, use the Scheduler to solve:
scheduler = Scheduler(tasks=[task1, task2])
result = scheduler.schedule()
Visualization 📊
PlanBee provides a function to plot your schedule:
result.plot_resource_plan()
Contributions 💡
Contributions are always welcome! See CONTRIBUTING.md
for ways to get started.
License 📄
This project is licensed under the terms of the MIT license.
Project details
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 planbee-0.2.1.tar.gz
.
File metadata
- Download URL: planbee-0.2.1.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4386f3d87e752bed953cdbfb1e4f4e313c04c38430035cc23d7957372613903 |
|
MD5 | d89d19a712a913b967063ede438bb2d8 |
|
BLAKE2b-256 | 05d712f1fb0ef3a0cd43014e4cc4446acecf226d3e0f6cf50afb08a9f69b50d8 |
File details
Details for the file planbee-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: planbee-0.2.1-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e08237a14837a81d8aaacf321866896ca9e29ab3731971f7ea8be328a2e2251 |
|
MD5 | c6be9b6576e5c7cea68696aed8531dcd |
|
BLAKE2b-256 | 6a2b10eace53153d529358aabec31cab2be4d9cc37342b8bad2d75d970a37488 |