An open API service indexing awesome lists of open source software.

https://github.com/snedashkovsky/cashier_scheduler

Scheduler for cashiers or other permutable workers, it is based on solving the problem of linear programming.
https://github.com/snedashkovsky/cashier_scheduler

cashier linear-programming scheduler scheduling-algorithms

Last synced: about 1 year ago
JSON representation

Scheduler for cashiers or other permutable workers, it is based on solving the problem of linear programming.

Awesome Lists containing this project

README

          

# Сashier Scheduler
Scheduler for cashiers or other permutable workers, it is based on solving the problem of linear programming.
### Example 1. Cost minimization with strong staffing requirements
Strong conditions: manpower needs must be fully met.
##### [Jupyter notebook](/Scheduler.ipynb)
![Demand for Labor and Optimal Shift Schedule plot](/img/demand_for_labor_and_optimal_shift_schedule_plot.png)
![Optimal Shift Schedule plot](/img/optimal_shift_schedule_plot.png)
### Example 2. Cost minimization with strong staffing requirements and lunch breaks
Strong conditions: manpower needs must be fully met, employees do not work during the lunch break.
##### [Jupyter notebook](/Scheduler_with_lunch_break.ipynb)
![Demand for Labor and Optimal Shift Schedule plot](/img/demand_for_labor_and_optimal_shift_schedule_plot_with_lunch_breaks.png)
![Optimal Shift Schedule plot](/img/optimal_shift_schedule_plot_with_lunch_breaks.png)
### Example 3. Cost minimization with soft staffing requirements
Soft conditions: manpower needs must be fully met.
Introduced penalties for not filling the need for labor.
#### Coming soon
### Instruments
I use [PuLP library](https://pythonhosted.org/PuLP/).
You can also use [CPLEX](https://www.ibm.com/analytics/cplex-optimizer) from IBM and [Z3](https://rise4fun.com/Z3/tutorial/guide) from Microsoft.