Inizia subitoInizia gratis

Esercizio sui vincoli logici

Il tuo cliente ha ordinato sei prodotti da consegnare nel prossimo mese. Dovrai effettuare più viaggi con il camion per consegnarli tutti. I camion hanno un limite di peso di 25.000 libbre. Per ragioni di flusso di cassa vuoi spedire la combinazione di prodotti più redditizia che possa entrare nel camion.

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

Sono stati creati per te due dizionari Python weight e prof, e una lista prod, che contengono rispettivamente il peso, la redditività e il nome di ciascun prodotto. Puoi esplorarli nella console.

Questo esercizio fa parte del corso

Analytics per la supply chain con Python

Visualizza corso

Istruzioni dell'esercizio

  • Aggiungi un vincolo per garantire che il peso totale del camion sia minore o uguale a 25.000 libbre.
  • Aggiungi un vincolo in modo che il modello selezioni, al massimo, solo uno dei prodotti tra D, E ed F.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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))
Modifica ed esegui il codice