Решение задач на 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).

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

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

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

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

Надстройки
и в появившемся меню Надстройки
поставить флажок Поиск
решения
.

Задача.

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

Подсчитано,
что в 1кг
каждого продукта содержится:

  • в продукте M – 150
    ккалорий и 14 единиц жира;

  • в продукте N – 200
    ккалорий и 4 единицы жира.

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

2,3руб.

Экономико-математическая
постановка задачи
:

  • x1 – количество
    продукта М в рационе;

  • x2 – количество
    продукта N в рационе.

  • Ограничение по
    количеству ккалорий: 150×1 + 200×2 >= 200.

  • Ограничение по
    количеству жира: 14×1 + 4×2 <= 14.

  • Неотрицательность
    переменных: x1 >= 0; x2 >= 0.

  • Целевая
    функция – минимум стоимости рациона:
    1,5×1 + 2,3×2
    >min.

Пример
ввода исходных данных в ячейки Excel
приведен на рисунке 312

Рисунок
312

Итак,
в ячейки А2
и А3
вводим начальные значения x1
и x2
– нули.

В
ячейки А4
и А5
вводим левые части ограничений
(первоначально получатся нули), в ячейки
В4
и В5
— правые части соответствующих ограничений.

В
ячейку А6
вводим целевую функцию.

Ввод исходных
данных завершен.

Решение
задачи
.

Последовательностью
команд меню Сервис
Поиск
решения
вызываем инструмент «Поиск
решения
»
рисунок
313.

Рисунок
313

Итак,
Устанавливаем
целевую ячейку

— $A$6 Равной
минимальному

значению
в поле Изменяя
ячейки

— $A$2:$A$3 с использованием кнопки Добавить
последовательно добавляем три исходных
ограничения. Нажимаем кнопку Выполнить.

Интерпретация
результатов.

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

Рисунок
314

При
кормлении 0,909кг
продукта М
и 0,318кг
продукта N
потребности животного в питании будут
удовлетворены, при этом стоимость
рациона будет минимальной и составит
2,10руб.

Задача
решена
.

Контрольные задания Обработка числовой информации.Задачи без использования функций

Замечание.
При решении задач данного раздела
функции КОРЕНЬ,
СТЕПЕНЬ
и другие не использовать.

1.
В ячейку В1
введите число 1, а в ячейку В2
формулу =–В1^2.
Проанализируйте полученный результат.
Соответствует ли он результатам расчета
значения x2
при
х
= 1
по правилам алгебры? Почему? Как получить
правильный результат?

2.
Оформить лист для расчета площади
квадрата по известной длине его стороны
рисунок
315:

Рисунок
315

3.
Оформить лист для определения длины
окружности по известному радиусу (C
= 2πR)
Решение оформить в виде, представленном
на (рис. 1).

4.
Оформить лист для расчета площади круга
по известному диаметру (К
=).
Решение оформить в виде, представленном
на (рис. 1).

5.
Оформить лист для определения объема
куба по известному ребру (x
= аbс).
Решение оформить в виде, представленном
на (рис. 1).

6.
Оформить лист для определения объема
шара по известному радиусу (1/6πD3).
Решение оформить в виде, представленном
на (рис. 1).

7.
Подготовить лист для расчета:

а)
значения функции у
= 7х2
– 3х
+ 6
при данном значении х;

б)
значения функции x
= 12а2
+ l6
при
данном значении а.

Решение
оформить в виде, представленном на
рисунке
316.

Рисунок
316

8.
Немецкий физик Д.Г. Фаренгейт в 1724г.
предложил шкалу температур, отличающуюся
от шкалы температур Цельсия, которая
принята у нас в стране. Перевод температуры
по шкале Фаренгейта в температуру по
шкале Цельсия и обратно осуществляется
по формулам:

где
Тф
— температура по шкале Фаренгейта.
Подготовить лист для определения
температуры по шкале Цельсия при заданной
температуре по шкале Фаренгейта и
наоборот.

9.
Дано ребро куба. Найти объем куба и
площадь его боковой поверхности. Решение
оформить в виде, показанном на рисунке
317.

Рисунок
317

10.
Дан радиус окружности. Оформить лист
для определения длины этой окружности
(C
= 2πR)
и площади ограниченного ею круга (К
=).

11.
Оформить лист для расчета среднего
арифметического двух заданных целых
чисел ().

12.
Оформить лист для определения площади
треугольника по известным размерам его
основания и высоты ().

