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

Теневые цены и slack: упражнение, часть 2

В этом упражнении вы работаете над планом производства компании на следующие 4 месяца. Ваша цель — определить оптимальный объём производства, чтобы минимизировать затраты на производство (постоянные и переменные) и хранение, удовлетворяя при этом спрос клиентов. На производственные мощности и спрос каждого месяца наложены ограничения.

Это упражнение является частью курса

Аналитика цепочек поставок на Python

Посмотреть курс

Инструкции к упражнению

Дополните код в нижней части примера, чтобы создать DataFrame в Pandas, отображающий значения slack для ограничений модели.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

model = LpProblem("Production Planning", LpMinimize)
time = [1, 2, 3, 4]
s = LpVariable.dicts("stock_in", [0, 1, 2, 3, 4], lowBound=0, cat="Integer")
x = LpVariable.dicts("prod_in", time, lowBound=0, cat="Integer")
y = LpVariable.dicts("plant_on_", time, lowBound=0, cat="Binary")
model += lpSum([d.loc[t,"unit_prod"]*x[t] + d.loc[t,"unit_inv"]*s[t] 
                + d.loc[t,"fixed_setup"]*y[t] for t in time])
s[0] = 100
for t in time:
    model += s[t-1] + x[t] == d.loc[t,"demand"] + s[t]
    model += x[t] <= d.loc[t,"prod_cap"]*y[t]
model.solve()

# Print the Constraint Slack
o = [{'name':name, 'slack':____} 
     for ____, c in ____]
print(____)
Редактировать и запускать код