Задача на рацион питания excel

Нажмите, чтобы узнать подробности

Решение задачи о дневном рационе: нахождение решения задачи о дневном рационе средствами Microsoft Excel

Задание 1. Запустите приложение Microsoft Excel

Задание 2. Найдите оптимальное решение задачи о дневном рационе:

Для этого выполните следующую последовательность действий:

1. Откройте из папки МАТ_МОД файл _1(а), содержащий экранную форму для ввода условия задачи (Рис. 1).

Рис. 1. Экранная форма для ввода условия задачи

2. Введите исходные данные в экранную форму:

  • коэффициенты ЦФ;
  • направление целевой функции (min);
  • коэффициенты при переменных в ограничениях;
  • знаки в ограничениях ( >= );
  • правые части ограничений.

Напоминаем, для того, чтобы ввести знаки =, >=, <= в соответствующие ячейки, необходимо в ячейку прежде ввести знак апострофа ‘.

После заполнения форма должна выглядеть следующим образом (Рис. 2).

Рис. 2. Ввод исходных данных

1. Введите формулы, описывающие математическую модель задачи, в экранную форму:

  • формулу для расчета ЦФ в ячейку;

согласно условию задачи значение ЦФ определяется выражением

поэтому в ячейку B9 необходимо внести формулу

Напоминаем, что данную формулу можно ввести, воспользовавшись функцией =СУММПРОИЗВ(B3:D3;B7:D7), для этого:

  • установите курсор в ячейку B9;
  • нажав кнопку «», вызовите окно «Мастер функций – шаг 1 из 2»;
  • выберите в окне «Категория» категорию «Математические»;
  • в окне «Функция» выберите функцию СУММПРОИЗВ;
  • в появившемся окне «СУММПРОИЗВ» в строку «Массив 1» введите выражение B3:D3, а в строку «Массив 2» – выражение B7:D7;
  • нажмите OK.

В экранной форме (Рис. 3) в ячейке B9 появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые).

  • аналогичным образом введите формулы для расчета значений левых частей ограничений (это потребляемое количество в сутки) в ячейки E13, E14, E15, E16, E17 соответственно.

Формулы, описывающие ограничения модели можно увидеть ниже (Таблица 2).

Таблица 2. Формулы, описывающие ограничения модели

Напоминаем, что ввод соответствующей формулы в каждую ячейку необязателен, достаточно в ячейку E13 внести формулу =СУММПРОИЗВ(B$3:D$3;B13:D13), а потом воспользоваться возможностью автозаполнения формул в других ячейках.

В экранной форме ( Рис. 3 ) в ячейках E13, E14, E15, E16, E17 появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые).

Рис. 3. Окно после ввода зависимостей в математической модели

1. Установите целевую ячейку и укажите направление поиска, для этого:

  • зайдите в меню Сервис / Поиск решения;
  • в поле «Установить целевую ячейку» укажите целевую ячейку $B$9;
  • введите направление оптимизации ЦФ, щелкнув один раз левой клавишей мыши по кнопке «минимальному значению»;

2.Укажите диапазон изменения ячеек, для этого в окне «Поиск решения» в поле «Изменяя ячейки» впишите адреса $B$3:$D$3.

Напоминаем, что необходимые адреса можно вносить в поле автоматически, путем выделения мышью соответствующих ячеек переменных непосредственно в экранной форме.

3. Внесите условие неотрицательности для переменных (в окне «Поиск решения») (Рис. 4), для этого:

  • нажмите кнопку «Добавить», после чего появится окно «Добавление ограничения»;
  • в поле «Ссылка на ячейку» введите адреса ячеек переменных $B$3:$D$3;
  • в поле знака откройте список предлагаемых знаков и выберите ;
  • в поле «Ограничение» введите число 0.

Рис. 4. Добавление условия неотрицательности переменных

Аналогичным образом введите оставшиеся ограничения (Рис. 5).

Рис. 5. Ввод ограничений

В нашем случае все ограничения содержат один знак , поэтому мы ввели ограничение $E$13:$E$17>=$G$13: $G$17. Если же ограничения задачи содержат разные знаки, то каждое ограничение надо вводить отдельно, например, $E$13>=$G$13.

Если при вводе условия задачи возникает необходимость в изменении или удалении внесенных ограничений или граничных условий, то это делают, нажав кнопки «Изменить» или «Удалить».

Задача запускается на решение в окне «Поиск решения» нажатием на кнопку «Выполнить». Но предварительно для установления конкретных параметров решения задач оптимизации необходимо нажать кнопку «Параметры» и заполнить некоторые поля окна «Параметры поиска решения».

8. Установите параметры решения задачи (Рис. 6) и подтвердите установленные параметры нажатием кнопки «OK».

Параметр «Максимальное время» служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 секунд (более 9 часов).

Параметр «Предельное число итераций» служит для управления временем решения задачи путем ограничения числа промежуточных вычислений. В поле можно ввести количество итераций, не превышающее 32 767.

Рис. 6. Параметры поиска решения, подходящие для большинства задач ЛП

Параметр «Относительная погрешность» служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 до 1. Чем меньше количество десятичных знаков во введенном числе, тем ниже точность. Высокая точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.

Параметр «Допустимое отклонение» служит для задания допуска на отклонение от оптимального решения в целочисленных задачах. При указании большего допуска поиск решения заканчивается быстрее.

Параметр «Сходимость» применяется только при решении нелинейных задач.

Установка флажка «Линейная модель» обеспечивает ускорение поиска решения линейной задачи за счет применения симплекс-метода.

9. Запустите задачу на решение путем нажатия кнопки «Выполнить».

После запуска на решение задачи ЛП на экране появляется окно «Результаты поиска решения» (Рис. 7).

Рис. 7. Сообщение об успешном решении задачи

10. В появившемся окне нажмите кнопку ОК и посмотрите на экране оптимальное решение задачи (Рис. 8).

После запуска на решение задачи ЛП на экране может появиться окно «Результаты поиска решения» с одним из сообщений, представленных на Рис. 9, Рис. 10. Если все данные на предыдущих этапах были внесены верно, то это означает, что оптимальное решение не может быть найдено.

Рис. 8. Экранная форма задачи после получения решения

Рис. 9. Сообщение при несовместной системе ограничений задачи

Рис. 10. Сообщение при неограниченности ЦФ в требуемом направлении

Если Вы не смогли найти решение задачи, следовательно, Вы допустили ошибки на предыдущих этапах. Откройте из папки МАТ_МОД файл ошибки.doc и внимательно прочтите приведенную там информацию.

Задание 3. Сохраните файл в своей папке с именем lab_1(a).

Пригласите преподавателя и продемонстрируйте полученный результат.

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

Задание 4. Найдите целочисленное оптимальное решение задачи о дневном рационе, для этого:

  • в окне «Поиск решения» (меню «Сервис»/«Поиск решения»), нажмите кнопку «Добавить»;
  • в появившемся окне «Добавление ограничений» введите ограничения следующим образом: в поле «Ссылка на ячейку» введите адреса ячеек переменных задачи, то есть $B$3:$D$3;
  • в поле ввода знака ограничения установите «целое» (Рис. 11);

Рис. 11. Ввод условия целочисленности переменных задачи

  • подтвердите ввод ограничения нажатием кнопки OK и проанализируйте полученный результат (Рис. 12).

Рис. 12. Решение задачи при условии целочисленности ее переменных

Задание 5. Сохраните файл в своей папке с именем lab_1(b).

Решение задачи о дневном рационе: построение модели

Решение задачи о выпуске продукции: постановка задачи

