Prix d'ombre et marge de manœuvre — 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 d'entreposage, tout en répondant à la demande des clients. Il existe des contraintes de capacité de production et de demande pour chaque mois.
Cette activité fait partie du cours
Analytique de la chaîne d'approvisionnement avec Python
Instructions de l’exercice
Complétez le code, vers le bas de l'exemple de code, pour créer un DataFrame Pandas qui affiche la marge de manœuvre (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(____)