Exercice sur la contrainte de demande dépendante
Vous élaborez un plan de production pour 5 produits (de A à E). Une unité du produit E comprend 2 unités de A et 1 unité de C. Le produit C est aussi vendu directement aux clients. Votre horizon de planification est de 3 mois. Vous cherchez à déterminer, pour chaque mois, la quantité à produire de chaque produit afin de répondre à la demande des clients tout en minimisant les coûts totaux.
Un DataFrame Pandas nommé demand est affiché dans la console et contient la demande mensuelle des clients pour chaque produit. De plus, le code du modèle PuLP pour l'initialisation, la définition des variables de décision, la fonction objectif et la contrainte imposant que la production soit supérieure ou égale à la demande vous a été fourni.
Cette activité fait partie du cours
Analytique de la chaîne d'approvisionnement avec Python
Instructions de l’exercice
- Complétez le code des contraintes en y intégrant la demande dépendante pour les produits A et C.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Initialize, Define Decision Vars., Objective Function, and Constraints
model = LpProblem("Aggregate Production Planning", LpMinimize)
time = [0, 1, 2]
prod = ['A', 'B', 'C', 'D', 'E']
X = LpVariable.dicts("prod", [(t, p) for p in prod for t in time],
lowBound=0, cat="Integer")
model += lpSum([costs.loc[t, p]*X[(t, p)] for p in prod for t in time])
for p in prod:
for t in time:
model += X[(t, p)] >= demand.loc[t, p]
# Define Dependent Demand Constraints
for t in time:
model += ____ * X[(t, 'E')] <= X[(t, 'A')]
model += ____ * X[(t, ____)] + demand.loc[t, ____] <= X[(t, ____)]