Упражнение на ограничения зависимого спроса
Вы разрабатываете производственный план для 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, ____)]