Kapazitätsgebundene Standortwahl – Fallstudie P1

Supply Chain Analytics mit Python

Aaren Stubberfield

Supply Chain Analytics Mgr.

Kontext

Mehrere Optionen, um regionale Nachfrage zu decken

Option Pro Kontra
Kleine Fertigungen in der Region Niedrige Transportkosten, wenige bis keine Zölle/Abgaben Gesamtnetz kann Überkapazität haben, keine Skaleneffekte
Wenige große Werke und Versand in die Region Skaleneffekte Höhere Transportkosten, höhere Zölle/Abgaben

Supply Chain Analytics mit Python

Kapazitätsgebundenes Standortwahlmodell

  • Kapazitätsgebundenes Standortwahlmodell$^{1}$
  • Ziel: globales Supply-Chain-Netz optimieren
    • Regionale Nachfrage zu minimalen Kosten decken
    • Regionale Produktionsmengen eines Produkts festlegen
1 Chopra, Sunil, und Peter Meindl. _Supply Chain Management: Strategie, Planung und Durchführung._ Pearson Prentice Hall, 2007.
Supply Chain Analytics mit Python

Kapazitätsgebundenes Standortwahlmodell

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_{ij}$ = Menge, die an Standort _i_ produziert und nach _j_ versandt wird
  • $y_{is}$ = 1, wenn Werk an Standort _i_ mit Kapazität _s_ offen ist, 0 wenn geschlossen
    • $s$ = low- oder high-Kapazität
Supply Chain Analytics mit Python

Zielfunktion

Minimiere $z = \sum_{i=1}^{n}(f_{is} y_{is}) + \sum_{i=1}^{n} \sum_{i=1}^{m} (c_{ij} x_{ij})$

  • $c_{ij}$ = Kosten für Produktion und Versand vom Werk _i_ in die Region _j_
  • $f_{is}$ = Fixkosten, um Werk _i_ mit Kapazität _s_ offen zu halten
  • $n$ = Anzahl der Produktionsstandorte
  • $m$ = Anzahl der Märkte bzw. Nachfragepunkte
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='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]))
Supply Chain Analytics mit Python

Zusammenfassung

Kapazitätsgebundenes Standortwahlmodell:

  • Findet ein Gleichgewicht bei der Anzahl an Produktionsstandorten
  • Entscheidungsvariablen im Modell:
    • Produktionsmenge in einer Region und exportiert
    • Werke mit hoher/niedriger Kapazität offen oder geschlossen
  • Zielfunktion besprochen
    • Summiert variable und fixe Produktionskosten
  • Codebeispiel besprochen
Supply Chain Analytics mit Python

Zeit für den Check

Supply Chain Analytics mit Python

Preparing Video For Download...