Имеется
n
видов продуктов питания, в которых
содержится m
типов питательных веществ (белки, жиры,
углеводы). В одной весовой единице
продукта i-го типа (i

{1, 2, …, n}) содержится аi
единиц питательного вещества j-го вида
(j

{1, 2, …, m}). Известна минимальная суточная
потребность bj
(j

{1,2,…, т}) человека в каждом из видов
питательных веществ. Задана калорийность
сi
одной весовой единицы i-го продукта (i
принадлежит {1, 2, …, n}).

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

Ведем
в рассмотрение следующие переменные:
х — весовое количество продукта питания
i-го
типа в суточном рационе.

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


(4)

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


(5)

x1,x2,…,xn
≥ 0 (6)

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

Для
определенности предположим, что в
качестве исходных типов продуктов
рассматриваются: хлеб, мясо, сыр, бананы,
огурцы, помидоры, виноград (n
= 7), а в качестве питательных веществ
рассматриваются белки, жиры, углеводы
(m = 3).

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

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

Продукты/

питательные
вещества

Хлеб

ржаной

Мясо

баранина

Сыр

«Российский»

Банан

Огурцы

Помидоры

Виноград

Белки

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.

Для
решения данной задачи c помощью программы
MS Excel создадим новую книгу с именем
Линейное
программирование

и изменим имя ее второго рабочего листа
на Задача
о диете
.

1 Этап. Создание математической модели задачи

Составим
математическую модель процесса по
описанию задачи:

2060Х1+2430Х2+3600Х3+890Х4+140X5+230X6+650X7=Fmin
– целевая функция (суммарная калорийность
продуктов).

