CommencezCommencez gratuitement

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

Voir le cours

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, ____)]
Modifier et exécuter le code