CommencerCommencez gratuitement

Exercice sur la contrainte de demande dépendante

Vous élaborez un plan de production pour 5 produits (A à E). Une unité du produit E comprend 2 unités de A et 1 unité de C. Le produit C est également vendu directement aux clients. Votre horizon de planification est de 3 mois. Vous cherchez à déterminer combien produire de chaque produit par mois afin de satisfaire la demande client tout en minimisant le coût total.

Un DataFrame Pandas nommé demand est affiché dans la console et contient la demande mensuelle de chaque produit. De plus, le code du modèle PuLP pour initialiser le modèle, définir les 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.

Cet exercice fait partie du cours

<cours>Analyse de la chaîne d’approvisionnement en Python</cours>
Voir le cours

Instructions de l’exercice

  • Complétez le code des contraintes en 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