НачатьНачать бесплатно

Упражнение на ограничения зависимого спроса

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

В консоли выведен DataFrame библиотеки 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, ____)]
Редактировать и запускать код