# shreya374/supply-chain-optimization architecture

> Architecture diagram of the GitHub repository shreya374/supply-chain-optimization, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/shreya374/supply-chain-optimization
- Repository: https://github.com/shreya374/supply-chain-optimization

## Overview

This repository presents a supply-chain facility-location optimization: cost, capacity, and demand inputs feed a linear program that selects facilities and shipment flows, then reports the minimum-cost network. The README documents the modeling stages and visualizations, but no source excerpts are available; the notebook’s internal wiring and the spreadsheets’ precise contents cannot be verified.

Main entry points: [`Supply Chain py.ipynb`](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb) (Analysis notebook), [`Supply chain logisitcs problem.xlsx`](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20chain%20logisitcs%20problem.xlsx) (Logistics data), [`capacity.xlsx`](https://github.com/shreya374/supply-chain-optimization/blob/main/capacity.xlsx) (Capacity data), [`freight_costs.xlsx`](https://github.com/shreya374/supply-chain-optimization/blob/main/freight_costs.xlsx) (Freight costs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_inputs["Model inputs"]
  node_logistics_data["Logistics data"]
  node_capacity_data["Capacity data<br/>[capacity.xlsx]"]
  node_freight_data["Freight costs<br/>[freight_costs.xlsx]"]
  node_variable_data["Variable costs"]
  node_total_data["Total costs<br/>[total_costs.xlsx]"]
end

subgraph group_optimization["Optimization"]
  node_notebook["Analysis notebook"]
  node_decisions["Facility and flow decisions"]
  node_objective["Cost minimization"]
  node_constraints["Demand and capacity limits"]
  node_solver{{"PuLP / CBC solver"}}
end

subgraph group_results["Results and analysis"]
  node_network_results["Open sites and shipments"]
  node_scenario_analysis["Demand scenarios"]
  node_visualizations["Network visualizations"]
end

node_planner(("Supply-chain planner"))

node_planner -->|"runs analysis"| node_notebook
node_logistics_data -->|"provides inputs"| node_notebook
node_capacity_data -->|"provides capacity"| node_notebook
node_freight_data -->|"provides costs"| node_notebook
node_variable_data -->|"provides costs"| node_notebook
node_total_data -->|"provides costs"| node_notebook
node_notebook -->|"defines variables"| node_decisions
node_notebook -->|"sets objective"| node_objective
node_notebook -->|"adds constraints"| node_constraints
node_notebook -->|"solves model"| node_solver
node_solver -->|"returns solution"| node_network_results
node_notebook -->|"evaluates scenarios"| node_scenario_analysis
node_notebook -->|"visualizes results"| node_visualizations

click node_logistics_data "https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20chain%20logisitcs%20problem.xlsx"
click node_capacity_data "https://github.com/shreya374/supply-chain-optimization/blob/main/capacity.xlsx"
click node_freight_data "https://github.com/shreya374/supply-chain-optimization/blob/main/freight_costs.xlsx"
click node_variable_data "https://github.com/shreya374/supply-chain-optimization/blob/main/variable_costs.xlsx"
click node_total_data "https://github.com/shreya374/supply-chain-optimization/blob/main/total_costs.xlsx"
click node_notebook "https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb"
click node_decisions "https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb"
click node_objective "https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb"
click node_constraints "https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb"
click node_network_results "https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb"
click node_scenario_analysis "https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb"
click node_visualizations "https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_logistics_data,node_capacity_data,node_freight_data,node_variable_data,node_total_data toneBlue
class node_notebook,node_decisions,node_objective,node_constraints,node_solver toneAmber
class node_network_results,node_scenario_analysis,node_visualizations toneMint
class node_planner toneIndigo
```

## Components

### Model inputs

- [Logistics data](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20chain%20logisitcs%20problem.xlsx): `Supply chain logisitcs problem.xlsx`
- [Capacity data](https://github.com/shreya374/supply-chain-optimization/blob/main/capacity.xlsx): `capacity.xlsx`
- [Freight costs](https://github.com/shreya374/supply-chain-optimization/blob/main/freight_costs.xlsx): `freight_costs.xlsx`
- [Variable costs](https://github.com/shreya374/supply-chain-optimization/blob/main/variable_costs.xlsx): `variable_costs.xlsx`
- [Total costs](https://github.com/shreya374/supply-chain-optimization/blob/main/total_costs.xlsx): `total_costs.xlsx`

### Optimization

- [Analysis notebook](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb): `Supply Chain py.ipynb`
- [Facility and flow decisions](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb): `Supply Chain py.ipynb`
- [Cost minimization](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb): `Supply Chain py.ipynb`
- [Demand and capacity limits](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb): `Supply Chain py.ipynb`
- **PuLP / CBC solver**

### Results and analysis

- [Open sites and shipments](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb): `Supply Chain py.ipynb`
- [Demand scenarios](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb): `Supply Chain py.ipynb`
- [Network visualizations](https://github.com/shreya374/supply-chain-optimization/blob/main/Supply%20Chain%20py.ipynb): `Supply Chain py.ipynb`

### Other components

- **Supply-chain planner**

## Connections

- Supply-chain planner → Analysis notebook: runs analysis
- Logistics data → Analysis notebook: provides inputs
- Capacity data → Analysis notebook: provides capacity
- Freight costs → Analysis notebook: provides costs
- Variable costs → Analysis notebook: provides costs
- Total costs → Analysis notebook: provides costs
- Analysis notebook → Facility and flow decisions: defines variables
- Analysis notebook → Cost minimization: sets objective
- Analysis notebook → Demand and capacity limits: adds constraints
- Analysis notebook → PuLP / CBC solver: solves model
- PuLP / CBC solver → Open sites and shipments: returns solution
- Analysis notebook → Demand scenarios: evaluates scenarios
- Analysis notebook → Network visualizations: visualizes results
