Лабораторная работа «Задача о диете. Составление смеси оптимального рациона кормления» Жорова Ю.А. Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова» Новочеркасск, Россия Laboratory work " The problem of diet. The preparation of a mixture of optimal feeding diet" Zhorova Y.A. Federal State Educational Institution of Higher Professional Education "SouthRussian State Technical University (NPI) of the Platov M.I." Novocherkassk, Russia Цельработы: овладеть навыками составления математической модели задачи о диете и ее решения в среде ЭТ MSExcel с помощью надстройки «Поиск решения» и в среде пакета MathCadc помощью блока Given…Maximize (Given…Minimize). Задача о диете. Диета – это специально подобранный по количеству, химическому составу, энергетической ценности (калорийности) и способу кулинарной обработки рацион, а также режим питания. В основу диетического питания положены современные, научно обоснованные физиологические нормы питания. В соответствии с ними питание здорового и больного человека в первую очередь призвано удовлетворить его физиологические потребности в пищевых веществах и энергии. Основные питательные вещества (белки, жиры, углеводы), а также иные незаменимые компоненты (витамины, макрои микроэлементы) должны поступать в организм в оптимальном количестве в соответствии с потребностями конкретного человека. Физиологически обоснованные потребности зависят от большого числа факторов: возраста, пола, средней телесной массы, интенсивности физического труда, состояния здоровья и т.д., причем все эти факторы необходимо учитывать при составлении диеты. Многообразие продуктов питания еще более усложняет задачу, делая ее практически неразрешимой без применения математических методов, современных программных средств и ЭВМ. Пусть имеются m видов продуктов Р1,Р2,...,Рm, содержащих питательные вещества и незаменимые компоненты В1,В2,…,Вn. В 100 граммах продукта Рj содержится известное aij количество питательного вещества или незаменимого компонента Вi. Кроме того известны: bi – ежесуточная минимальная потребность организма в веществах Вi (i=1,2,…,n), sj и еj – стоимость и энергетическая ценность (в килокалориях) 100 грамм продукта Рj (j=1,2,…,m). Требуется рассчитать суточную диету, т.е. количество каждого продукта Рj, чтобы, с одной стороны, обеспечить минимально необходимое количество питательных веществ и незаменимых компонент, а с другой − минимизироватьстоимость разработанной диеты. При этом необходимо подсчитать энергетическую ценность полученной диеты. Задачу можно сформулировать иначе. Разработать диету с заданной калорийностьюКзаданное и подсчитать ее стоимость. Для решения поставленной задачи сформулируем её математическую модель, первоначально сведя исходные данные в следующую таблицу: Питательные Min вещества потребность b1 B1 b2 B2 ... ... bn Bn Стоимость 100 г продукта Энергетическая ценность 100 г продукта Р1 a11 a21 ... an1 s1 e1 Содержание питательных веществ в 100 граммах продукта Р2 ... a12 ... a22 ... ... ... an2 ... s2 ... e2 ... Pm a1m a2m ... anm sm em Для решения сформулированной задачи составим ее математическую модель. Математическая модель задачи о диете. Для построения математической модели задачи: 1. Определим неизвестные и их количество. Обозначим xj− неизвестное пока количество(грамм) продуктаPj, входящего в диету (j = 1,...,m). 2.Запишем целевую функцию.Так как задача имеет две формулировки, то и целевых функций будет две: Fs(х1,х2,…,xj,…,хm) = 1/100*(s1·x1 + s2·x2 + …+ sj·xj + … + sm·xm) = 1 m = ⋅ ∑ s j x j → min . 100 j =1 Fe(х1,х2,…,xj,…,хm) =1/100*( e1· x1 + e2 · x2 + …+ ej·xj + … + em·xm) = 1 m = ⋅ ∑e j x j = K заданное 100 j =1 (1) 3.Сформулируем ограничения рассматриваемой задачи. Общее количествопотребленных питательных веществ и незаменимых компонент в диете должно быть не меньше ежесуточных физиологически обоснованных потребностей bi, т. е. можно записать следующую систему неравенств: 1 100 ⋅ ( a11 ⋅ x1 + a12 ⋅ x2 + K + a1 j ⋅ x j + K + a1m ⋅ xm ) ≥ b1 , 1 ⋅ (a ⋅ x + a ⋅ x + K + a ⋅ x + K + a ⋅ x ) ≥ b , 22 2 2j j 2m m 2 100 21 1 K K K K K , 1 ⋅ ( an1 ⋅ x1 + an 2 ⋅ x2 + K + anj ⋅ x j + K + anm ⋅ xm ) ≥ b n , 100 x ≥ x min , j = 1, m . j j (2) В систему ограничений добавлены условия, которые не позволяют переменным хj принимать значения меньше некоторых заданных количеств продукта Рj. Таким образом, целевая функция(1) и система ограничений(2) образуют математическую модель задачи о диете. Решение задачи в среде ЭТMSExcel. Для решения задачи с помощью надстройки Поиск решения в среде ЭТ MSExcel необходимо: 1. Идентифицируйте свою работу, переименовав Лист1 в Титульный лист и записав номер лабораторной работы, ее название, кто выполнил и проверил. 2. На следующем листе, с именем Минимальная стоимость, создайте таблицу для ввода условий задачи и введите исходные данные. 3. Создайте вторую таблицу, указав в ней продукты диеты и переменные математической модели. В ячейках D17:K17 поместите нулевые (начальные) значения искомых переменных х1,х2,…, х8. 4. В ячейку D19 введите формулу целевой функции. Завершите ввод нажатием клавиши Enter, получим в ячейке D19 нулевое значение, т.к. пока равны нулю переменные х1,х2,…, х8. 5. В ячейку C21 записать функцию для вычисления энергетической ценности диеты. Ниже создать таблицу − Ограничения на max и min количество каждого продукта. 6. Наберите команду Данные → Поиск решения. В появившемся диалоговом окне Поиск решения необходимо выполнить необходимые установки. 7. Щелкните по кнопке «Выполнить». Если решение найдено, то появится диалоговое окно. Щелчок по кнопке ОК позволяет сохранить найденное оптимальное решение, имеющее следующий вид: 8.Сделайте выводы по выполненной работе. 9. Сохраните результаты вычислений в своей папке. Решение задачи с помощью математического пакета MathCad осуществляется аналогично. Для решения задачи в среде пакета MathCad: 1. Идентифицируйте лабораторную работу, набрав ее номер, название, кто выполнил и проверил. 2. Задайте исходные данные. 3. Присвойте переменным начальные нулевые значения. 4. Определите целевую функцию – суммарную прибыль предприятия. 5. Введите служебное слово Given и, после него, систему ограничений. 6. Найдите оптимальное решение с помощью функции Minimize. 7. Вычислите минимальное значение и энергетическую ценность. 8. Сделайте выводы по выполненной работе. 9. Сохраните результаты вычислений в своей папке.