Supply Chain Analytics in Python
Aaren Stubberfield
Supply Chain Analytics Mgr.
Multiple options to meet regional product demand
Option | Pro | Con |
---|---|---|
Small manufacturing facilities within region | Low transportation costs, few to no tariffs or duties | Overall network may have excess capacity, cannot take advantage economies of scale |
A few large manufacturing plants and ship product to region | Economies of scale | Higher transportation, higher tariffs and duties |
Modeling
What we can control:
Minimize $z = \sum_{i=1}^{n}(f_{is} y_{is}) + \sum_{i=1}^{n} \sum_{i=1}^{m} (c_{ij} x_{ij})$
from pulp import * # Initialize Class model = LpProblem("Capacitated Plant Location Model", LpMinimize) # Define Decision Variables loc = ['A', 'B', 'C', 'D', 'E'] size = ['Low_Cap','High_Cap'] x = LpVariable.dicts("production",[(i,j) for i in loc for j in loc], lowBound=0, upBound=None, cat='Continous') y = LpVariable.dicts("plant",[(i,s) for s in size for i in loc], cat='Binary')
# Define objective function model += (lpSum([fix_cost.loc[i,s]*y[(i,s)] for s in size for i in loc]) + lpSum([var_cost.loc[i,j]*x[(i,j)] for i in loc for j in loc]))
Capacitated Plant Location Model:
Supply Chain Analytics in Python