Začněte nyníZačněte zdarma

Cvičení: omezení závislé poptávky

Vytváříš výrobní plán pro 5 produktů (A až E). Jeden kus produktu E se skládá ze 2 kusů produktu A a 1 kusu produktu C. Produkt C se také prodává přímo zákazníkům. Plánovací horizont jsou 3 měsíce. Úkolem je zjistit, kolik kusů každého produktu vyrobit v jednotlivých měsících tak, aby byla splněna poptávka zákazníků a celkové náklady byly co nejnižší.

V konzoli je zobrazena datová struktura demand typu Pandas DataFrame, která obsahuje měsíční poptávku zákazníků pro každý produkt. Kód PuLP modelu pro inicializaci, definici rozhodovacích proměnných, účelové funkce a omezení zajišťujícího, že produkce je větší nebo rovna poptávce, už máš k dispozici.

Toto cvičení je součástí kurzu

Supply Chain Analytics v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Doplň kód omezení, která zahrnují závislou poptávku pro produkty A a C.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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, ____)]
Upravit a spustit kód