ПОСТАНОВКА ЗАДАЧИ
Широкое распространение чрезвычайных ситуаций (ЧС), связанных с техногенными и природными факторами (землетрясения, лавины, наводнения, аварии на транспорте и на объектах транспортировки и переработки нефтепродуктов) привело к необходимости решения целого ряда задач по оперативному снабжению населения пострадавших районов, и в первую очередь – продуктами питания. Комплектование аварийного запаса продуктов (АЗП) связано со спецификой ЧС и ориентировано на поддержание жизнедеятельности человека в течение непродолжительного времени (от нескольких дней до 1-2 недель). При этом состав продуктов может отличаться от обычного рациона, обеспечивая лишь частичную компенсацию энергозатрат.
Другими требованиями к АЗП являются требования, связанные с отсутствием стационарных условий хранения продуктов (по температуре и санитарным нормам), а также требования оперативности доставки, в том числе воздушным транспортом.
Необходимость выполнения таких требований при условии ограниченности финансовых ресурсов приводит к необходимости решения поисковых и оптимизационных задач при практической организации снабжения.
Рассмотрим задачу комплектования АЗП как классическую задачу о рационе [1].
Пусть имеется n различных продуктов П1, П2…. Пn. Обозначим через хi суточное потребление i-го продукта. Дневной рацион, таким образом, может быть представлен системой чисел Х=(х1, х2….хn).
С каждым рационом связывается соответствующее ему количество питательных веществ и микроэлементов – белков, жиров, углеводов, железа, кальция, витаминов. Пусть величина аij характеризует содержание j-го питательного вещества в единице i-го продукта. Тогда общее содержание j-го питательного вещества в принятом рационе определяется следующим образом:
a1jx1 + a2jx2 + … + anjxn
j=1,2,….,m; m – общее число требуемых питательных веществ.
Обозначим минимальную ежесуточную потребность организма в j-м питательном веществе через bj. Это означает, что рацион должен удовлетворять ограничениям
a1jx1 + a2jx2 + … + anjxn ³ bj (1)
(j=1,2,…..,m).
С другой стороны, суточное потребление каждого продукта ограничено запасами, а также возможностями и сроками их пополнения. Отсюда дополнительные условия на компоненты рациона
0£хi£ai (2)
(i=1,2,….,n),
где величины ai определяются наличными ресурсами продуктов Пi и временем, на которое они рассчитаны.
Если ci – стоимость единицы i-го продукта, то стоимость всего рациона определяется линейной формой
L=c1x1 + c2x2+ …+cnxn (3)
Оптимальным рационом следует признать такую систему ежесуточного потребления продуктов Х={x1, x2,…,xn}, которая обращает в минимум L при соблюдении условий (1) и (2).
В ряде практических задач на составление рациона необходимо учитывать ограничения сверху на потребление некоторых питательных веществ, т.е. вместо условия (1) следует рассматривать ограничения вида
_
bi³ a1jx1+a2jx2 +….+anjxn ³bj
(j=1,2,…..,m).
После определения оптимального ежесуточного рациона требуется скомплектовать необходимое количество АЗП для поддержания жизнедеятельности определенного контингента пострадавших в течение ограниченного времени (как правило, от нескольких дней до 1 - 2 недель). Эта задача должна решаться с учетом характера и ассортимента упаковки каждого отдельного продукта питания. Это существенно усложняет задачу, поскольку налагает требование целочисленности.
Однако во многих практических случаях, когда в решении присутствует большое количество мелкой упаковки, требованием целочисленности можно пренебречь, округляя полученное решение в большую сторону.
Результатом разработки проекта снабжения продовольствием должен быть отчет-обоснование, включающий основные показатели полученного решения и мероприятия по их реализации.
Подбор исходных данных
Поиск данных для разработанной модели расчета представляет самостоятельную задачу, решение которой наиболее целесообразно провести с использованием современных информационных технологий.
Возможными источниками необходимых данных могут быть:
-традиционные справочники и прейскуранты,
-компьютерные базы данных и прайсы фирм на современных носителях,
-данные, получаемые через INTERNET.
Первые два источника пока еще широко используются в практике, но гораздо эффективнее получать данные через INTERNET. Это связано прежде всего с актуальностью информации, которая в значительной степени определяется сроками старения и обновления данных.
Основные методы поиска информации в INTERNET изложены в [2,4], там же приведены некоторые WEB-ресурсы, которые могут оказаться полезными при решении задач данного типа.
Следует обратить внимание на то, что в большинстве обнаруженных информационных материалов необходимые данные традиционно приводятся в виде "количество/100 г продукта". Эту размерность целесообразно соблюдать и при выполнении других этапов курсовой работы.
Кроме того, для более глубокого изучения методов поиска желательно ознакомиться с [2].
Поиск оптимального решения
Оптимизацию аварийного запаса продуктов для снабжения населения в районах чрезвычайной ситуации, используя возможности программы Microsoft Excel и Internet Explorer можно провести в несколько этапов.
Формулировку задания рассмотрим на типичном примере.
1. Создайте таблицу основных продуктов питания, входящих в аварийный набор.
Выполнение курсовой работы следует начинать с поиска исходных данных. Информация о продуктах питания и их свойствах присутствует в специальных справочниках, доступ которым легко получить в INTERNET.
Ниже приведен характерный набор продуктов и их основных показателей.
Продукты | Количество усваиваемых веществ в гг на 100 г продукта | Калорийность ккал/100 грамм | Цена руб/100г | ||
Белки, грамм | Жиры, грамм | Углеводы, грамм | |||
1.Тушеная свинина | 13,40 | 27,80 | 0,40 | 315,00 | 4,00 |
2.Молоко сгущеное | 7,10 | 8,60 | 54,90 | 334,00 | 2,00 |
3.Молоко сухое | 27,10 | 24,60 | 25,80 | 480,00 | 3,00 |
4.Сухари | 10,50 | 1,20 | 68,50 | 335,00 | 1,50 |
5.Макароны | 9,60 | 0,80 | 71,20 | 338,00 | 1,60 |
6.Масло топленое | - | 94,10 | - | 875,00 | 5,00 |
7.Яичный порошок | 49,90 | 34,20 | - | 523,00 | 8,00 |
2. По полученным данным построить диаграммы пищевой ценности и калорийности основных продуктов.
3. Формализовать задачу оптимизации суточного запаса как задачу линейного программирования:
ü стоимость набора: С ®min
ü калорийность: К³ Р1, ккал
ü кол-во белков: В:³ Р2, грамм
ü вес набора: Н = Р3, грамм/100
где: Р1 = 1900 (ккал), Р2 = 25 (грамм), Р3 = 3 (грамм/100).
4. Используя инструмент «Поиск решения» (пункт меню «Сервис»), решить задачу оптимизации и построить диаграмму полученного решения.
5. На основе рассчитанного оптимального запаса рассчитать 10-дневный запас для 2000 человек в единицах упаковки, исходя из следующих данных:
1 банка тушенки | 378 грамм |
1 банка сгущенного молока | 400 грамм |
1 пачка сухого молока | 500 грамм |
1 пачка сухарей | 250 грамм |
1 пачка макарон | 500 грамм |
1 банка масла | 400 грамм |
1 упаковка банка яичного порошка | 200 грамм |
6. Создайте соответствующую таблицу, результат оформить в виде отчета.
Решение:
После того, как все данные были занесены в таблицу EXCEL (задание1) основных продуктов питания, используя пункт меню «Вставка – Диаграмма», выбрав тип желаемой диаграммы (в этом поможет кнопка Просмотр Результатов, которая находится под списком предлагаемых типов диаграмм), и выделив диапазон соответствующих значений были построены диаграммы пищевой ценности и калорийности (задание 2):
Формализация задачи линейного программирования (задание 3):
Введем семь переменных Р1, Р2, Р3, …Р7. Так как решается задача оптимизации стоимости, целевая функция цены набора продуктов стремится к минимальному значению при заданных ограничениях по калорийности (набор должен содержать как минимум 1900 калорий), в нем должен присутствовать белок (в количестве не менее 25 граммов), а вес набора должен быть равен 300 грамм.
Решение задачи линейного программирования (задание 4):
Для наглядности результатов вводимых в отчете решения, было рекомендовано присвоить каждой ячейке, содержащей переменную Рi,целевую функцию и ограничения соответствующие имена. Таким образом, через пункт меню «Вставка – Имя» - Присвоить ячейкам содержащим переменные, были присвоены соответствующие названия продуктов набора. Ячейке, содержащей целевую функцию, было присвоено имя «Цена_набора». Ячейке, содержащей ограничение по количеству белка, было присвоено имя «Белки_в_наборе». Ячейке, содержащей ограничение по калорийности набора, было присвоено имя «Калорийность набора», а, ячейке, содержащей ограничение по весу набора – имя «Вес». Далее в ячейке с именем Цена_набора, вводится критерий оптимальности (левая часть формулы целевой функции), где переменными выступают имена соответствующих ячеек. Аналогично вводятся левые части ограничений в ячейках с именами «Калорийность_набора», «Белки_в_наборе», «Вес».
При вызове инструмента «Поиск Решения» пункта меню Сервис на экран выводится таблица, где следует установить целевую ячейку и отметить решение задачи на минимум. В пункте Изменяя ячейки следует сослаться на диапазон переменных, и, нажав на кнопке Добавить сослаться на каждое ограничение и задать для каждого ограничения операцию сравнения и правую часть, и наложить ограничение на не отрицательность переменных. Задача оптимизации полностью подготовлена. Нажать кнопку Выполнить.
Появляется диалоговое окно «Результаты поиска решения»
В нем читаем сообщение «Решение найдено. Все ограничения и условия оптимальности выполнены.» Предлагается «Сохранить найденное решение» или «Восстановить исходные значения». Выбираем первое. Далее выводим отчеты по результатам, по устойчивости, по пределам.
Отчет по результатам:
Отчет представлен на отдельном листе рабочей книги и имеет следующий вид:
Отчет по результатам состоит из целевой ячейки и списка влияющих ячеек модели, их исходных и конечных значений, а также формул ограничений и дополнительных сведениях о наложенных ограничениях.
Отчет по устойчивости:
Полученный отчет по устойчивости представлен на отдельном листе рабочей книги и имеет вид:
Отчет по устойчивости содержит сведения о чувствительности решения к малым изменениям в формуле (поле «Установить целевую ячейку», диалогового окна «Поиск решения) или в формулах ограничений. Такой отчет не создается для моделей, значения в которых ограничены множеством целых чисел. В случае нелинейной модели отчет содержит данные для градиентов и множителей Лагранжа. В отчет по нелинейным моделям включаются ограниченные затраты, фиктивные цены, объективный коэффициент (с некоторым допуском), а также диапазон ограничений справа.
Отчет по пределам:
Полученный отчет по пределам представлен на отдельном листе рабочей книги и имеет вид:
Отчет состоит из целевой ячейки и списка влияющих ячеек модели, их значений, а также нижних и верхних границ. Такой отчет не создается для моделей, значения в которых ограничены множеством целых чисел. Нижним пределом является значение, которое может содержать влияющая ячейка, в то время как значения остальных влияющих ячеек фиксированы и удовлетворяют наложенным ограничениям. Следовательно, верхним пределом называется наибольшее значение.
При анализе отчетов становится очевидным, что в набор с такими ограничениями вошли всего три продукта, а именно: сухое молоко, сухари и топленое масло. По полученным результатам построим диаграмму.
Диаграмма полученного решения:
Для расчета суточного оптимального запаса, исходя из полученного оптимального решения, на 10дней для 2000 человек в единицах упаковки (задание 5), используем таблицу:
Где количество упаковок, например, сухого молока рассчитывается по формуле:
G2=СУММ(B2*100*E2*F2)/C2
Вес в килограммах определяется по формуле:
H2=СУММ(G2*C2)/100
Цена есть:
I2=СУММ(H2*D2*10)
Остальные значения таблицы рассчитываются аналогично.
Если ставить целью расчет оптимального запаса, исходя из того, что каждый продукт должен войти в набор, то нужно лишь поменять условие не отрицательности изменяемых переменных, но цена в этом случае будет больше, чем в наборе из трех выше перечисленных продуктов.
Например, добавив к уже заданным ограничениям калорийности, общего веса набора и количества белков ограничения на вес каждого из продуктов, получим новое оптимальное решение для набора из всех семи предложенных продуктов питания. Пусть условие задачи теперь выглядит следующим образом:
Стоимость набора: С®min
Калорийность: К ³ Р1, ккал
Кол-во белков: В ³ Р2, грамм
Вес набора: Н = Р3, грамм/100
Где:
Р1 = 1900 (ккал)
Р2 = 25 (грамм)
Р3 = 3 (грамм/100)
P1>=0,3
P2>=0,04
P3>=0,05
P4>=0,05
P5>=0,06
P6>=0,001
P7>=0,02
Проведя расчеты в программе Excel, аналогично первой задаче, были получены следующие результаты:
Отчет по устойчивости, полученный в качестве альтернативного решения задачи:
Отчет по пределам, полученный в результате альтернативного решения:
Построим диаграмму альтернативного решения задачи, в которую вошел весь набор продуктов:
Исходя из вновь полученных результатов, возможно рассчитать 10-дневный запас для 2000 человек так, чтобы в набор вошли все предлагаемые продукты.
Продукт | Количество упаковок | Вес в кг | Цена |
Тушенка | |||
Сгущеное молоко | |||
Сухое молоко | 29276,67 | ||
Сухари | 16853,44 | ||
Макароны | |||
Масло топленое | 153027,4 | ||
Яичный порошок |
Зачетные задания
1. Создать таблицу основных продуктов питания Si C S, где i – номер варианта, взяв данные из сетевых ресурсов INTERNET
Продукты | Количество усваиваемых веществ в г на 100 г продукта | Калорийность, Ккал | Цена, руб | Упаковка, г | ||
Белки, г | Жиры, г | Углеводы, г | ||||
1. Тушенка свин. | ||||||
2. Тушенка гов. | ||||||
3. Тушенка бар. | ||||||
4. Мясо сушеное | ||||||
5. Молоко сг. с сах. | ||||||
6. Сливки сг. с сах. | ||||||
7. Молоко сухое | ||||||
8. Сливки сухие | ||||||
9. Сухари пшен. | ||||||
10. Сухари ржан. | ||||||
11. Галеты | ||||||
12. Печенье | ||||||
13. Макароны | ||||||
14. Рис | ||||||
15. Крупа овсян. | ||||||
16. Мюсли | ||||||
17. Масло сливочное | ||||||
18. Масло топл. | ||||||
19. Масло раст. | ||||||
20. Яичный порошок |
2. Построить диаграммы пищевой ценности и калорийности выбранных основных продуктов.
3. Формализовать задачу оптимизации суточного запаса как задачу линейного программирования
Стоимость набора продуктов ®min
Калорийность ³ Р1, Ккал
Кол-во белков ³ Р2, г
Вес = Р3, г/100
4. Используя инструмент Поиск Решения (пункт меню «Сервис») решить задачу оптимизации.
Построить диаграмму полученного решения.
5. На основе рассчитанного суточного оптимального запаса рассчитать Q1 – дневный запас для Q2 человек в единицах упаковки.
В процессе решения задачи оптимизации оценить чувствительность и устойчивость полученных результатов, а также сформулировать (в случае необходимости) предложения по корректировке параметров S.
Результаты оформить в виде отчета.
Варианты заданий
S (набор продуктов) | Р1, ккал | Р2, г | Р3, г/100 | Q1, дней | Q2, чел. | |
1, 5, 9,13,17 | ||||||
2, 6, 10, 14, 18 | 3,5 | |||||
3, 7, 11, 15, 19 | ||||||
4, 8, 12, 16, 20 | ||||||
1, 7, 11, 15, 19 | ||||||
2,7,10,14,17 | ||||||
2,8,12,16,18 | ||||||
4,7,11,14,17 | ||||||
3,7,10,14,18 | ||||||
1,5,11,15,20 | ||||||
2,5,10,15,18 | ||||||
3,7,12,14,17 | ||||||
4,7,10,15,17 | ||||||
4,5,10,16,20 | 3,5 | |||||
2,6,11,15,18 | ||||||
2,5,10,15,17 | ||||||
2,6,9,14,18 | 3,5 | |||||
3,5,11,15,18 | ||||||
3,8,10,14,20 | ||||||
3,7,11,15,19 | ||||||
2,6,9,14,17 | ||||||
4,5,10,15,18 | ||||||
4,7,11,15,17 | ||||||
1,5,9,17,18 | 3,5 | |||||
1,7,10,15,20 |
Список литературы
1.Общий курс высшей математики для экономистов. - под ред. В.И.Ермакова.- М.: Инфра-М, 1999.
2.Крейнак Д.,Хебрейкен Д. Энциклопедия INTERNET. - С. -Пб., изд. ПИТЕР, 1999.
3.Методические указания к решению экономических оптимизационных задач в EXCEL./Сост.: С.М.Гачечиладзе, А.В.Пахомов, М.Г.Cтепанова.- М.:Изд-во Рос. экон. акад., 2000.
4.Методические указания к выполнению практикума по программе Microsoft Internet Explorer /Сост.: А.К.Волков, А.Ф.Щелоков,Э.Б.Гусев.-М.:Изд-во Рос.экон.акад., 2001.