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
- [SPT]()
- [critical path]()
-
Meta heuristics
- [local search]()
- [hill climbing]()
- [tabu search]()
- [evolutionary algorithms]()
- [genetic algorithms]()
- [local search]()
-
Operation search
- [or-tools]()
-
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}},
}