Моделирование систем массового обслуживания и применение теории массового обслуживания в исследовании рынка

Автор работы: Пользователь скрыл имя, 25 Октября 2013 в 09:54, курсовая работа

Краткое описание

Теория массового обслуживания опирается на теорию вероятностей и математическую статистику. Первоначальное развитие теории массового обслуживания связано с именем датского ученого А.К. Эрланга(1878-1929),с его трудами в области проектирования и эксплуатации телефонных станций.
Теория массового обслуживания — область прикладной математики, занимающаяся анализом процессов в системах производства, обслуживания, управления, в которых однородные события повторяются многократно, например, на предприятиях бытового обслуживания; в системах приема, переработки и передачи информации; автоматических линиях производства и др. Большой вклад в развитие этой теории внесли российские математики А.Я. Хинчин, Б.В. Гнеденко, А.Н. Колмогоров, Е.С. Вентцель и др.

Содержание

ЛИТЕРАТУРНЫЙ ОБЗОР
1 Математическое моделирование систем массового обслуживания
1.1 Элементы теории массового обслуживания 9
1.2 Классификация систем массового обслуживания 14
1.2.1 Классификация входных потоков 16
1.2.2. Классификация процессов обслуживания. 18
1.2.3 Классификация систем массового обслуживания по характеру обслуживания. 19
2 Имитационное моделирование систем массового обслуживания
2.1 «Когда другие методы беспомощны…» 28
2.2. Построение имитационной модели 30
2.3 Языки имитационного моделирования 34
2.3.1 Универсальный язык моделирования GPSS 37
ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ
2 Решение задачи математическими методами
2.1 Постановка задачи 49
2.1.2 Решение задачи 49
2.1.3 Решение задачи методом моделирования на GPSS 55
ЗАКЛЮЧЕНИЕ 60
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 62

Вложенные файлы: 1 файл

курсовой моделирование СМО на печать!.doc

— 583.00 Кб (Скачать файл)

По характеру возможных  изменений переменных величин модели подразделяются на непрерывные и  дискретные.

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

Реальные системы не бывают непрерывными или дискретными. Просто для одних систем удобнее  применять непрерывные модели, для  других – дискретные.

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

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

Рассмотрим теперь, как соотносятся модели математические и компьютерные [7].

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

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

Это обычная компьютерная практика – моделировать математические объекты с известными свойствами посредством физических (компьютерных) объектов, которые сами этими свойствами не обладают. При этом, хотя точность моделирования математических объектов компьютерными может быть очень высокой, это все-таки не избавляет нас от необходимости понимания замаскированных различий между исходными математическими объектами и их компьютерными образами.

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

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

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

Рассмотрим такую задачу: В парикмахерскую с одним парикмахером приходят клиенты через 20 ± 10 минут  друг за другом. Время стрижки одного клиента составляет 19 ± 5 мин. Требуется  определить среднюю длину очереди клиентов и среднее время ожидания клиентами начала обслуживания.

Эту задачу можно изобразить схематически следующим образом:

Рисунок 8 - Схема работы парикмахерской (число обслуживающих каналов = 1)

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

10 GENERATE 20,10

20 SEIZE 1

30 ADVANCE 19,5

40 RELEASE 1

50 TERMINATE

Здесь левая колонка  – это номера строк модели: произвольные положительные числа в порядке  возрастания. Строки нумеруются не: 1, 2, 3 и т.д. Удобнее всего нумеровать их так, как показано: 10, 20, 30 и т.д. Это позволяет легко вставлять новую строку между любыми двумя уже введенными строками и присваивать ей номер, например 15, 25, 26 и т.п. В системе GPSS World можно не нумеровать строки [6].

Следующие две колонки  – названия операторов и поле переменных. Рассмотрим, какие же операторы входят в модель, и для чего они предназначены.

Блок GENERATE порождает транзакты (клиентов) через каждые 20 ± 10 единиц времени (в данном примере считаем единицу времени минутой). Число 20 в первом операнде (в поле A) указывает интервал модельного времени, через который генерируются транзакты. В поле B записано число 10, которое задает временные границы интервала, т.е. время прихода очередного клиента получается как случайное число в промежутке от 20 – 10 = 10 до 20 + 10 = 30.

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

Блок SEIZE 1, в который поступают транзакты из блока GENERATE, выполняет операцию занятия транзактами устройства номер 1.

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

Блок ADVANCE 19, 5 задерживает  транзакт, который занял устройство, на 19 ± 5 единиц времени, моделируя тем  самым задержку клиента на время  его обслуживания.

По истечении этого  времени транзакт переходит в  блок RELEASE 1, в котором выполняется освобождение устройства номер 1, и далее поступает в блок TERMINATE, в котором транзакты уничтожаются. Конечно, это не означает, что клиенты после стрижки тоже уничтожаются, просто клиент уходит из системы, значит, транзакт, моделирующий его, больше нам не нужен. Мы уничтожаем транзакт, чтобы не нужно было описывать его дальнейшее движение и чтобы освободить занимаемую им память компьютера [6].

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

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

Но нам нужно не просто составить программу, моделирующую работу парикмахерской. Необходимо еще, чтобы при выполнении модели GPSS собирал  статистику об очереди транзактов (клиентов). Для этого нужно включить в модель еще два блока – QUEUE (точка входа в очередь) и DEPART (точка выхода). Мы можем расставлять эти точки в своих моделях в принципе произвольным образом. Это зависит от того, о каком участке системы нам нужна статистика по движению через него потока транзактов [6].

