LoslegenKostenlos starten

Übung zu logischen Nebenbedingungen

Dein Kunde hat sechs Produkte bestellt, die im nächsten Monat geliefert werden sollen. Du musst mehrere Lkw-Ladungen verschicken, um alle Produkte zu liefern. Es gibt eine Gewichtsgrenze von 25.000 lbs pro Lkw. Aus Cashflow-Gründen möchtest du die profitabelste Kombination an Produkten versenden, die auf deinen Lkw passt.

Product Weight (lbs) Profitability ($US)
A 12,583 102,564
B 9,204 130,043
C 12,611 127,648
D 12,131 155,058
E 12,889 238,846
F 11,529 197,030

Zwei Python-Dictionaries weight und prof sowie eine Liste prod wurden für dich erstellt. Sie enthalten das Gewicht, die Profitabilität und den Namen jedes Produkts. Du kannst sie in der Konsole erkunden.

Diese Übung ist Teil des Kurses

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

Übungsanweisungen

  • Füge eine Nebenbedingung hinzu, die sicherstellt, dass das Gesamtgewicht des Lkw kleiner oder gleich 25.000 lbs ist.
  • Füge eine Nebenbedingung hinzu, sodass das Modell höchstens nur eines der Produkte D, E und F auswählt.

Interaktive praktische Übung

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

# Initialized model, defined decision variables and objective
model = LpProblem("Loading Truck Problem", LpMaximize)
x = LpVariable.dicts('ship_', prod, cat='Binary')
model += lpSum([prof[i] * x[i] for i in prod])

# Define Constraint
model += lpSum([weight[i] * x[i] for i in prod]) ____ ____
model += ____

model.solve()
for i in prod:
    print("{} status {}".format(i, x[i].varValue))
Code bearbeiten und ausführen