{61Х1+220Х2+230Х3+15Х4+8X5+11X6+2X7
>= 100

{12Х1+172Х2+290Х3+Х4
+X5+2X6+6X7
>=70 — ограничения модели

{420Х1+212Х4
+26X5+38X6+155X7
>=400

x1,x2,…,xn
≥ 0, где n=7
— граничные условия

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Содержание

  1. Задача составления кормовой смеси или задача о диете
  2. Задача о составлении рациона (задача о диете, задача о смесях)
  3. Задача о смесях
  4. Решение задачи о дневном рационе
  5. Постановка задачи
  6. Сводная таблица условий задачи о дневном рационе
  7. Построение модели
  8. 1 Этап. Определение переменных, для которых будет составляться математическая модель.
  9. 2 Этап. Формирование целевой функции.
  10. 3 Этап. Формирование системы ограничений.
  11. Нахождение решения задачи о дневном рационе средствами Microsoft Excel

Задача составления кормовой смеси или задача о диете

Содержание

  1. Задача о составлении рациона (задача о диете)
  2. Задача о смесях (смешивания этих ингредиентов в пропорциях)
  3. Задача об оптимальном составе бетонной смеси

Пример №1 . Бройлерное хозяйство птицеводческой фермы насчитывает 20 000 цыплят, которые выращиваются до 8-недельного возраста и после соответствующей обработки поступают в продажу. Недельный расход корма в среднем (за 8 недель) составляет 500г = 0.5 кг .
Для того, чтобы цыплята достигли к 8-й неделе необходимого веса, кормовой рацион должен удовлетворять определённым требованиям по питательности. Этим требованиям могут соответствовать смеси различных видов кормов, или ингредиентов.
В таблице приведены данные, характеризующие содержание (по весу) питательных веществ в каждом из ингредиентов и удельную стоимость каждого ингредиента. Смесь должна содержать:

  • не менее 0.8% кальция (от общего веса смеси)
  • не менее 22% белка (от общего веса смеси)
  • не более 5% клетчатки (от общего веса смеси )

Требуется определить количество (в кг) каждого из трёх ингредиентов, образующих смесь минимальной стоимости, при соблюдении требований к общему расходу кормовой смеси и её питательности.

Ингредиент Содержание питательных веществ (кг/ингредиента) Стоимость (руб./кг)
Кальций Белок Клетчатка
Известняк
Зерно
Соевые бобы
0.38
0.001
0.002

0.09
0.5

0.02
0.08
0.04
0.15
0.40

Математическая формулировка задачи. Введём следующие обозначения:
X 1 — содержание известняка в смеси (кг);
Х2 — содержание зерна в смеси (кг);
Х3 — содержание соевых бобов в смеси (кг);

Общий вес смеси, еженедельно расходуемый на кормление цыплят: 20 000 х 0.5 = 10 000 кг.
Ограничения, связанные с содержанием кальция, белка и клетчатки в кормовом рационе, имеют вид:
0.38X1 + 0.001Х2 + 0.002Х3 ≥ 0.008 х 10 000,
0.09Х2 + 0.50Х3 ≥ 0.22 х 10 000,
0.02Х2+ 0.08Х3 ≤ 0.05 х 10 000.
Окончательный вид математической формулировки задачи:
min f(X) = 0.04 x1 + 0.15Х2 +0,40Х3
при ограничениях
Х123= 10 000
0.38Х1 + 0.001Х2 + 0.002Х3 ≥ 80
0.09Х2+ 0.50Х3 ≥ 2200
0.02Х2+ 0.08Х3 ≤ 500
Xj > 0, j = 1, 2, 3.

Задача о составлении рациона (задача о диете, задача о смесях)

Таблица 2

Питательные вещества

Число единиц питательных веществ в единице продукции

Необходимый минимум питательных веществ

П1 П2
S1 1 2 10
S2 3 2 8
S3 2 1 9
S4 2 2 11

Стоимость единицы продукции П1 и П2 соответственно равна 3 и 4 д.е.
Решение. Обозначим через х1 и х2 – количество продукции П1 и П2, входящей в дневной рацион. Тогда общая стоимость рациона составит (д.е.)

F = 3x1 + 4x2. (5)
С учетом необходимого минимума питательных веществ составим систему ограничений. Рацион включает (x1 + 2x2) единиц питательного вещества S1, (3x1 + 2x2) единиц питательного вещества S2, (2x1 + x2) единиц питательного вещества S3 и (2x1 + 2x2) единиц питательного вещества S4. Так как содержание питательных веществ S1, S2, S3, S4 в рационе должно быть не менее 10, 8, 9, 11 единиц, соответственно, то получим систему ограничений неравенств:
x1+2x2 ≥ 10 (6)
3x1+2x2 ≥ 8
2x1+x2 ≥ 9
2x1+2x2 ≥ 11
x1 ≥ 0, x2 ≥ 0
Итак, экономико-математическая модель задачи: составить дневной рацион , удовлетворяющий системе ограничений (6), при котором функция (5) принимает минимальное значение.
Сформулируем данную задачу в общей постановке.
Обозначим через xj (j = 1, 2,…, n) – количество единиц j-го продукта в дневном рационе. В рационе используется n видов продуктов. Каждый продукт содержит m питательных веществ в количестве не менее bi (i = 1,2,…,m) единиц, aij – число единиц питательного вещества si в единице продукта j-го вида. Известна стоимость cj единицы j-го продукта. Необходимо составить рацион нужной питательности при минимальных затратах на него.
Экономико-математическая модель примет вид:

(8)
Замечание 1. Целевую функцию (7) и систему ограничений неравенств можно записать, используя знак ∑ (суммы).

(9)

(10)
Замечание 2. В задаче составления рациона (диеты, кормовой смеси) могут использоваться ограничения не только по необходимому минимуму питательных веществ, но и по минимальному общему весу смеси.
Например. Некоторая фирма имеет возможность купить n различных видов сырья и приготавливать различные виды смесей (продуктов). Каждый вид сырья содержит разное количество питательных веществ. Установлено, что продукция должна удовлетворять некоторым минимальным требованиям с точки зрения питательности (полезности). Необходимо определить количество каждого j-го вида сырья, образующего смесь минимальной стоимости при соблюдении требований к общему расходу смеси и её питательность.
Экономико-математическая модель задачи будет иметь вид:

,
при ограничениях: на общий расход смеси
на питательность смеси

на не отрицательность переменных

xj≥0, j=1,2,…n,
где xj – количество j-го сырья в смеси;
n – количество видов сырья;
m – количество питательных веществ;
aij – количество i-го питательного вещества, содержащегося в единице j-го вида сырья;
b1 – минимальное количество i-го питательного вещества, содержащегося в единице смеси;
cj – стоимость единицы сырья j;
q – минимальный общий вид смеси.

Пример №3 . В заводской лаборатории создается антифрикционный сплав (оловянистый баббит), который должен содержать: олова — не меньше 15%, сурьмы — не меньше 15%, свинца — около 70%. Есть четыре сплава, процентный состав и цены на которые приведенные в таблице:

Элементы Сплав
1 2 3 4
Олово 12 20 12 20
Сурьма 12 18 18 14
Свинец 76 62 70 66
Цена на 1 кг 3,5 5,2 4,0 4,6

Рассчитать количество элементов для сплава каждого вида, необходимое для 1 кг смеси, которая бы обеспечила минимальные затраты.

Решение
Составим экономико-математическую модель задачи.
Обозначим через
x1 – количество сплава 1, кг
x2 – количество сплава 2, кг
x3 – количество сплава 3, кг
x4 – количество сплава 4, кг

Пример №4 . Для сохранения здоровья и работоспособности человек должен в сутки потреблять не менее 63 усл.ед. белков, не менее 147 усл.ед. жиров и не менее 126 усл.ед. углеводов. Для простоты допустим, что имеется всего два вида продуктов и ; стоимость единицы каждого из них равна соответственно 12 и 9 ден.ед. Содержание названных питательных веществ в различных продуктах неодинаково. Предположим, что в единице продукта содержится 9 усл.ед. белков, 7 усл.ед. жиров 9 усл.ед. углеводов; а в единице продукта содержится соответственно 3, 21, 10 усл.ед. тех же питательных веществ. Требуется:

  1. составить экономико-математическую модель задачи, позволяющую сформировать из продуктов и суточную диету, которая с одной стороны содержала бы белков, жиров и углеводов не менее минимально научно обоснованных норм и вместе с тем требовала бы минимальных затрат;
  2. решить задачу графическим способом.

Решение.

Задача о смесях

Постановка задачи: N ингредиентов — y1, y2, y3, y4. В результате смешивания этих ингредиентов в пропорциях g11:g12:g13:g14, g21:g22:g23:g24, g31:g32:g33:g34 и g41:g42:g43:g44 получают смесь n сортов x1, x2, x3, x4. Цена его реализации соответственно s1, s2, s3, s4.
Экономико-математическая модель задачи

Компоненты Сорта Объем ресурсов
x1 x2 x3 x4
N1 g11/Σg1i g21/Σg2i g31/Σg3i g41/Σg4i y1
N2 g12/Σg1i g22/Σg2i g32/Σg3i g42/Σg4i y2
N3 g13/Σg1i g23/Σg2i g33/Σg3i g43/Σg4i y3
N4 g14/Σg1i g24/Σg2i g34/Σg3i g44/Σg4i y4
Цена s1 s2 s3 s4

Назначение сервиса . С помощью данного сервиса можно в онлайн режиме составить математическую модель задачи о смесях и решить ее симплекс-методом или средствами MS Excel .

  • Ввод данных
  • Решение
  • Видеоинструкция

Пример . Завод выпускает 4 вида полуфабрикатов Bi в количествах: В1 – 400 т, В2 – 250 т, В3 – 350 т и В4 – 100 т.
В результате смешения этих компонентов получают 3 вида продукции Aj. Пропорции смешиваемых полуфабрикатов следующие: для А1 – 2:3:5:2, для А2 – 3:1:2:1, для A3 – 2:2:1:3. Стоимость 1 т продукции Aj составляет: А1 – 12 руб., А2 – 10 руб., А3 – 15 руб.
Составить оптимальный план выпуска продукции по критерию:
а) максимальной стоимости выпущенной продукции;
б) максимального использования полуфабрикатов

Источник

Решение задачи о дневном рационе

Постановка задачи

Для сохранения здоровья и работоспособности человек должен потреблять в сутки определенное количество белков, жиров, углеводов, воды и витаминов (Таблица 25). Предположим (для простоты решения задачи), что дневной рацион человека составляется из трех продуктов — П1, П2, П3. Стоимость этих продуктов задана в табл. 25. Запасы ингредиентов в различных продуктах различны (Таблица 25). Следует таким образом определить дневной рацион, чтобы стоимость рациона была наименьшей, но при этом в рационе содержалось необходимое количество питательных веществ.

Сводная таблица условий задачи о дневном рационе

Количество питательных веществ в единице продукта

Минимально необходимое кол-во питательных веществ

Стоимость единицы продукта (руб.)

Построение модели

Построение математической модели осуществляется в три этапа:

1 Этап. Определение переменных, для которых будет составляться математическая модель.

Так как требуется определить дневной рацион, то есть необходимое количество продуктов П1, П2, П3, то переменными модели будут:

x1 — количество продукта П1, в ед.;

x2— количество продукта П2, в ед.;

x3 — количество продукта П3, в ед.

2 Этап. Формирование целевой функции.

Так как стоимость единицы продукции П1, П2, П3известна, то стоимость всего рациона будет выражаться функцией 40x1+20x2+30x3 (руб.). Обозначив общий расход через F, можно дать следующую математическую формулировку целевой функции: определить допустимые значения переменных x1, x2, x3, минимизирующих целевую функциюL=40x1+.20x2+30x3.

3 Этап. Формирование системы ограничений.

Величины х1 , х2 , х3 следует выбрать так, чтобы стоимость рациона была наименьшей, но при этом в рационе содержалось необходимое количество питательных веществ, т.е. должны выполняться неравенства:

Так как количество продуктов не может быть отрицательным значением, то появляется условие неотрицательности:

Таким образом, математическая модель задачи представлена в виде: определить рацион x1, x2 , x3, обеспечивающий минимальное значение функции:L=40x1+20x2+30x3 при наличии ограничений:

Нахождение решения задачи о дневном рационе средствами Microsoft Excel

Запустите приложение Microsoft Excel (ПускПрограммы Microsoft Excel).

Найдите оптимальное решение задачи о дневном рационе:

Для этого выполните следующую последовательность действий:

Создайте экранную форму для ввода условия задачи (Рис. 1).

Введите исходные данные в экранную форму:

направление целевой функции (min);

коэффициенты при переменных в ограничениях;

знаки в ограничениях ( >= );

правые части ограничений.

Напоминаем, для того, чтобы ввести знаки =, >=,

,

поэтому в ячейку B9 необходимо внести формулу

=.

Напоминаем, что данную формулу можно ввести, воспользовавшись функцией =СУММПРОИЗВ(B3:D3;B7:D7), для этого:

установите курсор в ячейку B9;

нажав кнопку «»,вызовите окно«Мастер функций – шаг 1 из 2»;

выберите в окне «Категория»категорию«Математические»;

в окне «Функция»выберите функциюСУММПРОИЗВ;

в появившемся окне «СУММПРОИЗВ»в строку«Массив 1»введите выражениеB3:D3, а в строку«Массив 2»– выражениеB7:D7;

В экранной форме (Рис. 3) в ячейке B9 появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые).

аналогичным образом введите формулы для расчета значений левых частей ограничений (это потребляемое количество в сутки) в ячейки E13,E14, E15, E16, E17соответственно.

Формулы, описывающие ограничения модели можно увидеть ниже (Таблица 26).

