Повертаємось до задачі про дієту
Ви переглядаєте фінансові показники фермера, який попросив вас знову оцінити дієту його свиней і, за можливості, зменшити витрати. Поточна дієта з мінімізацією вартості базується на рекомендаціях ветеринара: щонайменше 17% білка, 2% жиру, 7 lb корму згідно зі специфікаціями
| Корм | Вартість ($/lb) | Білок (%) | Жир (%) |
|---|---|---|---|
| кукурудза | 0.11 | 10 | 2.5 |
| соєвий шрот | 0.28 | 40 | 1 |
Вам відомо, що 7 lb — округлене значення, і його можна зменшити до 6.6 lb. Вас просять перевірити, як зміна обмеження на вагу або жир по одному впливає на мінімальну вартість. Ви розв'яжете початкову задачу як є та проаналізуєте запас (slack) і тіньову ціну.
pulp уже імпортовано, а model визначено, так само як змінні C і S для кукурудзи та соєвого шроту.
Ця вправа є частиною курсу
Вступ до оптимізації в Python
Інструкції до вправи
- Виведіть запас (slack) для обмеження Weight.
- Перевірте, чи тіньова ціна (shadow price) обмеження Weight більша за 0.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
model.constraints['Weight'] = C + S >= 7
model.solve()
print(f"Status: {LpStatus[model.status]}\n")
# Print the slack of the weight constraint
print("The slack of the Weight constraint is {}",
____.constraints['Weight'].____)
# Check if the shadow price is greater than 0
if ____.constraints['Weight'].____ > 0:
print('Tightening the constraint will increase minimum cost')