LoslegenKostenlos starten

Logistikplanungsproblem 2

du berätst wieder einen Hersteller von Küchenöfen bei der Logistikplanung. Dieses Mal sollst du einen Plan für die nächsten sechs Monate (Jan.–Jun.) erstellen. Es gibt weiterhin zwei Lagerstandorte (New York und Atlanta) und vier regionale Kundenstandorte (East, South, Midwest, West). Die Versandkosten von jedem Lager zu den regionalen Kunden sind in der Tabelle unten aufgeführt. dein Ziel ist es, die Anzahl der Sendungen von jedem Lager zu den Kunden so festzulegen, dass die Kosten minimal sind.

Customer New York Atlanta
East $211 $232
South $232 $212
Midwest $240 $230
West $300 $280

Ein Python-Dictionary namens costs mit den Kosten des Modells sowie drei Listen months, warehouse und customers wurden für dich erstellt. costs wurde bereits ausgegeben; du kannst die Listen auch in der Konsole erkunden. Außerdem wurde das Modell für dich initialisiert.

Diese Übung ist Teil des Kurses

<Kurs>Supply Chain Analytics mit Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Definiere die Entscheidungsvariablen im Modell, indem du zunächst mit List Comprehension über die Listen months, warehouse und customers iterierst, um eine Liste von Schlüsseln zu erzeugen. Verwende diese Schlüsselliste mit LpVariable.dicts(), um die benötigten Variablen zu definieren.
  • Definiere die Zielfunktion, indem du über die sechs Monate alle Versandkosten für eine gegebene Kombination aus Lager und Kunde addierst.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Define decision variables
key = [(m, w, ____) for m in months for w in warehouse for c in customers]
var_dict = LpVariable.dicts('num_of_shipments', 
                            key, 
                            lowBound=____, cat=____)

# Use the LpVariable dictionary variable to define objective
model += lpSum([costs[(w, c)] * ____[(____, ____, ____)] 
                for m in months for w in warehouse for c in customers])
Code bearbeiten und ausführen