Logische constraints oefening 2
Je werkt bij een distributiecentrum voor vrachtwagens en je moet beslissen naar welke van de 6 klantlocaties je een vrachtwagen stuurt. Je doel is om de afstand die een vrachtwagen aflegt te minimaliseren.
| Location | Distance |
|---|---|
| A | 86 |
| B | 95 |
| C | 205 |
| D | 229 |
| E | 101 |
| F | 209 |
Een dictionary dist en een lijst cust zijn voor je aangemaakt met de afstand en de naam van elke klantlocatie. Deze inputs zijn voor je in de console afgedrukt.
Deze oefening maakt deel uit van de cursus
Supply Chain Analytics in Python
Oefeninstructies
- Werk de constraints bij zodat het model minstens één locatie selecteert
- Voeg de constraint toe dat als locatie A wordt geselecteerd, locatie D ook wordt geselecteerd.
- Voeg de constraint toe dat als locatie B wordt geselecteerd, locatie E ook wordt geselecteerd.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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))