Spaces:
Sleeping
Sleeping
| title: OperationsResearch | |
| emoji: π₯ | |
| colorFrom: gray | |
| colorTo: yellow | |
| sdk: gradio | |
| sdk_version: 5.29.0 | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| short_description: This project demonstrates the use of Linear Programming (PL) | |
| <h1 align="center">Operations Research Web Application</h1> | |
| <p align="center"> | |
| <img src="https://insat.rnu.tn/assets/images/logo_c.png" width="100" alt="INSAT Logo"><br><br> | |
| <a href="https://kacemath-operations-research.hf.space/" target="_blank"> | |
| <img src="https://img.shields.io/badge/HuggingFace-Space-blue?logo=huggingface" alt="Try it on Hugging Face Spaces" /> | |
| </a> | |
| </p> | |
| This project demonstrates the use of **Linear Programming (PL)** and **Mixed-Integer Linear Programming (PLNE)** for solving real-world optimisation problems using **Gurobi**. It uses **Gradio** to provide an interactive web interface. | |
| ## Features | |
| - **Production Planning (PL):** Optimises the number of products to manufacture for maximum profit under resource constraints. | |
| - **Staff Scheduling (PLNE):** Mock assignment of employees to shifts based on availability. | |
| ## Project Structure | |
| ``` | |
| . | |
| βββ app.py # Main entry point of the Gradio application | |
| βββ assets/ | |
| β βββ compte_rendu.pdf # Project report | |
| βββ models/ | |
| β βββ gurobi_models.py # Gurobi-based solvers for PL and PLNE | |
| βββ ui/ | |
| β βββ gradio_sections.py # UI layout and Gradio component logic | |
| βββ requirements.txt # Python dependencies | |
| βββ README.md # Project documentation | |
| ```` | |
| ## Prerequisites | |
| - Python 3.9 or higher | |
| ## Environment Setup | |
| ### 1. Clone the repository | |
| ```bash | |
| git clone https://github.com/KacemMathlouthi/OperationsResearch.git | |
| cd OperationsResearch | |
| ```` | |
| ### 2. Create and activate a virtual environment | |
| #### Linux/macOS | |
| ```bash | |
| python3 -m venv venv | |
| source venv/bin/activate | |
| ``` | |
| #### Windows | |
| ```cmd | |
| python -m venv venv | |
| venv\Scripts\activate | |
| ``` | |
| ### 3. Install dependencies | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| ## Running the Application | |
| Ensure you are in the project root directory and your virtual environment is activated: | |
| ```bash | |
| python app.py | |
| ``` | |
| The application will launch locally at `http://127.0.0.1:7860/`. | |
| ## Usage | |
| ### Tabs Available: | |
| * **Project Info:** Displays team information and a PDF report. | |
| * **Production Planning (PL):** Solve and visualise a linear programming problem using product and resource data. | |
| * **Staff Scheduling (PLNE):** Simulated assignment of employees to shifts based on availability. | |
| ## Notes | |
| * Visualisations are generated with `matplotlib`. | |
| * UI built with `Gradio Blocks` using tabbed layout. | |
| * PDF report embedded with base64 encoding. | |