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
Övningsinstruktioner
- Definiera beslutsvariablerna i modellen genom att först använda listomfattning för att iterera över listorna
months,warehouseochcustomersoch skapa en lista med nycklar. Använd sedan den nyckellistan tillsammans medLpVariable.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])