Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Maak de code af voor de beperkingen die de afhankelijke vraag voor producten A en C meenemen.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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, ____)]
Code bewerken en uitvoeren