Oefening schaduwprijs en slack, deel 2
In deze oefening werk je aan het productieplan van een bedrijf voor de komende 4 maanden. Je doel is te bepalen hoeveel er geproduceerd moet worden om de productie- (vast + variabel) en opslagkosten te minimaliseren en tegelijk aan de klantvraag te voldoen. Er zijn beperkingen op de productiecapaciteit en de vraag per maand.
Deze oefening maakt deel uit van de cursus
Supply Chain Analytics in Python
Oefeninstructies
Maak de code af, onderaan de voorbeeldcode, om een Pandas DataFrame te maken dat de slack van de beperkingen laat zien.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
model = LpProblem("Production Planning", LpMinimize)
time = [1, 2, 3, 4]
s = LpVariable.dicts("stock_in", [0, 1, 2, 3, 4], lowBound=0, cat="Integer")
x = LpVariable.dicts("prod_in", time, lowBound=0, cat="Integer")
y = LpVariable.dicts("plant_on_", time, lowBound=0, cat="Binary")
model += lpSum([d.loc[t,"unit_prod"]*x[t] + d.loc[t,"unit_inv"]*s[t]
+ d.loc[t,"fixed_setup"]*y[t] for t in time])
s[0] = 100
for t in time:
model += s[t-1] + x[t] == d.loc[t,"demand"] + s[t]
model += x[t] <= d.loc[t,"prod_cap"]*y[t]
model.solve()
# Print the Constraint Slack
o = [{'name':name, 'slack':____}
for ____, c in ____]
print(____)