Источник


Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате PDF

ВВЕДЕНИЕ

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

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

Актуальность работы заключается в том, что использование методов оптимизации, в том числе и линейного программирования позволяет с максимальной выгодой и минимальными расходами разрешить задачу о диете, составить наиболее оптимальный рацион, а также сбалансированный режим питания. Разрешение оптимизационной задачи о диете играет важную роль в составлении специализированного рациона питания здоровых и больных людей, а также в сельском хозяйстве при составлении режима кормлении животных[1].

Цель и задачи исследования. Целью выполнения данной работы является углубление знаний по вопросам оптимизационной задачи о диете, получение навыков работы с научной и научно-популярной литературой. К задачам исследования можно отнести:

  • описать общую задачу оптимизации;

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

  • описать возможности ЭТ MS Excel и математического пакета

Mathcad по решению оптимизационных задач;

  • выполнить поставку задачи и разработать математическую модель задачи о нахождении оптимальной диете по критерию минимальной стоимости и

заданной калорийности;

  • рассмотреть порядок решения задачи, которая рассматривается в работе, в среде ЭТ MS Excel и в среде математического пакета Mathcad.

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

Математическое программирование можно представить как математическую дисциплину, которя занимается изучением как экстремальных задач, так и разработкой методов их решения[5].

1.Общая задача оптимизации

1.1Постановка общей задачи оптимизации

На нахождение лучших хозяйственных решений, которые могут обеспечивать максимальное значение целевой функции и минимальное значение затрат, влияют экономические методы управления производством, развитие рыночных отношений, а также распространение договорных. Необходимость в поиск подобного рода решений объяснется наличие различных ограничений на всевозможные факторы производства, позволяющие предприятиям полноценно и бесперебойно функционировать. Отсутствие подобных ограничений привело бы к тому, что нечего было бы выбирать, таким образом, не было бы и вариантов решений[3].

Общий вид постановки математической модели экстремальной задачи представляет собой определение максимального или минимального значения целевой функции

при следующем условии ,

где f и gi − заданные функции, a bi − некоторые действительные числа.

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

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

Наличие ограничений делает задачи математического программирования принципиально отличными от классических задач математического анализа по отысканию экстремальных значений функции. Методы математического анализа для поиска экстремума функции в задачах математического программирования оказываются непригодными.

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

Все задачи программирования можно разделить на три огромных группы:

  • задачи линейного программирования,

  • задачи нелинейного программирования;

  • задачи динамического программирования.

1.1 Классификация задач оптимизации

Линейное программирование (ЛП) – один из первых и наиболее подробно изученных разделов математического программирования. Именно линейное программирование явилось тем разделом, с которого и начала развиваться сама дисциплина «математическое программирование». Термин «программирование» в названии дисциплины ничего общего с термином «программирование (т.е. составление программы) для ЭВМ» не имеет, т.к. дисциплина «линейное программирование» возникла еще до того времени, когда ЭВМ стали широко применяться для решения математических, инженерных, экономических и др. задач[10].

Термин «линейное программирование» возник в результате неточного

перевода английского «linear programming». Одно из значений слова «programming» − составление планов, планирование. Следовательно, правильным переводом английского «linear programming» было бы не «линейное программирование», а «линейное планирование», что более точно отражает содержание дисциплины. Однако, термины линейное программирование, нелинейное программирование, математическое программирование и т.д. в нашей литературе стали общепринятыми и поэтому будут сохранены.

Итак, линейное программирование возникло после второй мировой войны и стало быстро развиваться, привлекая внимание математиков, экономистов и инженеров благодаря возможности широкого практического применения, а также математической стройности.

Можно сказать, что линейное программирование применимо для решения математических моделей тех процессов и систем, в основу которых может быть положена гипотеза линейного представления реального мира.

Линейное программирование применяется при решении экономических задач, в таких задачах как управление и планирование производства; в задачах определения оптимального размещения оборудования на морских судах, в цехах; в задачах определения оптимального плана перевозок груза (транспортная задача); в задачах оптимального распределения кадров и т.д.

Задача линейного программирования (ЛП), как уже ясно из сказанного выше, состоит в нахождении минимума (или максимума) линейной функции при линейных ограничениях.

Существует несколько методов решения задач ЛП. В данной работе будут рассмотрены некоторые из них, в частности:

  • Графический метод решения задачи ЛП;

  • Симплексный метод;

  • Решение задачи ЛП средствами табличного процессора Excel;

Линейное программирование представляет собой наиболее часто используемый метод оптимизации. К числу задач линейного программирования можно отнести задачи:

  • рационального использования сырья и материалов;

  • задачи оптимального раскроя;

  • оптимизации производственной программы предприятий;

  • оптимального размещения и концентрации производства;

  • составления оптимального плана перевозок, работы транспорта (транспортные задачи);

  • управления производственными запасами;

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

ЗЛП записывается в общем виде так:

Наиболее часто встречаются задачи в виде: имеется n ресурсов при m ограничениях. Нужно определить объемы этих ресурсов, при которых целевая функция будет достигать максимума (минимума), т. е. найти оптимальное распределение ограниченных ресурсов. При этом имеются естественные ограничения xj > 0.

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

Для составления математической модели задачи линейного программирования необходимо:

  1. обозначить переменные;

  2. составить целевую функцию;

  3. записать систему ограничений в соответствии с целью задачи;

  4. записать систему ограничений с учетом имеющихся в условии задачи показателей.

Если все ограничения задачи заданы уравнениями, то модель такого вида называется канонической. Если хоть одно из ограничений дано неравенством, то модель неканоническая. [5]

В большинстве инженерных задач построение математической модели не удается свести к задаче линейного программирования.Математические модели в задачах проектирования реальных объектов или технологических процессов должны отражать реальные протекающие в них физические и, как правило, нелинейные процессы. Переменные этих объектов или процессов связанны между собой физическими нелинейными законами, такими, как законы сохранения массы или энергии. Они ограничены предельными диапазонами, обеспечивающими физическую реализуемость данного объекта или процесса. В результате, большинство задач математического программирования, которые встречаются в научно-исследовательских проектах и в задачах проектирования – это задачи нелинейного программирования (НП).

Метод множителей Лагранжа позволяет отыскивать максимум (или минимум) функции при ограничениях-равенствах. Основная идея метода состоит в переходе от задачи на условный экстремум к задаче отыскания безусловного экстремума некоторой построенной функции Лагранжа.

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

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

Решение задач методами динамического программирования проводится на основе сформулированного Р.Э.Беллманом принципа оптимальности: оптимальное поведение обладает тем свойством, что каким бы ни было первоначальное состояние системы и первоначальное решение, последующее решение должно определять оптимальное поведение относительно состояния, полученного в результате первоначального решения. [3]

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

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

Динамическое программирование применяется для решения таких задач, как: распределение дефицитных капитальных вложений между новыми направлениями их использования; разработка правил управления спросом и запасами; составление календарных планов текущего и капитального ремонтов оборудования и его замены; поиск кратчайших расстояний на транспортной сети и т.д.

Пусть процесс оптимизации разбит на n шагов. На каждом шаге необходимо определить два типа переменных – переменную состояния S и переменную управления X. Переменная S определяет, в каких состояниях может оказаться

система на данном k-м шаге. В зависимости от S на этом шаге можно применить некоторые управления, которые характеризуются переменной X. Применение управления X на k-м шаге приносит некоторый результат Wk(S,Xk) и переводит систему в некоторое новое состояние S'(S,Xk). Для каждого возможного состояния на k-м шаге среди всех возможных управлений выбирается оптимальное управление X*k такое, чтобы результат, который достигается за шаги с k-го по n-й, оказался оптимальным. Числовая характеристика этого результата называется функцией Беллмана Fk(S) и зависит от номера шага k и состояния системы S.

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

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

