Supply Chain Cost Minimization Model

A mathematical optimization project using Linear Programming (PuLP & SciPy) to minimize transportation costs across 19 plants while satisfying demand constraints.

Python
Matplotlib
Operations Research (OR)
SciPy
Linear Programming (LP)
PuLP
Supply Chain Management (SCM)

Overview

This project addresses a classic Industrial Engineering problem: optimizing a supply chain network to minimize total transportation costs while meeting strict demand and capacity constraints. The model analyzes a network of 19 manufacturing plants supplying a single destination port, aiming to determine the optimal shipment quantities for each route.

Mathematical Modeling

The problem is formulated as a Linear Programming (LP) model:

  • Objective Function: Minimize total transportation costs ($\sum Cost \times Shipment$).
  • Constraints:
    • Demand: Total shipments must equal the port's demand (5,791 units).
    • Capacity: Shipments from any plant cannot exceed its maximum production capacity.
    • Non-Negativity: Shipment quantities cannot be negative.

Tech Stack & Methodology

  • Optimization Libraries: Solved using both PuLP and scipy.optimize in Python.
  • Validation: Results were cross-verified against LINGO and SymPy to ensure accuracy.
  • Analysis: Conducted sensitivity analysis to determine how variations in fuel costs and plant capacities impact the optimal solution.
  • Visualization: Used Matplotlib to visualize the sensitivity analysis results.

Key Results

The model successfully identified an optimal allocation plan yielding a minimized total cost of 23,146.71. The sensitivity analysis revealed that the solution is highly sensitive to transportation cost fluctuations but robust against minor demand variations.