Прикладная теория систем массового обслуживания
Математическое описание имитационной модели. Описание блок-схемы алгоритма. Анализ полученных результатов имитационного моделирования. Сопоставление полученных результатов для разработанных моделей. Математическое описание аналитического моделирования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.03.2015 |
Размер файла | 306,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
КУРСОВАЯ РАБОТА
Прикладная теория систем массового обслуживания
Содержание
Введение
1. Техническое задание
2. Описание системы
3. Разработка имитационной модели
3.1 Математическое описание имитационной модели
3.2 Описание блок-схемы алгоритма
3.3 Анализ полученных результатов имитационного моделирования
4. Разработка аналитической модели
4.1 Математическое описание аналитической модели
4.2 Расчет параметров СМО
4.3 Анализ полученных результатов аналитического моделирования
5. Сопоставление полученных результатов для разработанных моделей
Заключение
Список используемой литературы
Приложения
Введение
Теория систем массового обслуживания является одной из наиболее развивающейся ветвей теории вероятностей, т.е. опирается на ее аппарат, но является самостоятельной наукой. Трудно даже перечислить все области практики, где находят применение методы теории системы массового обслуживания (СМО). Область применения математических методов теории СМО непрерывно расширяется и выходит за пределы задач, связанных на прямую с «обслуживающими организациями» в буквальном смысле слова. Многие задачи автоматизации производства оказываются близкими к теории массового обслуживания: потоки деталей, поступающих для выполнения над ними различных операций, могут рассматриваться как потоки заявок, ритмичность поступления которых нарушается за счет случайных причин.
Проблемы, родственные задачам массового обслуживания постоянно возникают в военном деле. Каналы наведения, линии связи, аэродромы, устройства сбора и обработки информации представляют собой своеобразные СМО. Системы массового обслуживания настолько велики и разнообразны, что описать их все не представляется возможным.
В данной работе рассматривается работа системы противовоздушной обороны с точки зрения теории массового обслуживания.
Целью моделирования - аналитического и имитационного - является прогноз производительности системы путем оценки характеристики использования ресурсов. Моделирование представляет исследуемый объект как систему массового обслуживания, узлами которой служат противовоздушные установки и навигационное оборудование, а заявками - самолеты противника. Модели приближенно отражают структуру и алгоритм функционирования объекта. Во многих случаях теория СМО обеспечивает подходящий компромисс между требованиями к точности модели, сложностью получения численных результатов и возможностью их интерпретации.
1. Техническое задание
Ознакомиться и промоделировать работу системы ПРО с отказами и частичной взаимопомощью между каналами со следующими характеристиками:
· Дисциплина обслуживания |
система с отказами и частичной взаимопомощью |
||
· Скорострельность каждой пусковой установки (выстрелов в минуту) |
|||
· Вероятность поражения цели одной ракетой |
|||
· Количество пусковых установок в одном канале обслуживания |
|||
· Количество взаимно помогающих каналов |
|||
· Зона обстрела |
|||
· Скорость движения самолетов противника |
|||
· Среднее расстояние между самолетами |
|||
· Количество каналов обслуживания |
Расчетные характеристики:
- |
среднее число занятых каналов; |
||
- |
вероятность обслуживания заявки; |
||
- |
вероятность занятости отдельного канала; |
Создать аналитическую и имитационную модель СМО и проверить их адекватность.
2. Описание системы
Рассмотрим работу -канальной системы ПРО на вход которой поступают самолеты противника. Самолеты, пролетающие в пределах полосы налета, могут быть обстреляны любым из n каналов данной системы ПРО [1]. имитационный модель алгоритм аналитический
Ширина полосы налета определяется возможностями обстрела всеми n каналами любой цели в пределах полосы налета. Предполагается, что если самолет летит вне пределов полосы налета (слева или справа), тот эти самолеты не могут быть обстреляны ни одним из n каналов данной системы ПРО.
Глубина зоны обстрела определяется рубежом перехвата и рубежом прекращения огня, которые являются одинаковыми для всех n каналов. Если обозначить через среднюю дальность перехвата и через - среднюю дальность прекращения стрельбы, то можно записать следующее приближенное выражение для глубины зоны обстрела :
. (2.1)
Необходимо отметить, что характеристики зоны обстрела a и b зависят также от скорости налетающих самолетов , высоты их полета и т.п.
При анализе системы ПРО в качестве канала обслуживания рассматривается канал наведения. Так как в рассмотрении имеется система ПРО с частичной «взаимопомощью» между каналами, то предполагается, что несколько каналов могут обстреливать одну цель [1].
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Рис. 2.1 -канальная система ПРО
Основный характеристикой системы ПРО является эффективная скорострельность одного канала (). Станция наведения (канал обслуживания) обеспечивается 2 пусковыми установками (), а каждая пусковая установка производит 0,75 выстрелов в минуту (). Тогда эффективная скорострельность одного канала определится так [1]:
, (2.2)
где - средняя вероятность поражения цели выпущенной по ней од ракетой; т.е.
При рассмотрении работы системы ПРО существенным является вопрос о получении информации о результатах стрельбы. Здесь возможны различные случаи.
Самым простым является случай, когда канал обслуживания обстреливает цель в течение времени после чего обстрел цели прекращается независимо от того, поражена цель или нет. Считая, что каждый из каналов производит пуассоновский поток эффективных (успешных) выстрелов с параметром , можно приближенно вычислить вероятность поражения цели одним каналом по формуле
. (2.3)
Если считать, что каждый канал производит регулярный поток выстрелов с параметром , то вероятность поражения цели одним таким каналом можно приближенно вычислить по формуле [1]:
. (2.4)
Если цель обстреливалась одновременно каналами и каждый из них поражает цель независимо от других, тут вероятность поражения цели будет равна:
. (2.5)
В рассматриваемом случае время обстрела должно быть меньше или по крайней мере равно времени пребывания цели в зоне обстрела . Среднее время пребывания цели в зоне обстрела будет [1]
, (2.6)
где - скорость полета самолета при условии, что он обстреливается.
Случай, когда , характерен для системы ПРО, когда само время мало и нет возможности выяснить, поражена ли цель или нет за время ее обстрела, т. е. когда цель находится в зоне обстрела очень малое время.
При анализе работы системы ПРО необходимо знать характеристики налета. Будем считать, что налетающие самолеты образуют пуассоновский поток с интенсивностью , который определяется так:
где - скорость движения самолетов противника,
- средний линейный интервал между самолетами.
Другой способ обстрела имеет место тогда, когда есть возможность получить и использовать информацию о поражении цели. Допустим, что время, проходящее между моментом поражения цели и моментом прекращения огня, есть случайная величина с математическим ожиданием . Если за начало отсчета времени считать момент входа самолета в зону обстрела, то при наличии свободных каналов это начало отсчета совпадает с началом обстрела цели. В общем случае время пребывания в зоне обстрела будет случайной величиной с математическим ожиданием . Цель будет не поражена, если время, требуемое для ее поражения , будет больше времени пребывания цели в зоне обстрела . Если , то цель будет поражена. Время обстрела цели (или время занятости канала) в этом случае будет [1]:
, (2.7)
так как при всех условиях обстрел ведется до тех пор, пока цель находится в зоне обстрела. Если величина велика, то с большой вероятностью будет выполняться равенство , т.е. мы приходим к первому случаю обстрела цели, когда стрельба ведется в течение всего времени пребывания цели в зоне обстрела (типично для системы ПРО, у которой время мало).
Таким образом, вероятность поражения цели при условии, что она обстреливается одним каналом, будет определяться как вероятность выполнения неравенства [1]:
. (2.8)
Имея ввиду принятое допущение о пуассоновском характере системы, будем считать, что среднее время, затрачиваемое на поражение цели [1],
, (2.9)
а поток эффективных выстрелов является пуассоновским с параметром .
3. Разработка имитационной модели
3.1 Математическое описание
Имитационное моделирование основано на применении метода Монте-Карло, в котором используется искусственная реализация вероятностных законов. С помощью генератора псевдослучайных чисел вырабатываются независимые реализации случайного процесса, а интересующие нас характеристики находятся путем усреднения по всему множеству реализаций.
Исходные данные для имитационного моделирования:
· Дисциплина обслуживания - СМО с отказами и частичной взаимопомощью между каналами.
· - число каналов обслуживания;
· - интенсивность простейшего входящего потока заявок;
· - Интенсивность потока обслуживания заявок;
· - Интенсивность простейшего потока освобождения канала;
- параметр нетерпения заявки;
Интенсивности поступления и обслуживания заявок распределены по пуассоновскому закону.
При разработке имитационной модели для реализации входного потока заявок и потока обслуживания из равномерной случайной величины, генерируемой ЭВМ, необходимо получить случайную величину, распределенную по пуассоновскому закону. Пусть - случайная величина, равномерно распределенная в интервале . Для пуассоновского распределения примем [1]
(3.1)
Осуществив интегрирование, получим [1]:
(3.2)
Решая это уравнение относительно , имеем [1]:
. (3.3)
Случайное число распределено равномерно в интервале , следовательно также случайная величина, принадлежащая интервалу .
Поэтому и распределены одинаково. Отсюда имеем [1]:
. (3.4)
Определяемая этим соотношением случайная величина имеет пуассоновский закон распределения. Таким образом, интервал времени между заявками определяется следующим образом [1]:
, (3.5)
где - случайная величина в диапазоне , генерируемая ЭВМ.
Требуемые характеристики СМО можно определить следующим образом:
1) Вероятность обслуживания:
, (3.6)
где - количество обслуженных заявок; - общее количество заявок, пришедших в систему за время моделирования.
2) Вероятность занятости отдельного канала:
, (3.7)
3) Среднее число занятых каналов:
, (3.8)
где - интенсивность простейшего входящего потока заявок, - интенсивность потока обслуживания заявок.
Таким образом, используя имитационную модель можно получить требуемые параметры.
Имитационное моделирование включает следующие этапы [1]:
1. Построение входного потока заявок. Время появления заявки определяется следующим образом:
, (3.9)
где - модельное время.
2. Обслуживание заявок. Для каждой заявки, стоящей на обслуживании, проверяется, не истекло ли время ее обслуживания. Если время истекло, то заявка считается обслуженной и занятые ей приборы освобождаются.
3. Генерация новой заявки. Генерируется время обслуживания пришедшей заявки, т.к. оно распределено по пуассоновскому закону, то время обслуживания:
, (3.10)
где - время обслуживания пришедшей заявки.
Далее заявка ставится на обслуживание, здесь возможны два варианта:
1) в системе свободно приборов и заявка обслуживается одновременно приборами. При этом заявка обслуживается параллельно, интенсивность обслуживания заявки увеличивается в раз;
2) число свободных приборов меньше . Заявка становится на обслуживание и обслуживается параллельно оставшимся числом приборов.
При моделировании используем программу для расчета имитационной модели (листинг программы см. Приложении 1).
3.2 Описание блок-схемы алгоритма
Блок-схема имитационного моделирования приведена на рис.3.1
Описание блок-схемы:
1) Установка начальных значений и обнуление счётчиков заявок, выполненных заявок, отказов.
Рассмотрим функционирование одного цикла моделирования:
2) Обнуление счетчиков занятых каналов.
3) Если текущее модельное время превышает время прихода следующей заявки, то генерируется новая заявка. Заявка генерируется в виде случайного промежутка времени, который распределён по пуассоновскому закону.
4) Проверка занятости каналов. Сохраняются номера свободных каналов, если они в данный момент есть, а также их количество.
5) Если количество свободных каналов больше, чем параметр взаимопомощи l, то заявка ставится на обслуживания. Постановка заявки на обслуживание происходит в виде генерации случайного промежутка времени распределённого по пуассоновскому закону.
6) Если количество свободных приборов меньше параметра взаимопомощи l, но больше нуля, то заявка ставится на обслуживание и обслуживается оставшимся числом свободных приборов. Постановка на обслуживание осуществляется как в предыдущем пункте
7) Если нет свободных приборов, то заявка получает отказ в обслуживании и увеличивается на 1 счётчик отказов.
Далее идёт следующая итерация цикла.
8) Вычисление требуемых параметров СМО: - вероятности обслуживания,
- вероятность занятости отдельного канала, - среднее число занятых каналов.
На основании изложенного алгоритма была разработана программа (Приложение 1). При имитационном моделировании для получения статистически достоверных результатов необходимо некоторое число реализаций. Чем больше , тем точнее оценки. В нашем случае количество реализаций можно найти по формуле [2]:
, (3.11)
где - дисперсия; - задаваемая точность; - уровень значимости.
При использовании данной формулы необходимо знать дисперсию , но она изначально неизвестна. Поэтому зададимся произвольным числом реализаций (10 реализаций), определим дисперсию, и найдем количество необходимых реализаций.
В таблице 1 приложения 2 представлены полученные реализации. Посчитаем дисперсию:
Зададимся точностью и уровнем значимости : для инженерных расчетов приемлемой считается погрешность не более 10%, поэтому точность можно взять , а уровень значимости .
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Рис. 3.1 Блок-схема алгоритма имитационной модели
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Рис. 3.1 Блок-схема алгоритма имитационной модели (продолжение)
В этом случае число реализаций . Таким образом, имитационное моделирование было произведено с большей точностью.
3.3 Анализ полученных результатов моделирования
В результате имитационного моделирования были получены следующие значения статических характеристик:
При числе каналов обслуживания n=3
= 0,446
= 0,558
= 1,669
При числе каналов обслуживания n=4
= 0,650
= 0,556
= 2,225
При числе каналов обслуживания n=5
= 0,708
= 0,511
= 2,554
При числе каналов обслуживания n=6
= 0,745
= 0,463
= 2,778
Рассмотренный выше алгоритм построения имитационной модели реализован в программе, листинг которой приведен в Приложении 1, а результаты работы программы в виде таблицы -- в Приложении 3, графики представлены в Приложении 4.
Проводя моделирование при увеличении числа обслуживающих приборов от 3 до 6, наблюдаем:
· увеличение вероятности обслуживания;
· уменьшение вероятности занятости канала;
· увеличение среднего числа занятых каналов.
Существенным достоинством имитационной модели является возможность при многократном моделировании получить достаточно точные оценки рассчитываемых вероятностных показателей. Поэтому было произведено 10-ти кратное моделирование и усреднение полученных данных. Подробные результаты представлены в Приложении 3.
4. Разработка аналитической модели
4.1 Математическое описание аналитической модели
Рассмотрим заданную систему массового обслуживания - систему ПРО с отказами и частичной взаимопомощью между каналами (при рассмотрении ПРО взаимопомощь между каналами состоит в том, что одну цель могут одновременно обстреливать каналов, при этом эффективная скорострельность увеличивается в раз).
На вход n-канальной системы массового обслуживания поступает простейший поток заявок с плотностью . Плотность простейшего потока обслуживаний каждого канала . Если поступившая на обслуживание заявка застает все каналы свободными, то она принимается на обслуживание и обслуживается одновременно каналами (). При этом поток обслуживаний одной заявки будет иметь интенсивность .
Если поступившая на обслуживание заявка застает в системе одну заявку, то при вновь прибывшая заявка будет принята к обслуживанию и будет обслуживаться одновременно каналами.
Если поступившая на обслуживание заявка застает в системе заявок (), при этом , то поступившая заявка будет обслуживаться каналами с общей производительностью . Если вновь поступившая заявка застает в системе заявок и при этом выполняются совместно два неравенства и , то заявка будет принята на обслуживание. В этом случае заявки, находившиеся на обслуживании будут обслуживаться каналами, а вновь пришедшая заявка - меньшим, чем , числом каналов, но в обслуживании будут заняты все n каналов. Если вновь поступившая заявка застает в системе все каналы занятыми, то она получает отказ и не обслуживается. Попавшая на обслуживание заявка обслуживается до конца (заявки «терпеливые»).
Исходные данные для имитационного моделирования:
· - интенсивность простейшего входящего потока заявок;
· - Интенсивность потока обслуживания заявок;
· - Интенсивность простейшего потока освобождения канала;
- параметр нетерпения заявки;
· - число каналов обслуживания;
Такой системе соответствует следующий граф (входящий поток и поток обслуживания - Пуассоновские, режим работы - стационарный).
За состояние системы принимается число заявок, находящихся в данный момент на обслуживании в системе [1]:
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Рис. 4.1 Граф состояний системы ПРО с отказами и частичной взаимопомощью между каналами
.
Если в системе заявок, то заявка обслуживается приборами, а заявка - приборами.
Можно записать систему алгебраических уравнений в общем виде [1]:
(4.1)
- вероятность того, что система находится в состоянии .
Последнее уравнение системы представляет собой условие нормировки, так как мы имеем дело с полной группой событий. Решив данную систему алгебраических уравнений можно найти вероятности нахождения системы в каждом из состояний.
Заметим, что граф состояний системы до состояния , с точностью до обозначений параметров потоков совпадает с графом состояний классической системы массового обслуживания с отказами.
Следовательно [1]:
(4.2)
(4.3)
Введем обозначения: , тогда:
С учетом нормировочного условия, получаем [1]:
(4.4)
где .
Для сокращения дальнейшей записи введем обозначение [1]
(4.5)
Формулы расчетных характеристик для нашего случая будут выглядеть так:
1) Вероятность обслуживания заявки (вероятность поражения самолёта):
, (4.6)
2) Среднее число занятых каналов обслуживания:
(4.7)
3) Вероятность занятости канала:
. (4.8)
4.2 Расчет параметров СМО
Рассмотрим граф состояний для нашего конкретного случая, т.е. количество каналов обслуживания , а количество взаимодействующих каналов .
1. Для ,
- граф состояний
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Рис. 4.2 Граф состояний 3-х канальной системы ПРО
где Х0 - заявки в системе отсутствуют;
Х1 - в системе находится одна заявка (занято 3 канала);
- система уравнений
(4.9)
Вероятность обслуживания:
Вероятность занятости канала:
Среднее число занятых каналов:
2. Для , :
- граф состояний
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Рис. 4.3 Граф состояний 4-х канальной системы ПРО
где Х0 - заявки в системе отсутствуют;
Х1 - в системе находится одна заявка (занято 3 канала);
Х2 - в системе находится две заявки (занято 3 канала, вторая заявка обслуживается одним прибором);
- система уравнений
(4.10)
Вероятность обслуживания:
Вероятность занятости канала:
Среднее число занятых каналов:
3. Для , :
- граф состояний
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Рис. 4.4 Граф состояний 5-и канальной системы ПРО
где Х0 - заявки в системе отсутствуют;
Х1 - в системе находится одна заявка (занято 3 канала);
Х2 - в системе находится две заявки (занято 5 каналов одна обслуживается двумя каналами другая тремя);
- система уравнений
(4.11)
Вероятность обслуживания:
Вероятность занятости канала:
Среднее число занятых каналов:
4. Для , :
- граф состояний
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Рис. 4.5 Граф состояний 6-и канальной системы ПРО
где Х0 - заявки в системе отсутствуют;
Х1 - в системе находится одна заявка (занято 3 канала);
Х2 - в системе находится две заявки (занято 6 каналов каждая заявка обслуживается 3-мя приборами);
- система уравнений
(4.12)
Вероятность обслуживания:
Вероятность занятости канала:
Среднее число занятых каналов:
При решении системы уравнений вероятностных состояний используем программу для расчета аналитической модели (листинг программы см. Приложение 1). Результаты вычислений представлены в табл.1
4.3 Анализ полученных результатов моделирования
Была исследована зависимость вероятностных характеристик системы от числа обслуживающих приборов. При увеличении числа обслуживающих приборов от 3 до 6 наблюдаем:
· уменьшение вероятности занятости канала;
· неизменность среднего времени занятости канала;
· увеличение среднего времени простоя канала.
В результате аналитического моделирования получены интересующие нас вероятностные характеристики системы. При аналитическом моделировании система ПРО рассматривалась в виде графа гибели и размножения, что позволило определить вероятности состояний из системы уравнений. Также эти характеристики могут быть посчитаны по заранее известным формулам. Расчет по эти формулам произведен в программе, листинг которой представлен в Приложении 2. Результаты аналитического моделирования представлены также в Приложении 3. А требуемые графики в Приложении 4.
5. Сопоставление полученных результатов для разработанных моделей
Что бы убедиться в адекватности применяемых моделей СМО, воспользуемся статистическим критерием , который служит для проверки однородности двух независимых выборок.
Если выборки однородны, то считают, что они извлечены из одной генеральной совокупности и, следовательно, имеют одинаковые, причем неизвестные, непрерывные функции распределения и .
Таким образом, нулевая гипотеза состоит в том, что при всех значениях аргумента функции распределения равны между собой: .
Для того чтобы при заданном уровне значимости и количестве степеней свободы проверить нулевую гипотезу об однородности двух независимых выборок объемов и () при конкурирующей гипотезе необходимо найти величину по формуле [2]:
, (5.1)
и сравнить полученное значение с табличным для данных и .
Если , нулевую гипотезу отвергают.
Если , гипотеза об однородности выборок принимается.
Зададимся уровнем значимости (число степеней свободы ), при объеме выборки .
Значение для данных параметров равно 0,004.
В качестве выберем вероятность занятости канала обслуживания для аналитической модели, а - для имитационной модели.
Результаты расчетов сведем в таблицу.
Таблица 5.1.
Расчет значения
0,556 |
0,558 |
||
0,555 |
0,556 |
||
0,510 |
0,511 |
||
0,462 |
0,463 |
||
Из таблицы получили , поэтому принимаем нулевую гипотезу об однородности выборок. Таким образом, результаты сравнения показывают адекватность моделей.
Заключение
В процессе выполнения данной индивидуальной работы была рассмотрена система массового обслуживания на примере системы ПРО с отказами и частичной взаимопомощью. Данная система ПРО была рассмотрена как система массового обслуживания с отказами и частичной взаимопомощью между каналами обслуживания.
Для заданной системы были построены две модели: аналитическая модель и имитационная модель. Обе системы рассматриваются при следующих упрощениях: рассматривается простейший пуассоновский поток входящих заявок, простейший пуассоновский поток обслуживания, а также система работает в стационарном режиме. В аналитической модели можно путем решения алгебраической системы уравнений можно определить вероятностные характеристики системы - вероятность обслуживания, вероятность занятости канала, среднее время простоя канала и др.
Имитационная модель строилась с учетом всех особенностей функционирования реальной системы и поэтому она достаточно точно описывает все вероятностные процессы. В основу имитационной модели положено рассмотрение работы системы на некотором отрезке времени. В результате этого можно определить вероятностные характеристики системы. Листинг программы имитационного моделирования приведен в Приложении 1.
На этапе сравнения двух построенных моделей с помощью критерия были сделаны следующие вывод - с точки зрения вычисления такой характеристики системы как вероятность отказа модели (аналитическая и имитационная) адекватны.
Также была выявлена зависимость вероятностных характеристик системы от числа обслуживающих приборов, были получены следующие закономерности. Проводя моделирование при увеличении числа обслуживающих приборов от 3 до 6, наблюдаем:
· увеличение вероятности обслуживания;
· уменьшения вероятности занятости канала;
· увеличение среднего времени простоя канала.
Соответствующие зависимости в виде графиков представлены в Приложении 4.
Список используемой литературы
1. Южаков А.А. Прикладная теория систем массового обслуживания: Учеб. пособие, Пермь, Перм. гос. техн. ун-т, 2010.
2. Овчаров Л. А., Прикладные задачи теории массового обслуживания, Москва, Машиностроение, 2009.
3. Гмурман В. Е., Теория вероятностей и математическая статистика. М: Высшая школа, 2009.
4. ГОСТ 19.105-78. ЕСПД. Общие требования к программным документам.
Приложение 1
Листинг программы имитационного моделирования
program SMO_im;
uses crt;
const
lambda=4.52; {Интенсивность простейшего входящего потока}
mu=0.975; {Интенсивность простейшего потока обслуживания}
eta=0.703; {Параметр нетерпимости заявки}
time_t=1000000; {Время моделирования}
n_kanalov=3; {Число каналов обслуживания}
l=3; {Параметр взаимопомощи}
var
n_svob,p:integer; {кол-во свободных в данный момент приборов}
vypolneno:real; {Количество выполненных заявок}
kolvo,otkaz:longint; {Кол-во заявок, кол-во отказов}
i,ok:integer;
t:longint; {Текущее время при моделировании}
t_z0,t_z,t_obs:real; {Интервалы обслуживания и занятости заявки}
n:array[1..n_kanalov] of real;{Массив, в котором хранится время занятости текущего канала}
t_zan:array[1..n_kanalov] of real;{Массив, в котором хранится общее время занятости каждого канала во время моделирования}
n_vyp:array[1..n_kanalov] of integer; {Массив, в котором хранится кол-во заявок, выполненных каждым каналом}
n_l_z:array[1..n_kanalov] of integer;
Pobs:real; {Вероятность обслуживания}
Lo,tpk,ksr:real; {Среднее число занятых каналов и плотность потока обслуживающих заявок}
n_zero:array[1..l] of integer; {Номера свободных в данный момент каналов обслуживания}
pobs,pzk:real; {Вероятность занятости канала}
begin
randomize;
t_z0:=0;
kolvo:=0;
otkaz:=0;
vypolneno:=0;
for i:=0 to n_kanalov do {Начальное обнуление параметров}
begin
n_vyp[i]:=0;
t_zan[i]:=0;
end;
for t:=0 to time_t do {Основной цикл моделирования}
begin
for i:=1 to n_kanalov do {Цикл проверки окончания обслуживания заявки}
begin
if ((t>=n[i])AND(n[i]<>0)) then {Если текущее время больше, чем}
begin
n[i]:=0;
vypolneno:=vypolneno+1/n_l_z[i];
n_l_z[i]:=0;
end;
продолжение Приложения 1
end;
if (t>=t_z0) then {Генерации прихода новой заявки}
begin
t_z:=-100/lambda*ln((random(1000)+1)/1000);{генерация случайного интервала между заявками}
t_z0:=t_z0+t_z;
inc(kolvo); {Счётчик числа пришедших заявок увеличивается на единицу}
n_svob:=0;
for i:=1 to l do n_zero[i]:=0; {Обнуляется массив номеров свободных каналов}
p:=1;
for i:=1 to n_kanalov do {Цикл поиска свободных каналов}
begin
if (n[i]=0) then
begin
inc(n_svob);
n_zero[p]:=i;
inc(p);
end;
end;
if (n_svob>=l) then begin {если число свободных каналов больше, чем l, то поступившая заявка обслуживается l}
t_obs:=-100/(l*mu+eta)*ln((random(1000)+1)/1000);{Генерация времени обслуживания заявки}
for i:=1 to l do {Распределяем обслуживание заявки по l каналам}
begin
n[n_zero[i]]:=t+t_obs; {Записываем время окончания обслуживания заявки}
n_l_z[n_zero[i]]:=l;
t_zan[n_zero[i]]:=t_zan[n_zero[i]]+t_obs;{Общее время занятости i-го канала}
n_vyp[n_zero[i]]:=n_vyp[n_zero[i]]+1; {Число заявок, выполненных i-тым каналом}
ok:=1; {Заявка поставлена на обслуживание}
end;
end
else
if (n_svob>0)AND(n_svob<l) then begin {если число свободных каналов меньше, чем l, то поступившая заявка обслуживается}
t_obs:=-100/(n_svob*mu+eta)*ln((random(1000)+1)/1000); {Генерация времени обслуживания заявки}
for i:=1 to n_svob do {Распределяем обслуживание заявки по оставшимся свободным каналам}
begin
n[n_zero[i]]:=t+t_obs; {Записываем время окончания обслуживания заявки}
n_l_z[n_zero[i]]:=n_svob;
t_zan[n_zero[i]]:=t_zan[n_zero[i]]+t_obs;{Общее время занятости i-го
канала}
n_vyp[n_zero[i]]:=n_vyp[n_zero[i]]+1; {Число заявок, выполненных i-тым каналом}
ok:=1; {Заявка поставлена на обслуживание}
end;
продолжение Приложения 1
end
else ok:=0; {иначе заявка не поставлена на обслуживание}
if (ok<>1) then inc(otkaz); {Если заявка не поставлена на обслуживание, то увеличивается счётчик отказов на единицу}
end;
end; {Окончание основного цикла моделирования}
{Вычисление интересующих параметров по результатам моделирования}
pzk:=0;
for i:=1 to n_kanalov do pzk:=pzk+t_zan[i]/time_t;
pzk:=pzk/n_kanalov; {Вычисление вероятности занятости канала}
tpk:=0;
for i:=1 to n_kanalov do if (n_vyp[i]<>0) then tpk:=tpk+(time_t-t_zan[i])/n_vyp[i];
ksr:=pzk*n_kanalov; {Вычисление среднего числа занятых каналов}
Pobs:=(kolvo-otkaz)/kolvo; {Вычисление вероятности обслуживания}
writeln('Число заявок ',kolvo);
writeln('Выполнено ',vypolneno:5:0);
writeln('Вероятность обслуживания ',Pobs:5:3); {Вывод результатов моделирования}
writeln('Вероятность занятости канала ',pzk:5:3);
writeln('Среднее число занятых каналов ',ksr:5:3);
readln;
end.
Приложение 2
Листинг программы аналитического моделирования
program SMO_an;
uses crt;
const l=4.52;
m=0.703;
n=6;
ll=3;
k=2000;
function faktorial(a:integer):integer;
var ii,fak:integer;
begin
fak:=1;
if a=0 then fak:=1;
for ii:=1 to a do fak:=fak*ii;
faktorial:=fak;
end;
var
p: array [0..n] of real;
i,h,ns:integer;
c:real;
begin
h:=n div ll;
ns:=h;
c:=0;
if n mod ll <>0 then ns:=ns+1;
for i:=0 to ns do p[i]:=0;
for i:=0 to ns-1 do c:=c+exp(i*ln(l))/(faktorial(i)*exp(i*ln(ll*m)));
c:=c+exp(ns*ln(l))/(faktorial(ns-1)*n*m*exp((ns-1)*ln(ll*m)));
p[0]:=1/c;
for i:=1 to ns-1 do p[i]:=(p[i-1]*l)/(i*ll*m);
{exp(i*ln(l))/(faktorial(i)*exp(i*ln(ll*m))*c);}
p[ns]:=p[ns-1]*l/(n*m);
{exp(ns*ln(l))/(faktorial(ns)*m*exp((ns-1)*ln(ll*m))*c);}
for i:=0 to ns do writeln('p[',i,']=',p[i]:4:5);
writeln('n=',ns);
writeln('Pobsl=',(1-p[ns]):3:6);
writeln('l0=',(1-p[ns]):3:6);
writeln('ksr=',(l/m)*p[ns]:3:6);
readln;
end.
Приложение 3
Таблицы результатов моделирования
Таблица 1.
Результаты имитационного моделирования:
Число каналов обслуживания, |
Номер реализации |
||||
1 |
0,443 |
0,560 |
1,680 |
||
2 |
0,449 |
0,554 |
1,663 |
||
3 |
0,448 |
0,552 |
1,656 |
||
4 |
0,446 |
0,555 |
1,665 |
||
5 |
0,446 |
0,557 |
1,672 |
||
6 |
0,446 |
0,555 |
1,666 |
||
7 |
0,443 |
0,560 |
1,680 |
||
8 |
0,446 |
0,580 |
1,673 |
||
9 |
0,448 |
0,556 |
1,667 |
||
10 |
0,445 |
0,555 |
1,664 |
||
Средние значения |
0,446 |
0,558 |
1,669 |
||
1 |
0,652 |
0,554 |
2,216 |
||
2 |
0,649 |
0,557 |
2,229 |
||
3 |
0,647 |
0,560 |
2,241 |
||
4 |
0,649 |
0,558 |
2,233 |
||
5 |
0,650 |
0,556 |
2,225 |
||
6 |
0,656 |
0,553 |
2,214 |
||
7 |
0,650 |
0,557 |
2,226 |
||
8 |
0,650 |
0,554 |
2,218 |
||
9 |
0,648 |
0,557 |
2,226 |
||
10 |
0,653 |
0,556 |
2,226 |
||
Средние значения |
0,650 |
0,556 |
2,225 |
||
1 |
0,706 |
0,512 |
2,560 |
||
2 |
0,710 |
0,514 |
2,568 |
||
3 |
0,707 |
0,509 |
2,547 |
||
4 |
0,707 |
0,511 |
2,557 |
||
5 |
0,714 |
0,509 |
2,546 |
||
6 |
0,705 |
0,511 |
2,556 |
||
7 |
0,708 |
0,514 |
2,569 |
||
8 |
0,709 |
0,507 |
2,537 |
||
9 |
0,708 |
0,510 |
2,550 |
||
10 |
0,710 |
0,510 |
2,551 |
||
Средние значения |
0,708 |
0,511 |
2,554 |
||
1 |
0,747 |
0,461 |
2,764 |
||
|
2 |
0,743 |
0,463 |
2,775 |
|
|
3 |
0,745 |
0,461 |
2,769 |
|
|
4 |
0,748 |
0,462 |
2,775 |
|
|
5 |
0,746 |
0,461 |
2,764 |
|
n=6 |
6 |
0,744 |
0,465 |
2,79 |
|
|
7 |
0,745 |
0,464 |
2,781 |
|
|
8 |
0,743 |
0,461 |
2,766 |
|
|
9 |
0,743 |
0,467 |
2,802 |
|
|
10 |
0,742 |
0,466 |
2,798 |
|
|
средние значения |
0,745 |
0,463 |
2,778 |
Таблица 2.
Сравнение результатов имитационного и аналитического моделирования:
Число каналов обслуживания, n |
Искомый параметр |
Аналитическая модель |
Имитационная модель |
|
|
0,445 |
0,446 |
||
n=3 |
0,556 |
0,558 |
||
|
1,660 |
1,669 |
||
|
0,649 |
0,650 |
||
n=4 |
0,555 |
0,556 |
||
|
2,221 |
2,225 |
||
|
0,702 |
0,708 |
||
n=5 |
0,510 |
0,511 |
||
|
2,550 |
2,554 |
||
0,744 |
0,745 |
|||
n=6 |
0,462 |
0,463 |
||
|
2,772 |
2,778 |
Приложение 4
Графики, полученные в результате моделирования
Рис. 1 Зависимость вероятности обслуживания от числа приборов для аналитической и имитационной моделей
Рис. 2 Зависимость вероятности занятости канала от числа приборов для аналитической и имитационной моделей
Рис. 3 Зависимость среднего числа занятых каналов от числа приборов для аналитической и имитационной моделей
Размещено на Allbest.ru
Подобные документы
Определение характеристик системы массового обслуживания – вероятность обслуживания заявки, занятости любого канала системы, среднее число занятых каналов. Описание блок-схемы алгоритма. Разработка имитационной и аналитической моделей и их сравнение.
курсовая работа [860,4 K], добавлен 24.12.2013Основы технологии моделирования Arena. Построение простой имитационной модели. Моделирование работы системы обслуживания покупателей на кассе супермаркета. Построение модели IDEF3. Анализ результатов имитационного моделирования и аналитического решения.
курсовая работа [659,1 K], добавлен 24.03.2012Разработка решения задачи имитационного моделирования системы массового обслуживания (СМО), на примере склада продукции. Построение концептуальной модели системы. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [75,5 K], добавлен 26.06.2011Особенности систем массового обслуживания и сущность имитационного моделирования с использованием GPSS. Структурная схема модели системы и временная диаграмма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [214,2 K], добавлен 23.06.2011Рассмотрение проблемы моделирования процессов в Q-схемах – математических схемах, разработанных для формализации процессов функционирования систем массового обслуживания. Разработка моделирующего алгоритма, машинная реализация и математическое описание.
курсовая работа [781,9 K], добавлен 03.07.2011Программное средство системного моделирования. Структурная схема модели системы, временная диаграмма и ее описание. Сравнение результатов имитационного моделирования и аналитического расчета характеристик. Описание машинной программы решения задачи.
курсовая работа [146,5 K], добавлен 28.06.2011Специфика работы терапевтического отделения. Разработка имитационной модели в среде AnyLogic. Выбор средств моделирования. Описание схемы моделирующего алгоритма. Организация вычислительного эксперимента над математической моделью, анализ его результатов.
курсовая работа [1,2 M], добавлен 10.06.2015Описание процесса экстракции. Математическое описание модели. Алгоритм решения системы уравнений математического описания. Этапы имитационного исследования модели. Анализ результатов. Зависимость неудовлетворительной работы аппарата от расхода бензола.
контрольная работа [116,4 K], добавлен 16.11.2012Характеристика функций имитационного моделирования. Знакомство с особенностями имитационного моделирования агрегированной системы массового обслуживания. Анализ программы GPSSWorld: рассмотрение возможностей, способы составления имитационной модели.
курсовая работа [1,6 M], добавлен 27.05.2013Описание моделируемой системы. Структурная схема модели системы. Q-схема системы и её описание. Математическая модель и укрупнённая схема моделирующего алгоритма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [46,7 K], добавлен 02.07.2011