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
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))