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

Задача о рационе питания: новый взгляд

Вы анализируете финансовые показатели фермера, который попросил вас пересмотреть рацион питания его свиней и по возможности снизить затраты. Текущий рацион составлен на основе рекомендаций ветеринара: не менее 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')
Редактировать и запускать код