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

Logická omezení – cvičení 2

Pracuješ v distribučním centru pro kamionovou dopravu a rozhoduješ se, které ze 6 zákaznických lokací pošleš kamion. Tvým cílem je minimalizovat ujetou vzdálenost.

Lokace Vzdálenost
A 86
B 95
C 205
D 229
E 101
F 209

Byl pro tebe připraven slovník dist a seznam cust obsahující vzdálenost a název každé zákaznické lokace. Tyto vstupy jsou vypsány v konzoli.

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

Supply Chain Analytics v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Uprav omezení tak, aby model vybral alespoň jednu lokaci.
  • Přidej omezení: pokud je vybrána lokace A, musí být vybrána také lokace D.
  • Přidej omezení: pokud je vybrána lokace B, musí být vybrána také lokace E.

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

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

model = LpProblem("Loading Truck Problem", LpMinimize)
x = LpVariable.dicts('ship_', cust, cat='Binary')
model += lpSum([dist[i]*x[i] for i in cust])

# Define Constraint
model += ____ + ____ + ____ + ____ + ____ + ____ >= ____
model += ____ - ____ <= ___
model += ____ - ____ <= 0

model.solve()
for i in cust:
    print("{} status {}".format(i, x[i].varValue))
Upravit a spustit kód