Aan de slagBegin gratis

Oefening met logische restrictie

Je klant heeft zes producten besteld die de komende maand geleverd moeten worden. Je zult meerdere vrachtwagenladingen moeten verzenden om alle producten te leveren. Er is een gewichtslimiet van 25.000 lbs per vrachtwagen. Om kasstromen te optimaliseren wil je de meest winstgevende combinatie van producten verzenden die op je vrachtwagen past.

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

Twee Python-dictionaries weight en prof, en een lijst prod zijn voor je aangemaakt met daarin het gewicht, de winstgevendheid en de naam van elk product. Je kunt ze verkennen in de console.

Deze oefening maakt deel uit van de cursus

Supply Chain Analytics in Python

Bekijk cursus

Oefeninstructies

  • Voeg een restrictie toe zodat het totaalgewicht van de vrachtwagen kleiner dan of gelijk aan 25.000 lbs is.
  • Voeg een restrictie toe zodat het model maximaal slechts één van de producten D, E en F selecteert.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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 bewerken en uitvoeren