Supply Roster Optimization Tool
A Python-based tool for optimizing supply roster scheduling using linear programming.
Features
- Multi-day optimization with employee scheduling
- Support for multiple product types and shift patterns
- Configurable constraints for labor costs and productivity
- OR-Tools integration for optimization
- Streamlit and Gradio interfaces for visualization
Project Structure
βββ src/
β βββ config/ # Configuration files
β βββ models/ # Optimization models
β βββ utils/ # Utility functions
β βββ visualization/ # Web interfaces
βββ data/ # Data files (not tracked)
βββ results/ # Output files (not tracked)
βββ requirements.txt # Python dependencies
βββ pyproject.toml # Project configuration
βββ README.md
Setup
- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
Usage
# Run the optimization
python src/models/optimizer_real.py
# Start web interface
streamlit run src/visualization/Home.py
Dependencies
- Python >= 3.8
- OR-Tools >= 9.4.0
- Pandas >= 1.3.0
- Streamlit >= 1.18.0
- Plotly >= 5.8.0
License
MIT License