В общем виде задача динамического программирования формулируется следующим образом: требуется определить такое управление X*, переводящее систему из начального состояния S0 в конечное состояние Sn, при котором целевая функция F(S0,X*) принимает наибольшее (наименьшее) значение.

Особенности математической модели динамического программирования заключаются в следующем:

  • задача оптимизации формулируется как конечный многошаговый процесс управления;

  • целевая функция является аддитивной и равна сумме целевых функций каждого шага

  • выбор управления Xk на каждом шаге зависит только от состояния системы к этому шагу Sk-1 и не влияет на предшествующие шаги;

Состояние системы Sk после каждого шага управления зависит только от предшествующего состояния системы Sk-1 и этого управляющего воздействия Xk (отсутствие последействия) и может быть записано в виде уравнения состояния:

На каждом шаге управление Xk зависит от конечного числа управляющих переменных, а состояние системы Sk зависит от конечного числа переменных;

Оптимальное управление X* представляет собой вектор, определяемый последовательностью оптимальных пошаговых управлений:

X*=(X*1, X*2, …, X*k, …, X*n),

число которых и определяет количество шагов задачи.

Условная оптимизация. Как уже отмечалось выше, на данном этапе отыскиваются функция Беллмана и оптимальные управления для всех возможных состояний на каждом шаге, начиная с последнего в соответствии с алгоритмом обратной прогонки. На последнем n-м шаге найти оптимальное управление X*n и значение функции Беллмана Fn(S) не сложно, так как

)},

где максимум ищется по всем возможным значениям Xn.

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

. (1)

Этот максимум (или минимум) определяется по всем возможным для k и Sзначениям переменной управления X.

Безусловная оптимизация. После того, как функция Беллмана и соответствующие оптимальные управления найдены для всех шагов с n-го по первый (на первом шаге k=1 состояние системы равно ее начальному состоянию S0), осуществляется второй этап решения задачи. Находится оптимальное управление на первом шаге X1, применение которого приведет систему в состояние S1(S,x1*), зная которое можно, пользуясь результатами условной оптимизации, найти оптимальное управление на втором шаге, и так далее до последнего n-го шага. [11]

2. Линейное программирование

2.1 Задача линейного программирования

Наиболее удобным и распространенным математическим инструментом при моделировании и решении оптимизационных задач является линейное программирование – специальный класс оптимизационных задач, в котором все отношения между переменными выражаются линейными функциями, а переменные принимают действительные значения. Преимущество этого класса в том, что разработаны универсальные алгоритмы для решения таких задач большой̆ размерности. Впервые задача линейного программирования в России была сформулирована в 1939 г. Л. В. Канторовичем, который̆ применил математическую модель этой задачи в экономике и разработал метод решения. В 1975 г. Л. В. Канторович получил Нобелевскую премию за достижения в этой области. В 1947 г. американский учёный Д. Данциг разработал алгоритм решения этой задачи. С этого момента линейное программирование стало важным инструментом в исследовании операций. [5]

Часто из условия задачи следует, что значения некоторых переменных принятия решений принадлежат множеству целых чисел. Например, если переменная отвечает за размер детали, то она может принимать значения толь- ко из заданного множества возможных размеров деталей. Такого рода задачи принадлежат к классу задач целочисленного линейного программирования или смешанного целочисленного линейного программирования. Они отличаются от задач линейного программирования высокой сложностью и особой практической значимостью. Задачам из этих классов в данном пособии уделяется особое внимание. Прежде чем переходить к построению математической модели, необходимо пройти несколько этапов. Данная проблема решается в интересах так называемого лица, принимающего решения (ЛПР). ЛПР формулирует проблему, участвует в построении модели, анализирует полученное решение, а затем принимает или отвергает его. Построение математической модели и решение

задачи лучше доверить специалистам по исследованию операций.

Исследование задачи начинается с появления некоторой проблемы. Большинство оптимизационных задач возникает из практических приложений.

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

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

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

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

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

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

практического внедрения. Может оказаться, что поиск оптимума требует больших вычислительных ресурсов, в то время как приближенное решение не сильно отличается от оптимального или оно устраивает того, кто принимает решение. Кроме того, при моделировании часто возникают труднореализуемые аспекты. Имеется много критериев оптимизации, и понятие оптимального решения является условным. Многовариантные расчеты по сценарию «А что, если…?» позволяют проверить чувствительность решений к изменениям исходных данных, исследовать различные предположения и оценить последствия принимаемых решений.

В большинстве задач выбора имеется много критериев оценки вариантов решения. Критерии могут быть зависимыми или независимыми. Зависимы- ми называют те критерии, при которых оценка альтернативы по одному из них определяет оценку по другому критерию. Количество критериев влияет на сложность задачи принятия решений. При небольшом числе критериев (два- три) задача сравнения по ним может быть выполнена непосредственно. При большом числе критериев задача становится труднообозримой, и тогда необходимо использовать специальные методы решения многокритериальных задач оптимизации. [1]

2.2 Графический метод

Рассмотрим следующую задачу ЛП. Предприятие химической промышленности выпускает соляную и серную кислоту. Выпуск одной тонны соляной кислоты – 25 денежных единиц выпуск одной тонны серной кислоты – 40 денежных единиц. Для выполнения государственного заказа необходимо выпустить не менее 200 т соляной и не менее 100 т серной кислоты. Кроме того, необходимо учитывать, что выпуск кислот связан с образованием опасных отходов. При выпуске одной тонны соляной кислоты образуется 0,5 т опасных отходов, при выпуске одной тонны серной кислоты – 1,2 т опасных отходов. Общее количество опасных отходов не должно превышать 600 т, так как

превышение этого ограничения приведет к выплате предприятием крупного штрафа. Требуется определить, сколько соляной и серной кислоты должно выпустить предприятие, чтобы получить максимальную прибыль.

Составим математическую модель задачи.

1. Пусть x1 – количество соляной кислоты, x2 – количество серной кислоты.

2. Введем целевую функцию – максимальную прибыль от реализации, которая составляет F(x1,x2)=25x1+40x2, и которую необходимо максимизировать.

3. Ограничения.

3.1. Ограничения по опасным отходам. Количество, образованных опасных отходов, равно 0,5x1+ 1,2x2, при этом по условию оно не должно превосходить 600 тонн, т.е.

0,5x1+ 1,2x2 ≤600.

3.2. Ограничение на соляной кислоте и серной кислоте:

x1≤ 200, x2 ≤ 100.

3.3. Условие неотрицательности:

x1 ≥ 0, x2 ≥ 0.

Таким образом, задача заключается в следующем: максимизировать целевую функцию

F(x1,x2) = 25x1+40x2→ max

Решим задачу графическим методом. Решение в ЭТ MS Excel будет иметь следующий вид:

  1. Введем начальные данные, значения х1, а также ограничение в таблицу.

Рисунок 1 – Excel-документ графическое решение задачи линейного программирования

  1. Изобразим полученные значения на графике

Рисунок 2 – Excel-документ графическое решение ЗЛП

  1. Найдем координаты точек А и В, а также значение целевой функции в них.

Рисунок 3 – Excel-документ графическое решение задачи линейного программирования

Рисунок 4 – Excel-документ аналитическое решение задачи линейного программирования

Вывод: Таким образом, оптимальное решение находится в точке А= (960; 100). Это означает, что предприятию следует выпустить 960 т соляной кислоты и 100 т серной кислоты. Прибыль при этом составит 28000 денежных единиц.

Решение в математическом пакете Mathcad будет иметь следующий вид:

Рисунок 5 – Matchad-документ аналитическое решение задачи линейного программирования

Рисунок 6 – Mathcad-документ решения задачи линейного программирования

3. Оптимизационная задача о диете и ее решение в среде ЭТ MS Excel и математического пакета Mathcad

3.1 Понятия и основы пакета MathCad

MathСad — система компьютерной алгебры из класса систем автоматизированного проектирования, ориентированная на подготовку интерактивных документов с вычислениями и визуальным сопровождением, отличается легкостью использования и применения для коллективной работы.

MathСad был задуман и первоначально написан Алленом Раздовым из Массачусетского технологического института (MIT), соучредителем компании Mathsoft, которая с 2006 года является частью корпорации PTC (Parametric Technology Corporation).

MathСad имеет простой и интуитивный для использования интерфейс пользователя. Для ввода формул и данных можно использовать как клавиатуру, так и специальные панели инструментов.

Некоторые из математических возможностей MathСad (версии до 13.1 включительно) основаны на подмножестве системы компьютерной алгебры Maple (MKM, Maple Kernel Mathsoft). Начиная с 14 версии — использует символьное ядро MuPAD. [15]

Работа осуществляется в пределах рабочего листа, на котором уравнения и выражения отображаются графически, в противовес текстовой записи в языках программирования. При создании документов-приложений используется принцип WYSIWYG (What You See Is What You Get — «что видишь, то и получаешь»).

Несмотря на то, что эта программа в основном ориентирована на пользователей-непрограммистов, MathСad также используется в сложных проектах, чтобы визуализировать результаты математического моделирования, путем использования распределённых вычислений и традиционных языков программирования. Также MathCad часто используется в крупных инженерных проектах, где большое значение имеет трассируемость и соответствие стандартам.

MathСad достаточно удобно использовать для обучения, вычислений и инженерных расчетов. Открытая архитектура приложения в сочетании с поддержкой технологий .NET и XML позволяют легко интегрировать MathCad практически в любые ИТ-структуры и инженерные приложения. Есть возможность создания электронных книг (e-Book).

Основные возможности MathCad.

MathСad содержит сотни операторов и встроенных функций для решения различных технических задач. Программа позволяет выполнять численные и символьные вычисления, производить операции с скалярными величинами, векторами и матрицами, автоматически переводить одни единицы измерения в другие.

В соответствии с проблемами реальной жизни, математикам приходится решать одну или несколько из следующих задач:

  • ввод на компьютере разнообразных математических выражений (для дальнейших расчетов или создания документов, презентаций, Web-страниц или электронных книг);

  • проведение математических расчетов (как аналитических, так и при помощи численных методов);

  • подготовка графиков с результатами расчетов;

  • ввод исходных данных и вывод результатов в текстовые файлы или файлы с базами данных в других форматах;

  • подготовка отчетов работы в виде печатных документов;

  • подготовка Web-страниц и публикация результатов в Интернете;

  • получение различной справочной информации из области математики.

Среди возможностей MathСad можно выделить:

  • Решение дифференциальных уравнений, в том числе и численными методами.

  • Построение двумерных и трёхмерных графиков функций (в разных системах координат, контурные, векторные и т. д.).

  • Использование греческого алфавита как в уравнениях, так и в тексте.

  • Выполнение вычислений в символьном режиме.

  • Выполнение операций с векторами и матрицами.

  • Символьное решение систем уравнений.

  • Аппроксимация кривых.

  • Выполнение подпрограмм.

  • Поиск корней многочленов и функций.

  • Проведение статистических расчётов и работа с распределением вероятностей

  • Поиск собственных чисел и векторов.

  • Вычисления с единицами измерения.

  • Интеграция с САПР системами, использование результатов вычислений в качестве управляющих параметров.

С помощью MathСad инженеры могут документировать все вычисления в процессе их проведения.

Вычислительный блок Given/Find

Рассмотрим решение системы n нелинейных уравнений с m неизвестными

Здесь fi(xi, …, хm) =b1, . .., fn(xi, …, хm) =bn– некоторые скалярные выражения, зависящие от скалярных переменных x1,x2, … ,хm и, возможно, от еще каких-либо переменных. Уравнений может быть как больше, так и меньше числа переменных. Заметим, что систему можно формально переписать в виде:

f(x)=b,

где х – вектор, составленный из переменных x1,x2,.. . ,хn, b – вектор, составленный из правых частей уравнений, а f(х) – соответствующая векторная

функция их левых частей. Для решения систем в MathCad применяется специальный вычислительный блок Given/Find (Дано/найти), состоящий из трех частей, идущих последовательно друг за другом:

  • Given ключевое слово;

  • система, записанная логическими операторами в виде равенств и, возможно, неравенств;

  • Find (xi, . .. ,хm) – встроенная функция для решения системы уравнений относительно переменных x1, …, хm.

  • Вставлять логические операторы следует, пользуясь панелью инструментов Boolean (Булевы операторы). Если вы предпочитаете ввод с клавиатуры, помните, что логический знак равенства вводится сочетанием клавиш +. Значение функции Find представляет собой матрицу, составленную из всевозможных решений по каждой переменной, причем количество ее строк в точности равно числу аргументов Find.

Поиск экстремума функции

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

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

Для численного решения задач поиска локального максимума и минимума в Mathcad имеются встроенные функции Minerr, Minimize и Maximize. Принцип их

действия очень близок к принципу расчетов, заложенных во встроенной функции Find, предназначенной для решения алгебраических уравнений. В частности, все встроенные функции минимизации используют те же градиентные численные методы, что и функция Find, поэтому допускается «вручную» выбирать численный алгоритм. Кроме того, как и в случае решения уравнений, применение градиентного алгоритма, во-первых, требует задания некоторого начального приближения к точке минимума и, во-вторых, позволяет отыскать лишь один (т. е. локальный) из минимумов функции.

Таким образом, как и в случае решения уравнений, чтобы найти глобальный максимум (или минимум), требуется сначала просканировать с некоторым шагом рассматриваемую область и вычислить все локальные значения и потом выбрать из них наибольший (наименьший). Другим вариантом будет простое сканирование с вычислением значений функции, позволяющее выделить из нее подобласть наибольших (наименьших) значений функции и осуществить поиск глобального экстремума, уже находясь в его окрестности. Последний путь таит в себе некоторую опасность уйти в зону другого локального экстремума, но часто может быть предпочтительнее из соображений экономии времени. [4]

  1.  
    1. Задача о диете

Диета – специально подобранный по количеству, химическому составу, энергетической ценности (калорийности) и способы кулинарной обработки рацион, а также режим питания. В соответствии с диетой она должна удовлетворить потребности человека в основных питательных веществах (жиры, белки, углеводы), а также в незаменимых компонентах (витамины, микро- и макроэлементы). Они должны поступать в организм человека в оптимальном количестве, которое зависит от множества факторов: возраст, пол, вид работы, состояние здоровья, телесной массы и т.д.

Пусть имеется m видов продуктов P1,P2,…….,Pm, содержащих питательные вещества и незаменимые компоненты B1, B2,…….,Bn. Известны величины aij

количество i питательного вещества в 100 г продукта Pj. Кроме того известны величины bi – ежесуточная минимальная потребность организма в Bi питательном веществе. Также известны величины Sj и ej – стоимость и энергетическая ценность 100 г продукта Pj соответственно.

Оптимизационную задачу о диете можно сформулировать двумя способами.

Первый вариант:

Разработать диету с минимальной стоимостью, которая бы при этом обеспечивала минимальную суточную потребность человека в питательных веществах, при этом посчитать полученную калорийность.

Второй вариант:

Рассчитать диету с заданной калорийностью, обеспечивающую минимальную суточную потребность, после чего найти ее стоимость.

Все данные сведем в следующую таблицу 1.

Таблица 1 – Решение оптимизационной задачи о диете

Минимальные вещества незаменимые компоненты

Минимальная суточная потребность

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

P1

P2

Pm

B1

b1

a11

a12

a1m

B2

b2

a21

a22

 

a2m

   

an1

an2

anm

Стоимость 100г продукта

S1

S2

Sm

Калорийность 100г продукта

e1

e2

em

Для решения сформулированной задачи составим ее математическую модель.

  1.  
    1. Математическая модель задачи

1. Определим неизвестные и их количества: Обозначим xj(j=1,m) – количество (грамм) продукта Pj, вошедшего в диету.

2. Запишем целевую функцию:

3. Ограничения:

Минимальная суточная потребность:

Неотрицательность:

Пределы функции:

Таким образом целевые функции I и II и ограничения образуют задачу о диете.

Постановка задачи. Пусть имеются n видов продуктов Р12,…,Рn, содержащих питательные вещества и незаменимые компоненты В12,…,Вm. В 100 граммах продукта Рj содержится известное aijколичество питательного вещества

или незаменимого компонента Вi. Кроме того, известны: bi – ежесуточная минимальная потребность организма в веществах Вi(i=1,2,…,m), sj и еj – стоимость и энергетическая ценность (в килокалориях) 100 грамм продукта Рj (j=1,2,…,n).

Требуется:

1. Выполнить математическую постановку задачи линейного программирования (ЗЛП);

2. Решить ЗЛП в среде электронных таблиц MS Excel и пакета MathСad.

Таблица 2 − Решение оптимизационной задачи о диете

Питательные вещества, г

Мин. суточная потребность, г

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

Хлеб ржаной

Масло

Творог жирный

Крупа гречневая

Мясо свинное

Колбаса вареная

Яблоки

Морковь

Белки, г

90

6,6

1

14

12,6

14,3

12,1

0,4

1,3

Жиры, г

55

1,2

82,5

18

3,3

33,3

13,5

0,4

0,1

Углеводы, г

330

34,2

0,9

2,9

62,1

0

0

9,8

7,2

Ретинол (вит А)

0,00017

0

0,54

0,2

0,3

0,1

0

0,1

0

Каротин (вит А)

0,0059

0

0,38

0,07

0,01

0

0

0,03

9

В1, мг

0,0013

0,18

0

0,06

0,43

0,4

0,06

0,03

0,06

В2, мг

0,0017

0,08

0,1

0,4

0,2

0,1

0,13

0,02

0,07

РР, мг

0,018

0,67

0,05

0,3

4,19

2,2

0

0,3

1

С,мг

0,08

0

0

0,3

0

0

0

165

5

Стоимость 100 г продукта (руб.)

2,9

21

10

3,8

12

17

8

3,5

Энергетическая ценность 100 г

продукта (Ккал.)

181

748

245

335

485

170

43

34

3.4 Решение с помощью пакета ЭТ MSExcel

Для решения необходимо:

  1. Набрать таблицу математической постановки добавив в нее столбец “фактическое суточное потребление”. В этот столбец записываются формулы левой части ограничения, после того как будет сформирована таблица 2.

Рисунок 7  MS Excel-документ решение оптимизационной задачи о диете

  1. Сформировать вторую таблицу, где перечислены продукты, переменные математической модели и количества каждого продукта, вошедшего в диету.

Рисунок 8  MS Excel-документ решение оптимизационной задачи о диете

  1. Записать целевую функцию I для составления диеты с минимальной потребностью.

Рисунок 9  MS Excel-документ решение оптимизационной задачи о диете

  1. Составить таблицу 3 с ограничением 3.3 с максимальным и минимальным количеством вошедшего продукта.

Рисунок 10  MS Excel-документ решение оптимизационной задачи о диете

Записать калорийность полученной диеты.

Рисунок 11  MS Excel-документ решение оптимизационной задачи о диете

  1. Вызвать надстройку “Поиск решения”. Выполнить необходимые установки.

Рисунок 12  MS Excel-документ решение оптимизационной задачи о диете

Рисунок 13  MS Excel-документ решение оптимизационной задачи о диете

На следующем листе Excel сформулировать задачу разработки диеты с заданной калорийность. Подсчитать цену полученной диеты.

Рисунок 14  MS Excel-документ решение оптимизационной задачи о диете

3.5 Решение с помощью пакета MathСad

Встроенные функции MathСad не позволяют сформулировать оптимизационную задачу с заданной калорийностью, поэтому решается только задача с минимальной стоимостью полученной диеты.

Для решения задачи в среде пакета MathСad:

1. Зададим исходные данные.

2. Присвоим переменным начальные нулевые значения.

3. Определим целевую функцию – суммарную прибыль предприятия.

4. Введем служебное слово Given и, после него, систему ограничений.

5. Найдем оптимальное решение с помощью функции Minimize.

6. Вычислим минимальное значение и энергетическую ценность.

Рисунок 15  MathCad-документ решение оптимизационной задачи о диете

ЗАКЛЮЧЕНИЕ

Данная работа показывает широкие возможности работы с пакетами ЭТ MS Excel и MathCad. Результатом данного исследования является разработка идеального плана диеты, с одной стороны учитывая минимальную стоимость продуктов, с другой – калорийность диеты.

Глядя на результаты двух таблиц Excel, можно увидеть, что итоговые стоимость и калорийность будут различны. Такое же исследование проведено и в пакете MathCad. К сожалению, как уже говорилось ранее, MathCad не может исследовать оптимизационную задачу с заданной калорийностью, поэтому данное условие рассматривают только с одной стороны.

Как видно, результаты таблицы Excel и программы MathCad совпадаю, что говорит о правильном решении поставленной задачи.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Аверьянова С.Ю., Растеряев Н.В. Содержательные задачи линейного программирования и их решение с помощью ЭТ MS EXCEL и пакета MATHCAD: учебное пособие/ Южный федеральный университет. – Ростов-на-Дону: Издательство ЮФУ, 2014. – 132 с.

  2. Акулич И.Л. Математическое программирование в примерах и задачах: Учеб. пособие для студентов эконом. спец. Вузов / И.Л. Акулич. – М.: Высшая школа, 1986. –С.150

  3. Ашманов С.А. Линейное программирование / С.А. Ашманов. – М.: Наука, 1981. – 356с.

  4. Барсов А.С. Что такое линейное программирование / А.С. Барсов. – М.: Государственное издательство физико-математической литературы, 1959. – 105с.

  5. Боборыкин В.А. Математические методы решения транспортных задач / В.А. Бобрыкин.- Л.: СЗПИ, 1986.-С.146

  6. Бородакий Ю.В. Линейное программирование в современных задачах оптимизации / Ю.В. Бородакий. – М.: МИФИ, 2008. – 564с.

  7. Данциг Д. Линейное программирование, его обобщение и применение / Д. Данциг. – М.: Прогресс, 1966. – 450с.

  8. Еремин И.И. Введение в теорию линейного и выпуклого программирования / И.И. Еремин, Н.Н. Астафьев. — М.; Наука, 1976. – 150с.

  9. Карманов В.Г. Математическое программирование / В.Г. Карманов. – М.; Наука, 1986г.-98с.

  10. Киселева Э.В. Математическое программирование (линейное программирование) / Э.В. Киселева, С.И. Соловьева. – Новосибирск: НГАСУ, 2002. – 256с.

  11. Кремер Н.Ш. Исследование операций в экономике/ Н.Ш. Кремер. — М.: Юнити,2000. — 400 с.

  12. Кузнецов Ю.Н. Математическое программирование / Ю.Н. Кузнецов, В.И. Кузубов, А.Б. Волощенко.- М.: Высшая школа, 1980. – 450с.

  13. Моисеев Н.Н. Методы оптимизации / Н.Н. Моисеев, Ю.П. Иванов, Е.М. Столярова. – М.; Наука, 1978г. 187с.

  14. Палий И.А. Линейное программирование. Учебное пособие / И.А. Палий. — М.: Наука, 2008.- 350с.

  15. Руденко А.И. Экономика предприятия/А.И. Руденко, Учебник для экономических вузов.– Минск, 2005. -248с.

  16. Смирнов В.А. Лекции – Линейное программирование с примерами решения задач / В.А. Смирнов. – М.: Наука, 2002. – 500с.

  17. Тарасова Н.В., Организации и планирование производства/ Н.В. Тарасова, Ларионова И.А., Алексахин А.В. Методические указания. М.:МИСиС -2001г. 300с.

  18. Юдин Д.Б. Линейное программирование (теория, методы, приложения) / Д.Б. Юдин, Н.Г. Гольштейн. – М.: Наука, 1969. – 300с.

