Prix d’ombre et marge d’écart : exercice, partie 2
Dans cet exercice, vous travaillez sur le plan de production d’une entreprise pour les 4 prochains mois. Votre objectif est de déterminer combien produire pour minimiser les coûts de production (fixes + variables) et de stockage tout en satisfaisant la demande des clients. Il existe des contraintes sur la capacité de production et la demande chaque mois.
Cet exercice fait partie du cours
<cours>Analyse de la chaîne d’approvisionnement en Python</cours>Instructions de l’exercice
Complétez le code, vers la fin de l’exemple de code, pour créer un DataFrame Pandas qui affiche la marge (slack) des contraintes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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(____)