Latihan shadow price dan slack pt1
Anda sedang merencanakan jenis cupcake yang harus dibuat oleh sebuah bakery. Bakery dapat membuat:
- cupcake ukuran reguler: keuntungan = $5
- cupcake jumbo dua kali ukuran reguler: keuntungan = $10
Terdapat 2 kendala pada jam penggunaan oven (30) dan jam kerja pekerja (65). Skenario ini telah dimodelkan di PuLP untuk Anda dan solusinya sudah ditemukan. Status model, nilai variabel keputusan, nilai objektif (yaitu keuntungan), shadow price, dan slack dari kendala telah dicetak di shell.
Skrip contoh adalah salinan kode tersebut. Anda akan menyesuaikan kendala untuk melihat bagaimana solusi optimal berubah.
Latihan ini merupakan bagian dari kursus
Analitik Rantai Pasok dengan Python
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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))