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
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, ____)]