Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задачи_ПИЭ_ИСТ.doc
Скачиваний:
12
Добавлен:
17.04.2019
Размер:
1.17 Mб
Скачать

Задача 7 Задача об оптимальной диете

7.1.Математическая постановка задачи

В общем случае задача об оптимальной диете может быть сформулирована следующим образом.

Имеется п видов продуктов питания, в которых содержится т типов питательных веществ (белки, жиры, углеводы). В одной весовой единице продукта i-го типа содержится аij единиц питательного вещества j-го вида . Известна минимальная суточная потребность bj человека в каждом из видов питательных веществ. Задана калорийность сi, одной весовой единицы i-го продукта . Требуется определить оптимальный состав рациона продуктов, такой, чтобы каждое питательное вещество содержалось в нем в необходимом количестве, обеспечивающем суточную потребность человека, и при этом суммарная калорийность рациона была минимальной.

Введем в рассмотрение следующие переменные: xi — весовое количество продукта питания i-го типа в суточном рационе. Тогда в общем случае математическая постановка задачи об оптимальной диете может быть сформулирована следующим образом.

где множество допустимых альтернатив формируется следующей системой ограничений типа неравенств:

и х1, х2, ..., хn>0.

Хотя математически задача об оптимальной диете формулируется как задача о минимизации целевой функции, это не имеет принципиального значения Для ее последующего решения. В этой связи следует помнить, что с учетом сделанного ранее замечания всегда можно перейти от задачи максимизации целевой функции к эквивалентной ей задаче минимизации целевой функции и наоборот.

7.2. Решение задачи об оптимальной диете с помощью программы MS Excel

Для решения задачи об оптимальной диете с помощью программы MS Excel необходимо задать конкретные значения параметрам исходной задачи. Для определенности предположим, что в качестве исходных типов продуктов рассматриваются: хлеб, мясо, сыр, бананы, огурцы, помидоры, виноград (п = 7), а в качестве питательных веществ рассматриваются белки, жиры и углеводы = 3). Калорийность одной весовой единицы каждого из продуктов следующая: с1 = 2060, с2= 2430, с3= 3600, с4= 890, с5= 140, с6= 230, с7=650. Содержание питательных веществ в каждом из продуктов (см. табл. 8.10.1):

Таблица 8.10.1.

Содержание питательных веществ в продуктах питания

Продукты / Питательные вещества

Хлеб ржаной

Мясо баранина

Сыр "Российский"

Банан

Огурцы

Помидоры

Виноград

Белки

61

220

230

15

8

11

6

Жиры

12

172

290

1

1

2

2

Углеводы

420

0

0

212

26

38

155

Минимальная суточная потребность: белков b1 = 100, жиров b2 = 70, углеводов b3 = 400. Калорийность продуктов измеряется в ккал/кг, суточная потребность в питательных веществах — в граммах, а содержание питательных веществ в продукта в грамм/кг. В этом случае оказывается возможным выполнить дополнительную проверку условий сформулированной задачи на основе рассмотрения физической размерности целевой функции и ограничений. Для решения данной задачи с помощью программы MS Excel создадим новою книгу с именем Линейное программирование и изменим имя ее первого рабочего листа на Задача о диете, выполним следующие подготовительные действия:

1. Внесем необходимые надписи в ячейки A1:I1, A2:A7, B4, I4, J4. Конкретное содержание этих надписей не оказывает никакого влияния на решение рассматриваемой задачи линейного программирования.

2. В ячейки В3:Н3 введем значения коэффициентов целевой функции:

с1 = 2060, с2= 2430, с3= 3600, с4= 890, с5= 140, с6= 230, с7=650.

В ячейку 12 введем формулу: =СУММПРОИЗВ(B2:H2;B3:H3), которая представляет целевую функцию.

В ячейки В5:Н7 введем значения коэффициентов ограничений, взятых из табл. 8.10.1.

В ячейки J5:J7 введем значения правых частей ограничений, соответствующих минимальной суточной потребности в питательных веществах: в белках b1= 100, жирах b2 = 70 и углеводах b3 = 400.

В ячейку I5 введем формулу: =суммпроизв($в$2:$н$2;В5:Н5), которая представляет левую часть первого ограничения (4.2.2).

Скопируем формулу, введенную в ячейку 15, в ячейки 16 и 17.

Внешний вид рабочего листа MS Office Excel 2003 с исходными данными для решения задачи об оптимальном рационе питания имеет следующий вид (рис. 5.1).

Рис. 5.1. Исходные данные для решения задачи об оптимальной диете

Следует напомнить, что для отображения формул в ячейках рабочего листа необходимо выполнить операцию главного меню: Сервис | Параметры и в открывшемся диалоговом окне на вкладке Вид отметить флажком выбора Формулы в группе Параметры окна. |

Для дальнейшего решения задачи следует вызвать мастер поиска решений для чего необходимо выполнить операцию главного меню: Сервис|Поиск решения...

После появления диалогового окна Поиск решения следует выполнить следующие действия:

  1. В поле с именем Установить целевую ячейку: ввести абсолютный адрес ячейки $I$2.

  2. Для группы Равной: выбрать вариант поиска решения — минимальному значению.

  1. В поле с именем Изменяя ячейки: ввести абсолютный адрес $В$2:$Н$2.

  2. 4. Добавить 3 ограничения, представляющие минимальные суточные потребности в питательных веществах. С этой целью выполнить следующие действия:

  3. для задания первого ограничения в исходном диалоговом окне Поиск решения нажать кнопку с надписью Добавить (рис. 5.2, а);

  • в появившемся дополнительном окне выбрать ячейку $I$5, которая должна отобразиться в поле с именем Ссылка на ячейку;

  • в качестве знака ограничения из выпадающего списка выбрать нестрогое неравенство ">=";

  • в качестве значения правой части ограничения выбрать ячейку $J$5;

  • для добавления первого ограничения в дополнительном окне на кнопку с надписью Добавить;

  • аналогичным образом задать оставшиеся два ограничения (рис. 5.2),

5. Добавить ограничение на допустимые значения переменных. С этой целью выполнить следующие действия:

  • в исходном диалоговом окне Поиск решения нажать кнопку с надписью Добавить;

  • в появившемся дополнительном окне выбрать диапазон ячеек $В$2:$Н$2, который должен отобразиться в поле с именем Ссылка на ячейку;

  • в качестве знака ограничения из выпадающего списка выбрать нестрогое неравенство ">=";

  • в качестве значения правой части ограничения в поле с именем Ограничение: ввести значение 0;

  • для добавления ограничения в дополнительном окне нажать кнопку с надписью Добавить (рис. 5.3, а).

а

б

Р ис.5.2. Параметры мастера поиска решения и базовые ограничения для задачи об оптимальной диете

а

б

Рис. 5.3. Ограничения на значения переменных и параметры мастера поиска решения для задачи об оптимальной диете

6. В дополнительном окне параметров поиска решения следует выбрать отметки Линейная модель и Неотрицательные значения (рис. 5.3).

После задания ограничений и целевой функции следует нажать кнопку Выполнить. В результате выполнения расчетов программой MS Excel будет получено количественное решение, которое имеет вид, представленный на рис. 5.4.

Рис. 5.4. Результат количественного решения задачи об оптимальной диете

'i Результатом решения задачи об оптимальной диете являются найденные \

тимальные значения переменных: Х1= 0, Х2 0,2115, , Х3 0,109, , Х4 1,8868, Х5=0, Х6 =0, Х7 = 0, которым соответствует значение целевой функции fopt 2587,140389. При выполнении расчетов для ячеек В2:I2 был выбран числовой формат с 4 знаками после запятой.

Анализ найденного решения показывает, что для удовлетворения суточной потребности в питательных веществах (белки, жиры, углеводы) следует и пользовать 211 г мяса баранины, 109 г сыра и 1887 г бананов, совсем отказавшись от хлеба, огурцов, помидоров и винограда. При этом общая калорийность найденной оптимальной диеты будет приближенно равна 2590ккал, что вполне соответствует малоактивному образу жизни без серьезных физических нагрузок. Напомним, что согласно медицинским данным, энергетические затраты работников интеллектуального труда (юристы, бухгалтера, врачи, педагоги) лежат в пределах 3000 ккал.

Содержательный анализ результатов задачи об оптимальной диете явно выявляет недостатки рассмотренной математической модели. С одной стороны, для вкусной и питательной пищи не всегда приемлемым оказывается ограниченный рацион продуктов питания, который совершенно игнорирует индивидуальные предпочтения при выборе отдельных продуктов. С другой стороны, найденное оптимальное решение (мясо + сыр + бананы) для многих покажется однообразным и способным повергнуть в уныние даже пациентов больницы. Наконец, рассмотренная математическая модель задачи об оптимальной диете не учитывает суточную потребность в витаминах и микроэлементах, учет которых может существенно повлиять на выбор оптимального состава продуктов.

С другими вариантами данной типовой задачи линейного программирования можно познакомиться в дополнительной литературе, список которой приведен в конце книги. В качестве упражнения предлагается рассмотреть собственную постановку задачи об оптимальной диете, отражающую их индивидуальные предпочтения в выборе тех или иных продуктов. При этом условия задачи можно несколько изменить, включив в качестве одного из ограничений общую калорийность диеты, а в качестве целевой функции рассмотреть общую массу наиболее предпочтительных продуктов.

Несмотря на выявленные недостатки рассмотренной математической задачи об оптимальной диете, найденное оптимальное решение полностью соответствует исходной постановке задачи. Это свидетельствует о достаточно высокой точности решения задач линейного программирования вMS Excel.