13.
Подготовить лист для определения площади
кольца по заданным внешнему и внутреннему
радиусам (K
=).

14.
Даны катеты прямоугольного треугольника.
Оформить лист для определения его
гипотенузы ().

15.
Оформить лист для расчета среднего
геометрического двух заданных целых
чисел.

16.
Оформить лист рисунок
318 для нахождения корня линейного
уравнения ах
+ b
= 0
(а0)
().
Проверка 2(–3,5)
+ 7 = 0.

Рисунок
318

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

17.
Оформить лист рисунок
319 для расчета значения функции z
= х3
– 2,5ху
+ 1,78х2
– 2,5у
+ 1
при любых значениях х
и
у.

Переменные

x

y

Значения

Значения функции
z

Рисунок
319

18.
Оформить лист рисунок
320 для определения значения функции х
=
3,56(a
+ b)3
– 5,8b2
+ 3,8а

1,5 при любых значениях а
и
b.

Переменные

a

b

Значения

Значения функции
x

Рисунок
320

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

20.
В ячейке В2
рисунок
321 будет записано количество информации
в байтах. Получить в ячейках В3:В5
количество информации в единицах
измерения, указанных в соответствующих
ячейках столбца А.
1 – байт (8 бит), 1 – килобайт (1.024 бит), 1 –
мегабайт (1.048.576 бит).

Рисунок
321

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

называется
отношение разности ординат концов
отрезка к разности их абсцисс
.
Оформить таблицу в виде рисунок
322.

Координаты точек

x

y

Координата точки
1

Координата точки
2

Угловой коэффициент
равен:

Рисунок
322

22.
Подготовить лист для расчета n-го
члена арифметической прогрессии по
известным значениям первого члена
прогрессии, ее разности и номера n.
().Оформить
лист согласно рисунку
323.

a1 первый
член ряда

d разность

n номер
члена ряда который нужно узнать

Значение
n-го члена ряда:

Рисунок
323

23.
Подготовить лист рисунок
324 для расчета kго
члена
геометрической прогрессии по известным
значениям первого члена прогрессии, ее
знаменателя и номера k.
().

a1 первый
член ряда

q знаменатель
прогрессии

n номер
члена ряда который нужно узнать

Значение
n-го члена ряда:

Рисунок
324

24.
Информация о распределении суши и воды
на земном шаре приведена в таблице
рисунок
325:

Рисунок
325

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

25.
На листе рисунок
326 приведены данные о странах, входящих
в объединение Бенилюкс:

Рисунок
326

В
ячейке Е6
указана средняя плотность населения
по объединению в целом. Заполнить пустые
клетки таблицы.

26.
Оформить лист для расчета периметра
прямоугольного треугольника по известным
катетам.

27.
Известна площадь квадрата. Оформить
лист для расчета его диагонали ().

28.
Даны стороны треугольника. Оформить
лист рисунок
327 для определения его площади.

Дано

a

b

c

Полупериметр равен

Площадь равна

Рисунок
327

29.
Подготовить лист рисунок
328 для расчета возраста Москвы в каждом
из годов с 1990-го по 2002-й, если известно,
что год основания города Москвы —
1147-й.

Рисунок
328

30.
Получить на листе последовательность
чисел 1, –2, 3, –4, 5,…, –16 рисунок
329.

Рисунок
329

Вручную
значения вводить только в ячейки А1
и А2,
в остальных ячейках получить их по
формулам, введенным в две ячейки, которые
затем скопировать на другие ячейки;

31.
После решения предыдущей задачи получить
в столбце B
значения, представленные на рисунке
330.

A

B

1

-2

-1

3

1

-4

-1

5

1

-16

1

Рисунок
330

32.
Подготовить таблицу рисунок
331 соответствия между весом в фунтах и
весом в килограммах для значений 1,
2,…, 40 фунтов (1 фунт = 453г).

Фунты

1

2

3

4

5

6

7

8

9

10

20

30

40

кгр.

Рисунок
331

33.
Подготовить таблицу рисунок
332 перевода расстояний в дюймах в
сантиметры для значений 10, 11,…, 60 дюймов
(1 дюйм = 25,4мм).

Дюймы

10

20

30

40

50

60

См.

Рисунок
332

34.
Последовательность Фибоначчи образуется
так: первое и второе число последовательности
равны 1, каждое следующее равно сумме
двух предыдущих (1, 1, 2, 3, 5, 8, 13,…). Оформить
лист для нахождения 233-го числа в
последовательности Фибоначчи.

