Začněte nyníZačněte zdarma

Stínová cena a slack – cvičení, část 1

Plánuješ, jaké košíčky by měla pekárna vyrábět. Pekárna může vyrábět:

  • košíček standardní velikosti: zisk = 5 $
  • jumbo košíček dvojnásobné velikosti: zisk = 10 $

Model má 2 omezení – hodiny využití trouby (30) a hodiny práce zaměstnanců (65). Tento scénář byl za tebe namodelován v PuLP a bylo nalezeno řešení. Ve shellu jsou zobrazeny: stav modelu, hodnoty rozhodovacích proměnných, hodnota účelové funkce (tj. zisk), stínové ceny a slack jednotlivých omezení.

Ukázkový skript je kopií tohoto kódu. Upravíš omezení a sleduj, jak se mění optimální řešení.

Toto cvičení je součástí kurzu

Supply Chain Analytics v Pythonu

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód