игры2
.docxМинистерство науки и высшего образования Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
«Задача о диете»
Отчет по лабораторной работе №2
по дисциплине «Теория игр и исследование операций»
Студент гр. 739-1
Климанов М.Д.
21.05.2022
Руководитель
Доцент кафедры КИБЭВС,
Кандидат технических наук
_______ Шабля Ю.В.
__.__.2022
Томск 2022
1 Введение
Целью данной лабораторной работы является ознакомление с линейным программированием на примере задачи о диете и её реализация в математических пакетах.
2 ХОД РАБОТЫ
Изначально требуется определить норму КБЖУ. Было решено реализовывать задачу с количеством калорий, равным 3000, а также 100 г. белками, 70 г. жирами и 300 г. углеводами (рис. 1).
Рисунок 1 – Нормы КБЖУ
Далее выбираем 20 любых продуктов и заполняем информацию об их энергетической ценности, а также стоимости продукта в расчёте на 100 г (рис. 2).
Рисунок 2 – Таблица с информацией о продуктах
Также требуется дополнительно создать пустую таблицу с указанием для каждого продукта количества, которое необходимо употребить (рис. 3).
Рисунок 3 – Таблица с информацией о количестве продукта, которое необходимо употребить
Далее с помощью функции «СУММПРОИЗВ()» определяем ячейку, в которой будет вычисляться значение целевой функции – сумма произведений стоимости продукта на его количество, а также аналогично задаём таблицу для расчёта потребляемых питательных веществ (рис. 4).
Рисунок 4 - Таблица для расчёта потребляемых питательных веществ
Для дальнейшего решения задачи используем встроенную в Microsoft Excel надстройку «Поиск решения», в которой уже реализован симплекс-метод решения задач линейного программирования. Заполнив входные данные, на выходе получаем оптимизированное меню (рис. 5).
Рисунок 5 - Решение задачи о диете
В результате получаем заполненную таблицу с указанием для каждого продукта количества, которое необходимо употребить: примерно 2448г. абрикосов, 515г. зеленого горошка, а также 252 г. семечек. При этом будет получено 100 г белков, 137 г жиров, 300 г углеводов и 3000 ккал (суточная норма по всем показателям выполнена), и потрачено 125 рублей.
Далее требуется выполнить абсолютно аналогичную задачу, но при этом добавив в таблицу с информацией о продуктах столбик «Вкус», тем самым добавив ограничение на минимальное количество «вкусовых баллов» (рис. 6).
Рисунок 6 - Решение задачи о диете
Также задаём пустую таблицу с указанием для каждого продукта количества, которое необходимо употребить и определяем ячейки для расчёта значения целевой функции и параметров ограничений (рис. 7).
Рисунок 7 - Подготовка к получению решения задачи о диете с учётом вкусовых качеств
В результате получаем следующее решение: нужно употребить примерно 5973г. абрикосов, 430г. зеленого горошка, 119г. семечек (рис. 8).
Рисунок 8 - Решение задачи о диете с учётом вкусовых качеств
При этом будет получено 100г. белков, 70г. жиров, 601г. углеводов, 3823 ккал и 200 баллов вкуса (суточная норма по всем показателям выполнена), и потрачено 213 руб.
3 Заключение
В ходе выполнений данной лабораторной работы, были изучены методы и приемы работы с линейным программированием на примере задачи о диете.