Oefening: afhankelijkheidsbeperking voor vraag
Je ontwikkelt een productieplan voor 5 producten (A tot en met E). Eén eenheid van product E bestaat uit 2 eenheden A en 1 eenheid C. Product C wordt ook rechtstreeks aan klanten verkocht. Je planningshorizon is 3 maanden. Je wilt bepalen hoeveel je per maand van elk product moet produceren om aan de klantvraag te voldoen en de totale kosten te minimaliseren.
Een Pandas DataFrame met de naam demand wordt in de console geprint en bevat de maandelijkse klantvraag per product. Daarnaast is de code van het PuLP-model om te initialiseren, de beslissingsvariabelen te definiëren, de doelfunctie te zetten en de beperking toe te voegen zodat de productie groter dan of gelijk aan de vraag is, al voor je klaargezet.
Deze oefening maakt deel uit van de cursus
Supply Chain Analytics in Python
Oefeninstructies
- Maak de code af voor de beperkingen die de afhankelijke vraag voor producten A en C meenemen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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, ____)]