Inizia subitoInizia gratis

Esercizio sui vincoli logici 2

Lavori in un centro di distribuzione per autotrasporti e devi decidere a quali di 6 località di clienti inviare un camion. Il tuo obiettivo è minimizzare la distanza percorsa dal camion.

Location Distance
A 86
B 95
C 205
D 229
E 101
F 209

Sono stati creati per te un dizionario dist e una lista cust che contengono rispettivamente la distanza e il nome di ogni località cliente. Questi input sono stati stampati in console per te.

Questo esercizio fa parte del corso

Analytics per la supply chain con Python

Visualizza corso

Istruzioni dell'esercizio

  • Aggiorna i vincoli in modo che il modello selezioni almeno una località
  • Aggiungi il vincolo per cui se la località A è selezionata allora lo è anche la località D.
  • Aggiungi il vincolo per cui se la località B è selezionata allora lo è anche la località E.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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