Övning i logiska villkor
Din kund har beställt sex produkter som ska levereras under nästa månad. Du behöver skicka flera lastbilslass för att leverera alla produkter. Lastbilarna har en viktgräns på 25 000 pund. Av kassaflödeskäl vill du skicka den mest lönsamma kombinationen av produkter som får plats på lastbilen.
| Produkt | Vikt (pund) | Lönsamhet (USD) |
|---|---|---|
| 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 |
Två Python-ordlistor, weight och prof, samt en lista prod har skapats åt dig med vikten, lönsamheten och namnet för varje produkt. Du kan utforska dem i konsolen.
Den här övningen är en del av kursen
Supply Chain Analytics i Python
Övningsinstruktioner
- Lägg till ett villkor som säkerställer att lastbilens totala vikt är mindre än eller lika med 25 000 pund.
- Lägg till ett villkor så att modellen väljer högst en av produkterna D, E och F.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))