Ejercicio de restricciones lógicas 2
Trabajas en un centro de distribución de camiones y debes decidir a cuáles de 6 ubicaciones de clientes enviarás un camión. Tu objetivo es minimizar la distancia que recorre el camión.
| Location | Distance |
|---|---|
| A | 86 |
| B | 95 |
| C | 205 |
| D | 229 |
| E | 101 |
| F | 209 |
Se han creado para ti un diccionario dist y una lista cust que contienen la distancia y el nombre de cada ubicación de cliente. Estas entradas se han impreso en la consola para ti.
Este ejercicio forma parte del curso
Analítica de la cadena de suministro en Python
Instrucciones del ejercicio
- Actualiza las restricciones para que el modelo seleccione al menos una ubicación.
- Añade la restricción para que, si se selecciona la ubicación A, también se seleccione la ubicación D.
- Añade la restricción para que, si se selecciona la ubicación B, también se seleccione la ubicación E.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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))