Inizia subitoInizia gratis

Esercizio su shadow price e slack pt1

Stai pianificando quali cupcake dovrebbe produrre una pasticceria. La pasticceria può produrre:

  • cupcake di dimensione standard: profitto = $5
  • jumbo cupcake, il doppio della dimensione standard: profitto = $10

Ci sono 2 vincoli: ore di forno (30) e ore di lavoro (65). Questo scenario è stato modellato in PuLP per te e ne è stata trovata una soluzione. Nella shell sono stati stampati lo stato del modello, i valori delle variabili decisionali, il valore dell'obiettivo (cioè il profitto), gli shadow price e lo slack dei vincoli.

Lo script di esempio è una copia di quel codice. Modificherai i vincoli per vedere come cambia la soluzione ottimale.

Questo esercizio fa parte del corso

Analytics per la supply chain con Python

Visualizza corso

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# Define Constraints, Solve, Print Status, Variables, Objective
model = LpProblem("Maximize Bakery Profits", LpMaximize)
R = LpVariable('Regular_production', lowBound=0, cat='Continuous')
J = LpVariable('Jumbo_production', lowBound=0, cat='Continuous')
model += 5 * R + 10 * J, "Profit"

# Adjust the constraint
model += 0.5 * R + 1 * J <= ____
model += 1 * R + 2.5 * J <= 65

# Solve Model, Print Status, Variables, Objective, Shadow and Slack
model.solve()
print("Model Status: {}".format(LpStatus[model.status]))
for v in model.variables():
    print(v.name, "=", v.varValue)
print("Objective = $", value(model.objective))
o = [{'name':name, 'shadow price':c.pi, 'slack': c.slack} 
     for name, c in model.constraints.items()]
print(pd.DataFrame(o))
Modifica ed esegui il codice