ПочатиПочніть безкоштовно

Вправа на обмеження із залежним попитом

Ви розробляєте виробничий план для 5 продуктів (від A до E). Одна одиниця продукту E складається з 2 одиниць A та 1 одиниці C. Продукт C також продається безпосередньо клієнтам. Плановий горизонт — 3 місяці. Ви хочете визначити, скільки кожного продукту виробляти щомісяця, щоб задовольнити попит клієнтів і мінімізувати загальні витрати.

У консолі надруковано датафрейм Pandas під назвою demand, який містить місячний попит клієнтів на кожен продукт. Крім того, вам надано код моделі PuLP для ініціалізації, визначення змінних рішення, цільової функції та обмеження, щоб виробництво було не меншим за попит.

Ця вправа є частиною курсу

Аналітика ланцюга постачань у Python

Переглянути курс

Інструкції до вправи

  • Доповніть код для обмежень, що враховують залежний попит для продуктів A і C.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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, ____)]
Редагувати та запускати код