ХОД УРОКА

  1. Ввод в проблему (10 мин)

Я: Доброе утро!

В настоящее время проблема правильного рационального питания является злободневной для жителей всей планеты.

Много факторов влияет на наше здоровье, одним из основных является питание.

Давайте обратимся к народным поговоркам (прочитать поговорки).

  • Какой смысл Вы видите в этих мудрых словах?

Ответ: питаться, не причиняя вреда здоровью.

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

И тема нашего урока будет напрямую связана с правильным рациональным питанием.

Я: известно, что в теле взрослого человека, массой около 70 кг, содержится примерно 40 кг воды, 15 кг белка, 7 кг жира, 0,7 кг углеводов.

Подсчитано, что в среднем за 70 лет жизни человек выпивает 50 т воды, съедает 2,5 т белка, 2,3 т жира, свыше 10 т углеводов. 

Белки, жиры, углеводы — вот те основные вещества, которые необходимы для жизни и обязательно должны присутствовать в суточном рационе питания.

  • Как мы с вами можем узнать, сколько белков, жиров и углеводов употребили в пищу в течение суток?

Ответ: Необходимо произвести расчеты.

Я: Но делать это вручную или с помощью калькулятора трудоемко и нерационально.

  • Какая программа может помочь нам в этом?

Ответ: ТП Excel

Я: Вот мы и подошли с вами к теме урока. Помогите мне ее сформулировать.

«Расчет суточного рациона питания в MS Excel» 833

Эпиграфом будут слова амер. политика

  • Как вы думаете,   что будет являться целями нашего урока?
  1. Познакомится с алгоритмом решения задач с использованием табличного процессора MS Excel;
  2. Оценить возможность применения табличного процессора в профессиональной деятельности;
  3. Научиться сопоставлять и анализировать результаты вычислений с использованием табличного процессора;
  4. Раскрыть необходимость рационального режима питания, сбалансированного по составу белков, жиров и углеводов.

Я: Существуют физеологические нормы суточной потребности в пещевых веществах и энергии.

Поэтому основной задачей сегодня на уроке для нас будет – расчет суточного рациона питания с учетом физеологических норм.

Для решения основной задачи нашего занятия нам необходимо: 

1.        Составить суточное меню;

2.        Изучить алгоритм расчета энергетической ценности рациона;

3.        Автоматизировать расчет суточного потребления с помощью Excel;

4.        Исследовать полученный результат;

5.        Подобрать суточный набор продуктов, соответствующий норме питания и возрасту.

1 этап: выполняем в группах. Используя предложенный список продуктов, составьте меню на день (включая завтрак, обед и ужин). Заполните таблицу блюдами и продуктами с указанием их массы.

2 этап: Рассмотрим алгоритм расчета энергетической ценности рациона.

Для этого определим, что для нас является исходными данными, что необходимо рассчитывать и что будет результатом.

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

Ответ: на любом покупаемом нами продукте указан его состав. То есть количество белков, жиров и углеводов в 100 грамм продукте нам известно – это исходные данные.

Я: мы можем изменять количество белков, жиров и углеводов, которое содержится в 100 г. продукта? НЕТ!  Это исходные неизменяемые данные.

  • Какие данные еще нам известны? МАССА. Мы можем выбрать любую массу продукта? ДА! Это тоже исходная величина, но изменяемая.
  • Какие данные будут результатом?

Ответ: Энергетическую ценность, масса белков, жиров и углеводов в составленном нами меню. Это результат и эта величина является расчетной.

  • Какие ещё данные в нашей задаче являются расчетными?

Ответ: общее количественно белков, жиров и углеводов и энергетическая ценность всего дневного рациона –  это тоже расчетные величины.

  • Найденные данные будут являться окончательным результатом?

Ответ: Нет. Нам нужно проверить, будут ли полученные данные соответствовать нормам, и если нет, то продолжить поиск верного решения. Это и будет исследованием полученного результата.

3 этап. Мы с вами определились, что справиться с поставленной задачей нам поможет ТП Excel. 840

Я: перед вами подготовленная таблица с исходными данными, в которой указаны продукты и их состав на 100 гр. Указано также, какие величины исходные, изменяемые, а какие расчетные.

В ячейки столбца Е вводится масса продукта, согласно составленного вами меню.

В ячейку F4 необходимо ввести формулу, которую позволит рассчитать массу белка в зависимости от массы продукта, указанного в ячейке E4.

Аналогично рассчитываем содержание жиров и углеводов.

  • Формула обязательно начинается со знака =
  • в формуле указываем адреса ячеек, в которых находятся исходные данные.
  • Как будем заносить формулы в ячейки по каждому столбцу. Писать вручную? Копируем с помощью маркера автозаполнения.

Я: существуют справочные данные. Они указаны в вашем раздаточном материале, и сейчас мы их видим на экране.

Энергетическая ценность 1 гр. белков составляет 17,2 кДж (1калория=4,1868 Дж).

Энергетическая ценность 1 гр. углеводов составляет 17,2 кДж.

Энергетическая ценность 1 гр. жиров составляет 39,1 кДж.

По этим данным энергетическая ценность продукта, записанного в ячейку A4, рассчитывается по формуле:

17,2*(белки + углеводы) +39,1*жиры, т.е.

в ячейку I4 заносится формула     =17,2*(F4+H4) +39,1*G4

Копируем формулы вниз.

В ячейки диапазона F87:I87 записываем формулы для нахождения суммарных величин.

  1. Самостоятельная практическая работа учащихся за компьютером. (20 мин)

Приступаем к выполнению практической части урока. Технология работы расписана в вашем раздаточном материале. Не забываем о правилах ТБ. В ходе выполнения заданий, необходимые данные заносим в лист отчета. На работу 20 мин. По окончании работы возвращаемся на свои места.

  1. Гимнастика для глаз (1 мин.)
  2. Обсуждение и анализ результатов вычислений (5 мин).

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

  1. Защита работ по предложенному плану (5 мин.)  
  2. Подведение итогов (3 мин).

Давайте поведем итог нашему занятию.

  • Реализовали ли знания и навыки решения задач с помощью ЭТ?
  • Какие затруднения и ошибки возникли в ходе работы, как справлялись с трудностями?
  • Остались ли какие-нибудь нерешённые вопросы?
  • Как вы оцениваете возможность применения ЭТ в профессии?

Выводы

  1. Домашнее задание (1 мин.)

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

Like this post? Please share to your friends:
  • Задать функцию в excel для графика
  • Задача на построение графика в excel
  • Задачи excel абсолютные ссылки в excel практическая работа
  • Задать функции с корнем в excel
  • Задача на максимум excel