Компьютерное моделирование, GPSS
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ 2
1. ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ 6
1.1. ОРИГИНАЛ МОДЕЛИ 6
1.2. ПЕРЕВОД МОДЕЛИ 8
1.3. ОТЧЁТ РАБОТЫ МОДЕЛИ 11
2. ИНТЕРПРЕТАЦИЯ 16
ЗАКЛЮЧЕНИЕ 18
3. СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 19
ВВЕДЕНИЕ
Система массового обслуживания (СМО) — система, которая производит обслуживание поступающих в неё требований. Обслуживание требований в СМО производится обслуживающими приборами. Классическая СМО содержит от одного до бесконечного числа приборов. В зависимости от наличия возможности ожидания поступающими требованиями начала обслуживания СМО подразделяются на
- системы с потерями, в которых требования, не нашедшие в момент поступления ни одного свободного прибора, теряются;
- системы с ожиданием, в которых имеется накопитель бесконечной ёмкости для буферизации поступивших требований, при этом ожидающие требования образуют очередь;
- системы с накопителем конечной ёмкости (ожиданием и ограничениями), в которых длина очереди не может превышать ёмкости накопителя; при этом требование, поступающее в переполненную СМО (отсутствуют свободные места для ожидания), теряется.
Выбор требования из очереди на обслуживание производится с помощью так называемой дисциплины обслуживания. Их примерами являются FCFS/FIFO (пришедший первым обслуживается первым), LCFS/LIFO (пришедший последним обслуживается первым), random (англ.)(случайный выбор). В системах с ожиданием накопитель в общем случае может иметь сложную структуру.
Основными понятиями СМО являются
- Требование (заявка) — запрос на обслуживание.
- Входящий поток требований — совокупность требований, поступающих в СМО.
- Время обслуживания — период времени, в течение которого обслуживается требование.
- Математическая модель СМО — это совокупность математических выражений, описывающих входящий поток требований, процесс обслуживания и их взаимосвязь.
При исследовании
операций часто приходится сталкиваться
с системами, предназначенными для
многоразового использования
Каждая
СМО состоит из определенного
числа обслуживающих единиц (приборов,
устройств, пунктов, станций), которые
будем называть каналами обслуживания.
Каналами могут быть линии связи, рабочие
точки, вычислительные машины, продавцы
и др. По числу каналов СМО подразделяют
наодноканальные и многоканальн
Заявки
поступают в СМО обычно не регулярно,
а случайно, образуя так называемый случайн
Предметом теории массового обслуживания является построение математических моделей, связывающих заданные условия работы СМО (число каналов, их производительность, характер потока заявок и т.п.) с показателями эффективности СМО, описывающими ее способность справляться с потоком заявок.
В качестве показателей эффективности СМО используются: среднее число заявок, обслуживаемых в единицу времени; среднее число заявок в очереди; среднее время ожидания обслуживания; вероятность отказа в обслуживании без ожидания; вероятность того, что число заявок в очереди превысит определенное значение и т.п.
СМО делят на два основных типа (класса): СМО с отказами и СМО с ожиданием (очередью). В СМО с отказами заявка, поступившая в момент, когда все каналы заняты, получает отказ, покидает СМО и в дальнейшем процессе обслуживания не участвует (например, заявка на телефонный разговор в момент, когда все каналы заняты, получает отказ и покидает СМО необслуженной). В СМО с ожиданием заявка, пришедшая в момент, когда все каналы заняты, не уходит, а становится в очередь на обслуживание.
СМО с ожиданием подразделяются на разные виды в зависимости от того, как организована очередь: с ограниченной или неограниченной длиной очереди, с ограниченным временем ожидания и т.п.
Для классификации СМО важное значение имеет дисциплина обслуживания, определяющая порядок выбора заявок из числа поступивших и порядок распределения их между свободными каналами. По этому признаку обслуживание заявки может быть организовано по принципу "первая пришла — первая обслужена", "последняя пришла — первая обслужена" (такой порядок может применяться, например, при извлечении для обслуживания изделий со склада, ибо последние из них оказываются часто более доступными) или обслуживание с приоритетом (когда в первую очередь обслуживаются наиболее важные заявки). Приоритет может быть как абсолютным, когда более важная заявка"вытесняет" из-под обслуживания обычную заявку (например, в случае аварийной ситуации плановые работы ремонтных бригад прерываются до ликвидации аварии), так и относительным, когда более важная заявка получает лишь "лучшее" место в очереди.
Имитационное моделирование (ситуационное моделирование) — метод, позволяющий строить модели, описывающие процессы так, как они проходили бы в действительности. Такую модель можно «проиграть» во времени как для одного испытания, так и заданного их множества. При этом результаты будут определяться случайным характером процессов. По этим данным можно получить достаточно устойчивую статистику.
Имитационное моделирование — это метод исследования, при котором изучаемая система заменяется моделью, с достаточной точностью описывающей реальную систему, с которой проводятся эксперименты с целью получения информации об этой системе. Экспериментирование с моделью называют имитацией (имитация — это постижение сути явления, не прибегая к экспериментам на реальном объекте).
Имитационное моделирование — это частный случай математического моделирования. Существует класс объектов, для которых по различным причинам не разработаны аналитические модели, либо не разработаны методы решения полученной модели. В этом случае аналитическая модель заменяется имитатором или имитационной моделью.
Имитационным
моделированием иногда называют получение
частных численных решений
Имитационная модель — логико-математическое описание объекта, которое может быть использовано для экспериментирования на компьютере в целях проектирования, анализа и оценки функционирования объекта.
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
ОРИГИНАЛ МОДЕЛИ
; GPSS World Sample File - ASSEMBLY.GPS, by Gerard F. Cummings
******************************
* Assembly of Motor Pump and Baseplate
******************************
Transit TABLE M1,200,200,20
******************************
GENERATE (Exponential(1,0,300)) ;New order arrives
SPLIT 2,Factory,1 ;Make 2 copies of order
******************************
* Purchase Motor Original Transaction Goes Here, P1=1
QUEUE Motor ;Queue for motor
SEIZE Motor ;Get a Facility
DEPART Motor ;Depart the queue
ADVANCE 200,100 ;Take motor from stock
RELEASE Motor ;Free the Facility
TRANSFER ,Tryout ;Send to trial assembly
******************************
Factory TEST E P1,2,Baseplate ;Is P1=2 ?
QUEUE Pumps ;Join the Queue (P1=2)
SEIZE Pumps ;Get a Facility
DEPART Pumps ;Depart the Queue
ADVANCE 180,120 ;Prepare the Pump
Pump MATCH Plate ;Wait for baseplate
ADVANCE 50,10 ;Check pump on baseplate
RELEASE Pumps ;Free the Facility
TRANSFER ,Tryout ;Send for a tryout
******************************
Baseplate QUEUE Base ;Join Queue P1 must=3
SEIZE Base ;Get a Facility
DEPART Base ;Depart the Queue
ADVANCE 80,20 ;Make the baseplate
Plate MATCH Pump ;Wait for the pump unit
ADVANCE 50,10 ;Check the pump on
RELEASE Base ;Free the Facility
******************************
Tryout GATHER 3 ;Gather 3 units to tryout
ADVANCE 60 ;Trial assembly
TEST E P1,1,Finish ;Is it the motor?(P1=1)
******************************
SEIZE Paint1 ;Get first paint Facility
ADVANCE 100,20 ;Paint the motor
RELEASE Paint1 ;Free paint Facility 1
TRANSFER ,Build ;Send for assembly
******************************
Finish TEST E P1,2,Basplate ;Is it the pump?(P1=2)
SEIZE Paint2 ;Get paint Facility 2
ADVANCE 120,30 ;Paint the Pump
RELEASE Paint2 ;Free paint Facility 2
TRANSFER ,Build ;Send for assembly
Basplate SEIZE Galvanize ;Get a Facility
ADVANCE 120,30 ;Galvanize baseplate
RELEASE Galvanize ;Free the Facility
******************************
Build ASSEMBLE 3 ;Collect 3 units
ADVANCE 150,30 ;Assemble unit
TABULATE Transit ;Record transit time
TERMINATE 1 ;One unit completed
ПЕРЕВОД МОДЕЛИ
; GPSS World Sample File - ASSEMBLY.GPS, by Gerard F. Cummings
******************************
* Сборка двигателя, насоса и опорной плиты *
******************************
Transit TABLE M1,200,200,20
******************************
GENERATE (Exponential(1,0,300)) ; Поступает новый заказ
SPLIT 2,Factory,1 ; Создание двух копий заказа
******************************
QUEUE Motor ; Очередь для двигателя
SEIZE Motor ; Занять устройство
DEPART Motor ; Выход из очереди
ADVANCE 200,100 ; Взять двигателя со склада
RELEASE Motor
; Освободить устройство
******************************
Factory TEST E P1,2,Baseplate ; P1=2?
QUEUE Pumps ; Встать в очередь (если Р1=2)
SEIZE Pumps ; Занять устройство
DEPART Pumps ; Выход из очереди
ADVANCE 180,120 ; Подготовка насоса
Pump MATCH Plate ; Ожидание опорной плиты
ADVANCE 50,10 ; Проверка насоса на опорной ; плите
RELEASE Pumps ; Освобождение устройства
TRANSFER ,Tryout ; Отправка на проверку
******************************
Baseplate QUEUE Base ; Встать в очередь (если P1=3)
SEIZE Base ; Занять устройство
DEPART Base ; Выход из очереди
ADVANCE 80,20 ; Создание опорной плиты
Plate MATCH Pump ; Ожидание насоса
ADVANCE 50,10 ; Проверка насоса на опорной ; плите
RELEASE Base ; Освобождение устройства
******************************
Tryout GATHER 3 ; Создание агрегата для проверки
ADVANCE 60 ; Пробная сборка
TEST E P1,1,Finish ; Действительно ли это - ; двигатель? (P1=1)
******************************
SEIZE Paint1 ; Занять первое устройство ; покраски
ADVANCE 100,20 ; Покраска двигателя
RELEASE Paint1 ; Освобождение первого ; устройства покраски
TRANSFER ,Build ; Отправка на сборку
******************************
Finish TEST E P1,2,Basplate ; Это насос?(P1=2)
SEIZE Paint2 ; Занять второе устройство ; покраски
ADVANCE 120,30 ; Покраска насоса
RELEASE Paint2 ; Освобождение второго ; устройства покраски
TRANSFER ,Build ; Отправка на сборку
Basplate SEIZE Galvanize ; Занять устройство
ADVANCE 120,30 ; Оцинковка опорной плиты
RELEASE Galvanize ; Освобождение устройства
******************************
Build ASSEMBLE 3 ; Сборка всех составляющих
ADVANCE 150,30 ; Сборка агрегата
TABULATE Transit ; Рекордное время ; транспортировки
TERMINATE 1 ; Один агрегат готов
Построим гистограмму, показывающую время сборки одного насосного агрегата (рисунок 1). По ней очевидно, что агрегат будет собираться в течении 700(±100) часов.
ОТЧЁТ РАБОТЫ МОДЕЛИ
Отчёт работы модели для одного насосного агрегата представлен в таблице ниже.
По результатам работы имитационной модели, получим Таблицу 1
Имя устройства (FACILITY) |
Коэффициент использования (UTIL.), % |
Среднее время занятия устройства (AVE. TIME), мин |
Двигатель (Motor) |
79,1 |
266,9 |
Насос (Pumps) |
53,1 |
179,0 |
Опорная плита (Base) |
53,2 |
179,6 |
Оцинковка плиты (Galvanize) |
21,6 |
72,9 |
Покраска насоса (Paint2) |
26,0 |
87,7 |
Покраска двигателя (Paint1) |
19,4 |
65,5 |
Таблица 1.
Построим гистограмму, показывающую время сборки одного насосного агрегата (рисунок 1). По ней очевидно, что агрегат будет собираться в течении 700(±100) часов.
Рисунок 1.
Рассмотрим результаты работы модели для создания 25 насосных агрегатов в таблицах 2 и 3.
Имя очереди (QUEUE) |
Максимальная длина очереди (MAX) |
Средняя длина очереди (AVE. CONT.) |
Среднее время пребывания транзактов в очереди (AVE. TIME) |
Двигатель (Motor) |
4 |
0,883 |
328,53 |
Насос (Pumps) |
4 |
0,786 |
224,31 |
Опорная плита (Base) |
4 |
0,789 |
306,88 |
Имя устройства (FACILITY) |
Коэффициент использования (UTIL.), % |
Среднее время занятия устройства (AVE. TIME), мин |
Двигатель (Motor) |
27 |
219,43 |
Насос (Pumps) |
27 |
226,35 |
Опорная плита (Base) |
27 |
227,61 |
Оцинковка плиты (Galvanize) |
26 |
116,03 |
Покраска насоса (Paint2) |
26 |
121,56 |
Покраска двигателя (Paint1) |
26 |
99,66 |
Таблица 2.
Таблица 3.
Построим гистограмму, показывающую время сборки двадцати пяти насосных агрегатов (рисунок 2). По ней очевидно, что все насосы будут собраны в течение 1400 часов, причём
- в промежутке 400-600 часов будет собрано 3 насосных агрегата
- в последующие 200 часов (600-800) будет собрано наибольшее количество агрегатов - 13
- в период от 800 до 1000 часов вновь будет собрано 3 агрегата
- в промежутке 1000-1200 часов будет собрано 5 насосных агрегатов
- и в последние 200 часов будет собрано наименьшее количество агрегатов - 2.
Рисунок 2.
ИНТЕРПРЕТАЦИЯ
- GENERATE - создание сообщения о поступлении нового заказа и размещение его в списке будущих событий
- SPLIT - создание двух копий сообщения о поступлении нового заказа с адресацией её в блок Factory
- TABLE - таблица
- название - Transit
- M1 - имя случайной переменной значение которой будет табулироваться
- 200 - число являющееся первым граничным значением. Самый левый интервал
- 200 - ширина интервала
- 20 - общее число интервалов таблицы. Включая нижний и верхний
БЛОКИ ЗАКАЗА ДВИГАТЕЛЯ/НАСОСА/ОПОРНОЙ ПЛИТЫ
- QUEUE - включение сообщения о получении двигателя (Motor), насоса (Pumps) или плиты (Base) со склада в очередь
- SEIZE - занятие устройства/услуги или ожидание его освобождения для последующего занятия
- DEPART - вывод сообщения из очереди
- ADVANCE - задержка сообщения на определённое время, с включением его в список будущих событий
- RELEASE - освобождение устройства/услуги
- TRANSFER - пересылка сообщения в блок проверки (Tryout)
- MATCH - синхронизация сообщений (например, ожидание сообщением о поступлении насоса связанных с ним сообщений в других блоках модели)
- TEST - проверка арифметических условий и модификация направления движения потока сообщений
БЛОК СБОРКИ (Build)
- ASSEMBLE - вывод из модели трёх сообщений для двигателя, насоса и плиты о сборке всех составляющих в один агрегат
- ADVANCE - задержка сообщения о сборке агрегата на 150(±30) минут, с включением его в список будущих событий
- TABULATE - обновление данных таблицы Transit, заданной в начале модели
- TERMINATE - уничтожение сообщения, уменьшение счётчика завершённых сообщений
ЗАКЛЮЧЕНИЕ
Итак, данная
имитационная модель заключалась в
том, что некий производитель выпускает
насосные агрегаты, которые собираются
по заказам клиентов. Заказы поступают
в среднем каждые 5 часов. При поступлении
заказа с него снимают две копии. Исходный
заказ используется для получения со склада
двигателя и подготовки его к сборке (200±100
минут). Первая копия используется для
заказа и подгонки насоса (180±120 минут),
а вторая копия – для производства опорной
плиты (80±20 минут).
Когда насос и опорная плита готовы, производится
проверочный монтаж (50±10 минут). После
того как будут готовы все три компонента,
производится окончательная сборка. Агрегат
разбирается, насос и двигатель окрашиваются,
а опорная плита оцинковывается. Затем
агрегат собирается окончательно (150±30
минут).
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
- Томашевский В. Имитационное моделирование в среде GPSS. - М.: Бестселлер, 2003, 217 с.
- Блоки GPSS. - URL: http://codingrus.ru/
readarticle.php?article_id= 2115 Дата обращения: 21.04.2013. - Кудрявцев Е.М. GPSS World. Основы имитационного моделирования различных систем. - М.: ДМК-Пресс, 2004. - 320 с.: ил. (Серия "Проектирование"). ISBN 5-94074-219-X

- Компьютерное моделирование в решении экономических задач
- Компьютерное моделирование в решении экономических задач, виды и назначение моделей
- Компьютерное моделирование в среде 3D Canvas
- Компьютерное моделирование инженерных задач
- Компьютерное моделирование микроволнового фильтра нижних частот на основе микрополосковой линии
- Компьютерное моделирование помещения в EASE
- Компьютерное моделирование системы в пакете Model Vision Studium
- Компьютерная реализация автоматизации подсистемы маркетинга в программе «Клиентская база»
- Компьютерная реализация настольного тенниса
- Компьютерная сеть
- Компьютерная сеть на тонком коаксиальном кабеле
- Компьютернные технологии в обучени иностранному языку в средней школе
- Компьютерное бронирование в сфере туризма
- Компьютерное имитационное моделирование