Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

игры2

.docx
Скачиваний:
3
Добавлен:
29.06.2023
Размер:
298.07 Кб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

«Задача о диете»

Отчет по лабораторной работе №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 Заключение

В ходе выполнений данной лабораторной работы, были изучены методы и приемы работы с линейным программированием на примере задачи о диете.

Соседние файлы в предмете Теория игр и исследование операций