ComenzarEmpieza gratis

Ejercicio de restricción lógica

Tu cliente ha pedido seis productos para entregar durante el próximo mes. Necesitarás enviar varios camiones para entregar todos los productos. Tus camiones tienen un límite de peso de 25.000 lb. Por razones de flujo de caja, quieres embarcar la combinación de productos más rentable que quepa en tu camión.

Product Weight (lbs) Profitability ($US)
A 12,583 102,564
B 9,204 130,043
C 12,611 127,648
D 12,131 155,058
E 12,889 238,846
F 11,529 197,030

Se han creado para ti dos diccionarios de Python, weight y prof, y una lista prod con el peso, la rentabilidad y el nombre de cada producto. Puedes explorarlos en la consola.

Este ejercicio forma parte del curso

Analítica de la cadena de suministro en Python

Ver curso

Instrucciones del ejercicio

  • Añade una restricción para asegurar que el peso total del camión sea menor o igual a 25.000 lb.
  • Añade una restricción para que el modelo seleccione, como máximo, solo uno de los productos entre D, E y F.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Initialized model, defined decision variables and objective
model = LpProblem("Loading Truck Problem", LpMaximize)
x = LpVariable.dicts('ship_', prod, cat='Binary')
model += lpSum([prof[i] * x[i] for i in prod])

# Define Constraint
model += lpSum([weight[i] * x[i] for i in prod]) ____ ____
model += ____

model.solve()
for i in prod:
    print("{} status {}".format(i, x[i].varValue))
Editar y ejecutar código