Kapazitiertes Standortmodell – Fallstudie P2

Supply Chain Analytics mit Python

Aaren Stubberfield

SuSupply Chain Analytics Mgr.

Kapazitiertes Standortmodell

Modellierung

  • Produktion in regionalen Werken
    • Zwei Werksgrößen (niedrig / hoch)
  • Export der Produktion in andere Regionen
  • Werke öffnen / schließen

Bild eines Globus mit regionaler Produktion

Supply Chain Analytics mit Python

Entscheidungsvariablen

Was wir steuern können:

  • x$_{\text{ij}}$ = Menge, die an Standort _i_ produziert und zu _j_ geliefert wird
  • y$_{\text{is}}$ = 1, wenn das Werk an Standort _i_ mit Kapazität _s_ geöffnet ist, 0 wenn geschlossen
    • s = Werk mit niedriger oder hoher Kapazität
Supply Chain Analytics mit Python

Nebenbedingungen

  • Gesamtproduktion = Gesamtnachfrage
    • $\sum_{i=1}^{n}$ x$_{ij}$ = D$_{\text{j}}$ für $j = 1, ..., m$
    • $n$ = Anzahl der Werke
    • $m$ = Anzahl der Märkte bzw. Nachfragepunkte
Supply Chain Analytics mit Python

Nebenbedingungen

  • Gesamtproduktion ≤ Gesamtkapazität
    • $\sum_{j=1}^{m}$ x$_{ij}$ ≤ $\sum_{s=1}$ K$_{is}$y$_{is}$
    • K$_{is}$ = mögliche Produktionskapazität von Werk _i_ der Größe _s_
Supply Chain Analytics mit Python
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='Continuous')
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]))
Supply Chain Analytics mit Python

Codebeispiel (fortgesetzt)

# Define the Constraints
for j in loc:
   model += lpSum([x[(i, j)] for i in loc]) == demand.loc[j,'Dmd']

for i in loc: model += lpSum([x[(i, j)] for j in loc]) <= lpSum([cap.loc[i,s]*y[(i,s)] for s in size])
Supply Chain Analytics mit Python

Zusammenfassung

Kapazitiertes Standortmodell:

  • Nebenbedingungen
    • Gesamtproduktion = Gesamtnachfrage
    • Gesamtproduktion ≤ Gesamtkapazität
Supply Chain Analytics mit Python

Zeit für den Rückblick

Supply Chain Analytics mit Python

Preparing Video For Download...