Задача о рационе питания: новый взгляд
Вы анализируете финансовые показатели фермера, который попросил вас пересмотреть рацион питания его свиней и по возможности снизить затраты. Текущий рацион составлен на основе рекомендаций ветеринара: не менее 17% белка, 2% жира и 7 фунтов корма, — и оптимизирован по минимальной стоимости согласно следующим спецификациям:
| Корм | Стоимость ($/фунт) | Белок (%) | Жир (%) |
|---|---|---|---|
| кукуруза | 0,11 | 10 | 2,5 |
| соя | 0,28 | 40 | 1 |
Известно, что значение 7 фунтов было округлённым и может уменьшиться до 6,6 фунта. Вам необходимо проанализировать, как изменение ограничений по весу или жиру по отдельности влияет на минимальную стоимость. Решите исходную задачу и изучите значения зазора и теневой цены.
Библиотека pulp уже импортирована, модель model определена, а также переменные C и S для кукурузы и сои.
Это упражнение является частью курса
Введение в оптимизацию на Python
Инструкции к упражнению
- Выведите значение зазора для ограничения по весу.
- Проверьте, больше ли теневая цена ограничения по весу нуля.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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')