Проблема дієти
Метою дієтичної проблеми є відбір продуктів, які задовольняють добові харчові потреби з мінімальними витратами. Цю проблему можна сформулювати як лінійну програму, для якої обмеження обмежують кількість калорій та кількість вітамінів, мінералів, жирів, натрію та холестерину в раціоні. Данциг (1990) зазначає, що проблема дієти була мотивована бажанням армії США мінімізувати витрати на годування ГЛС в полі, зберігаючи при цьому здорове харчування.
Постановка проблеми
Дієтна задача може бути сформульована математично як задача лінійного програмування з використанням такої моделі в Pyomo:
Набори
Встановити дані, які використовуються для визначення екземпляра моделі.
Параметри (Param)
Дані параметрів, які використовуються для визначення екземпляра моделі.
Змінні (Var)
Змінні рішення в моделі.
Об’єктивна
Вирази, які у моделі зведено до мінімуму.
Обмеження
Вирази обмеження, які накладають обмеження на значення змінних у моделі.
Примітка: Усі пакети вже в Qusandbox, вам не потрібно встановлювати будь-які пакети, якщо ви запускаєте проект у Qusandbox. Якщо ви запускаєте проект у своєму локальному блокноті Jupyter, будь ласка, переконайтесь, що ви встановили всі пакунки вище.
Спочатку потрібно оголосити абстрактну модель, створивши об’єкт моделі. АнотаціяМодель клас забезпечує контекст для визначення та ініціалізації абстрактних моделей оптимізації в Pyomo, коли значення даних будуть надаватися в той час, коли потрібно отримати рішення.
Потім використовуйте Встановити компонент для оголошення наборів F і абстрактно. Під час роботи з Pyomo зручно писати абстрактні моделі дещо абстрактніше, використовуючи набори індексів, що містять рядки, а не набори індексів, що передбачаються 1,. м або підсумовування від 1 до n.