Inizia subitoInizia gratis

Aggiungere un vincolo logico nell'esercizio del caso di studio

Prosegui con il caso di studio del modello di Localizzazione di Impianti con capacità per un produttore di auto. Ti vengono forniti quattro DataFrame di Pandas demand, var_cost, fix_cost e cap che contengono la domanda per regione (migliaia di auto), i costi di produzione variabili (migliaia di $US), i costi di produzione fissi (migliaia di $US) e la capacità produttiva (migliaia di auto). Sono state create anche due liste Python, loc e size, che contengono le diverse località e i due tipi di capacità degli impianti. Tutte queste variabili sono state stampate in console per tua consultazione. Il codice per inizializzare, definire le variabili decisionali, creare la funzione obiettivo e i vincoli è già stato completato per te.

Questo esercizio fa parte del corso

Analytics per la supply chain con Python

Visualizza corso

Istruzioni dell'esercizio

  • Aggiungi un vincolo logico in modo che, se l'impianto ad alta capacità negli USA è aperto, allora sia aperto anche un impianto a bassa capacità in Germania.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Initialize, Define Decision Vars., Object. Fun., and Constraints
model = LpProblem("Capacitated Plant Location Model", LpMinimize)
loc = ['USA', 'Germany', 'Japan', 'Brazil', 'India']
size = ['Low_Cap','High_Cap']
x = LpVariable.dicts("production_", [(i,j) for i in loc for j in loc],
                     lowBound=0, upBound=None, cat='Integer')
y = LpVariable.dicts("plant_", 
                     [(i,s) for s in size for i in loc], cat='Binary')
model += (lpSum([fix_cost.loc[i,s] * y[(i,s)] for s in size for i in loc])
          + lpSum([var_cost.loc[i,j] * x[(i,j)] for i in loc for j in loc]))
for j in loc:
    model += lpSum([x[(i, j)] for i in loc]) == demand.loc[j,'Dmd']
for i in loc:
    model += lpSum([x[(i, j)] for j in loc]) <= lpSum([cap.loc[i,s]*y[(i,s)] 
                                                       for s in size])

# Define logical constraint
model += ____ - ____ <= ____
Modifica ed esegui il codice