This project integrates machine learning and mathematical optimization to support decision-making in supply chain systems.
A demand forecasting model is developed using historical retail demand data. The predicted demand is then used as input for an inventory optimization model that determines optimal order quantities while minimizing total operational costs.
The project combines predictive analytics and prescriptive optimization, reflecting a practical workflow used in supply chain planning, inventory management, and manufacturing operations.
- Forecast future product demand using machine learning.
- Use predicted demand as input for an inventory optimization model.
- Minimize total operational costs, including ordering, inventory holding, and shortage costs.
- Compare optimized inventory decisions against a baseline strategy.
A Random Forest regression model was trained using engineered time-series features, including:
- Day of week
- Month
- Day of year
- Weekend indicator
- Lagged demand
- Rolling average demand
An optimization model was implemented using Google OR-Tools.
The model determines the optimal order quantity for each time period while minimizing:
- Ordering cost
- Inventory holding cost
- Shortage cost
The optimized strategy was compared against a simple baseline strategy using a fixed average order quantity.
supply-chain-ml-optimization/
│
├── README.md
├── requirements.txt
├── .gitignore
│
├── data/
│ ├── raw/
│ │ └── sales_data.csv
│ └── processed/
│
├── outputs/
│ ├── figures/
│ └── tables/
│
├── src/
│ ├── 01_generate_sample_data.py
│ ├── 02_train_forecasting_model.py
│ ├── 03_inventory_optimization.py
│ ├── 04_generate_figures.py
│ └── 05_run_pipeline.py