35.
Треугольник Паскаля рисунок
333 устроен так: по левой и правой сторонам
расставляются единицы, остальные
элементы вычисляются как сумма “соседей
сверху”: 4 = 3 + 1, 6 = 3 + 3.

Рисунок
333

Получить
треугольник Паскаля на листе в двух
вариантах рисунки
334 и 335:

Рисунок
334

Рисунок
335

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

36.
Одноклеточная
амеба каждые 3 часа делится на 2 клетки.
Подготовить лист для определения
количества клеток через 3, 6, 9,…, 24 часа,
если первоначально была одна амеба.

37.
Оформить лист для вычисления цепных
дробей рисунок
336 в виде показанном на рисунке 337

Рисунок
336

1/(10+1/(9+1/(8+1/(7+1/(6+1/(5+1/(4+1/(3+1/(2+1/1)))))))))
= 0,098916.

1

1

1

1

1

1

1

1

1

1

10

9

8

7

6

5

4

3

2

1

0,098916

Рисунок
337

38.
Получить на листе матрицу рисунок
336 вводом одного числа, двух формул и
копированием формул:

Рисунок
338

Решаем задачу оптимизации кормового рациона средствами Excel
Автор — Галанина Ольга, к.э.н.

Сайт — http://zooinformatika.narod.ru — Зооинформатика.

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

Рассмотрим решение простейшей задачи оптимизации кормового рациона средствами Excel.

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

Если в меню Сервис отсутствует пункт «Поиск решения», посмотрите, может, он не актуализирован. Для этого в меню Сервис — Надстройки устанавливаем флажок на Поиск решения (если есть).

Если же и в Надстройках отсутствует Поиск решения, то этот компонент придется установить дополнительно(.

Итак, Задача.

На ферме в качестве корма для животных используются два продукта — M и N.

Сбалансированное питание предполагает, что каждое животное должно получать в день
не менее 200 ккалорий,
причем потребляемое при этом количество жира не должно
превышать 14 единиц.

Подсчитано, что в 1 кг каждого продукта содержится:

  • в продукте M — 150 ккалорий и 14 единиц жира;
  • в продукте N — 200 ккалорий и 4 единицы жира.

Разработать максимально дешевый рацион откорма животных, отвечающий этим условиям,
если стоимость 1 кг продукта М составляет 1,5 руб, а 1 кг продукта N — 2,3 руб.

Экономико-математическая постановка задачи:

x1 — количество продукта М в рационе;

x2 — количество продукта N в рационе.

  • Ограничение по количеству ккалорий:

    150x1+200x2>=200
  • Ограничение по количеству жира:

    14x1+4x2<=14
  • Неотрицательность переменных:

    x1>=0; x2>=0

Целевая функция — минимум стоимости рациона:

1,5x1+2,3x2->min

Ввод исходных данных в ячейки Excel:

Ввод исходных формул в ячейки Excel

Итак, в ячейки А2 и А3 вводим начальные значения x1 и x2 — нули.

В ячейки А4 и А5 вводим левые части ограничений (первоначально получатся нули),
в ячейки В4 и В5 — правые части соответствующих ограничений.

В ячейку А6 вводим целевую функцию.

Ввод исходных данных завершен.

Решение задачи.

Последовательностью команд меню СервисПоиск решения вызываем инструмент «Поиск решения».

Инструмент "Поиск решения"

Итак, с использованием красной стрелки (переход на рабочий лист)

Устанавливаем целевую ячейку — $A$6

Равной минимальному значению

Изменяя ячейки — $A$2:$A$3

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

Нажимаем кнопку Выполнить.

Интерпретация результатов.

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

Результат решения задачи оптимизации кормового рациона

При кормлении

  • 0,909 кг продукта М и
  • 0,318 кг продукта N

потребности животного в питании будут удовлетворены,
при этом стоимость рациона будет минимальной и составит 2,10 руб.

Задача решена.

Hosted by uCoz

ХОД УРОКА

  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 мин.)

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


Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате 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с.

Понравилась статья? Поделить с друзьями:
  • Решение задач методом поиск решения в excel
  • Решение задач математической статистики в excel
  • Решение задач линейной алгебры с помощью пакета ms excel реферат
  • Решение задач линейного программирования в табличном редакторе microsoft excel
  • Решение задач линейного программирования в excel презентация