Začněte nyníZačněte zdarma

Cvičení s logickým omezením

Tvůj zákazník objednal šest produktů, které je potřeba dodat v průběhu příštího měsíce. K jejich převozu bude nutné vykonat několik jízd nákladním autem. Nosnost vozidla je 25 000 liber. Z důvodu cash flow chceš naložit co nejziskovější kombinaci produktů, která se na auto vejde.

Produkt Hmotnost (lbs) Ziskovost ($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

Byla pro tebe připravena dvě Pythonová slovníky weight a prof a seznam prod, které obsahují hmotnost, ziskovost a název každého produktu. Můžeš si je prozkoumat v konzoli.

Toto cvičení je součástí kurzu

Supply Chain Analytics v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Přidej omezení, které zajistí, že celková hmotnost nákladu na autě bude menší nebo rovna 25 000 librám.
  • Přidej omezení, díky kterému model vybere nejvýše jeden z produktů D, E a F.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód