Flexible job shop scheduler in Python
Project description
Documentation | Tutorials | Release Notes | 中文
python-lekin is a Flexible Job Shop Scheduler Library, named after Lekin. As a core function in APS (advanced planning and scheduler), it helps manufacturers optimize the allocation of materials and production capacity optimally to balance demand and capacity.
- Changeover Optimization
- Ready for demo, research and maybe production
DEVELOPING - NOT FINISHED AND DON'T USE IT NOW!
Features
- Multiple solving strategies:
- Continuous Time Planning (CTP)
- Construction Heuristics
- Meta-heuristics (Genetic Algorithm, Simulated Annealing)
- Reinforcement Learning
- Operation Research methods
- Extensible architecture for custom solvers
- Comprehensive constraint handling
- Performance metrics and visualization
- Parallel solving capabilities
- Solution validation and verification
Tutorial
[]
Installation
pip install lekin
Usage
from lekin import Heuristics, Rule
from lekin import Scheduler
solver = Rule('SPT')
scheduler = Scheduler(solver)
scheduler.solve(job_list, machine_list)
scheduler.draw()
Examples
In real world, Lekin integrates with MES to deploy production plans on the shop floor. Integration with ERP system is also required to exchange information on demand, inventory, and production
-
Exhaustive search
- branch and bound
-
Construction heuristics
-
Meta heuristics
-
Operation search
-
Reinforcement learning
Metaheuristics combined with Construction Heuristics to initialize is the recommended choice.
Adding New Constraints
from lekin.solver.constraints import BaseConstraint
class MyCustomConstraint(BaseConstraint):
def check(self, solution):
# Implement your constraint checking logic
pass
Citation
@misc{python-lekin2022,
author = {Hongying Yue},
title = {python lekin},
year = {2022},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/hongyingyue/python-lekin}},
}
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lekin-0.0.2.tar.gz.
File metadata
- Download URL: lekin-0.0.2.tar.gz
- Upload date:
- Size: 58.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2831916f67454ff26c79383a91662ad9f60b78e4d3ce439654a6e4887c749a2a
|
|
| MD5 |
a6c05c0b36e6611654b1805a4a8520e8
|
|
| BLAKE2b-256 |
426c05d3b58fdd2c66e0d547805941ae8823cb87a32d14445e096207b3b50193
|
File details
Details for the file lekin-0.0.2-py3-none-any.whl.
File metadata
- Download URL: lekin-0.0.2-py3-none-any.whl
- Upload date:
- Size: 88.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
955e484f74cea94729be7b5e793bafa08b917b6b4e7015de9a73acf699256077
|
|
| MD5 |
213b2443cd93e85c116abb778f9e0e04
|
|
| BLAKE2b-256 |
b0c4db81cdfd55edd85a9c5d07257a9a69579c31114a1115f0ff8dadcde7ca3a
|