В данной модели парикмахерской эти точки следует выбирать так:

10 GENERATE 20,10

15 QUEUE 1 ;точка входа  в очередь номер 1

20 SEIZE 1

25 DEPART 1 ;точка выхода  из очереди номер 1

30 ADVANCE 19,5

40 RELEASE 1

50 TERMINATE

При такой расстановке  блоков QUEUE и DEPART получается, что транзакт входит в очередь в момент появления  его в системе, а выходит из очереди в момент, когда ему  удалось занять устройство, то есть пройти блок SEIZE. Следовательно, очередь 1 будет собирать статистику именно об очереди клиентов к парикмахеру, как она изображена на нашей схеме. И в результате выполнения модели мы узнаем ответ на вопрос, поставленный в задаче: найти среднюю длину очереди клиентов и среднее время ожидания клиентами начала обслуживания.

Но можно расставить блоки QUEUE и DEPART иначе:

10 GENERATE 20,10

15 QUEUE 1 ;точка входа  в очередь номер 1

20 SEIZE 1

30 ADVANCE 19,5

40 RELEASE 1

45 DEPART 1 ;точка выхода из очереди номер 1

50 TERMINATE

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

Ввести модель необходимо следующим образом.

1. Запустить GPSS.

2. Ввести текст программы  File ® New ® Model

10 GENERATE 20,10

15 QUEUE 1 ;точка входа  в очередь номер 1

20 SEIZE 1

25 DEPART 1 ;точка выхода  из очереди номер 1

30 ADVANCE 19,5

40 RELEASE 1

50 TERMINATE

100 GENERATE 480 ;один день – 480 минут

110 TERMINATE 1

3. Проверить программу  на ошибки, создать симуляцию  Command ® Create Simulation

4. Запустить программу,  моделировать один раз Command ® Start

5. Проанализировать отчет.

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 480.000 9 1 0

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 25 0 0

2 QUEUE 25 3 0

3 SEIZE 22 0 0

4 DEPART 22 0 0

5 ADVANCE 22 1 0

6 RELEASE 21 0 0

7 TERMINATE 21 0 0

8 GENERATE 1 0 0

9 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1 22 0.894 19.505 1 23 0 0 0 3

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

1 3 3 25 6 0.505 9.694 12.755 0

В колонке CURRENT_COUNT (счетчик  текущих) показано число транзактов, задержанных в каждом блоке в  момент останова модели.

Статистика по очередям содержит таблицу, в которой по каждой очереди в модели приводятся следующие  основные данные [5].

В колонке QUEUE (очередь) содержится номер или имя очереди.

В колонке MAX (максимум) –  максимальная длина очереди, которая  достигалась за все время моделирования. В нашей модели длина очереди  максимальная длина равна 3.

В колонке CONT (содержимое) приводится текущая длина очереди в момент останова модели.

Колонка ENTRIES (входы) содержит число транзактов, вошедших в очередь. Видно, что это число совпадает  с числом транзактов, вошедших в  блок QUEUE, показанное в трассировке.

Колонка ENTRIES(0) содержит число транзактов, прошедших очередь без задержки (с нулевой задержкой). Таим образом, 6 клиентов в момент прихода в парикмахерскую заставали свободного парикмахера, в очереди не стояли. Получается, что таких «везучих» клиентов было 6/25=0,24 или 24%.

В колонке AVE.CONT (среднее содержимое) выводится средняя длина очереди.

Столбец с заголовком AVE.TIME содержит среднее время прохождения  транзакта через очередь. Соседний столбец AVE.(-0) – такое же среднее  время, но рассчитанное только для тех  транзактов, которые прошли очередь за ненулевое время, то есть которые фактически задерживались в очереди.

Мы можем теперь ответить на вопрос, поставленный в задаче моделирования, следующим образом: при заданных параметрах парикмахерской средняя  длина очереди клиентов к парикмахерам составляет 0,505 клиента, среднее время ожидания начала обслуживания равно 9,69 минуты.

Статистика по устройствам (FACILITY). Требует пояснения UTIL — коэффициент  использования устройства. В нашем  случае коэффициент использования  равен 89,4% – высокий темп [5].

 

 

ПРАКТИЧЕСКОЕ  ПРИМЕНЕНИЕ ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ

2 Решение  задачи математическими методами

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

В универсаме к узлу расчета  поступает поток покупателей  с интенсивностью λ = 81 человек в  час. Средняя продолжительность обслуживания  контролером-кассиром одного покупателя об.= 2 минуты. Рабочее время 8 часов (1 час обеденный перерыв). Средняя з/п одного контролера-кассира составляет 5000руб. в месяц. Кассовый аппарат стоит 3000руб. (срок службы 5 лет). Стоимость канцтоваров (бумага, кассовая лента, ручки и т.д.) на одного кассира составляет 150 руб. в месяц.

Арендная плата в  месяц составляет 10000 руб. Коммунальные услуги  составляют 2000 руб. Налоги составляют 5670 руб.

Средний размер покупки  – 100руб.

Определить:

а) Минимальное количество контролеров-кассиров  nmin, при котором очередь не будет расти до бесконечности, соответствующие характеристики обслуживания при n=nmin и прибыль фирмы при этих условиях.

Информация о работе Моделирование систем массового обслуживания и применение теории массового обслуживания в исследовании рынка