ComenzarEmpieza gratis

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

Ver curso

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))
Editar y ejecutar código