Kom igångKom igång gratis

Logistikplaneringsuppgift 2

Du konsulterar återigen åt en tillverkare av köksugnsutrustning för att planera deras logistik. Den här gången ska du sätta ihop en plan för de kommande sex månaderna (jan.–jun.). Det finns fortfarande två lagerplatser (New York och Atlanta) samt fyra regionala kundplatser (Öst, Syd, Mellanvästern, Väst). Fraktkostnaderna från varje lagerplats till de regionala kunderna visas i tabellen nedan. Målet är att bestämma antalet leveranser från varje lager till kunderna så att kostnaderna minimeras.

Kund New York Atlanta
Öst $211 $232
Syd $232 $212
Mellanvästern $240 $230
Väst $300 $280

En Python-ordbok med namnet costs, som innehåller modellens kostnader, och tre listor – months, warehouse och customers – har redan skapats åt dig. costs har skrivits ut åt dig, och du kan även utforska listorna i konsolen. Modellen har också initierats åt dig.

Den här övningen är en del av kursen

Supply Chain Analytics i Python

Visa kurs

Övningsinstruktioner

  • Definiera beslutsvariablerna i modellen genom att först använda listomfattning för att iterera över listorna months, warehouse och customers och skapa en lista med nycklar. Använd sedan den nyckellistan tillsammans med LpVariable.dicts() för att definiera de variabler som behövs.
  • Definiera målfunktionen genom att summera alla fraktkostnader från ett visst lager till en viss kund över de sex månaderna.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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])
Redigera och kör kod