Применение теории массового обслуживания в исследовании рынка
Содержание
Введение
Глава 1. Теоретические аспекты теории массового обслуживания
1.1 Математическое моделирование систем массового обслуживания
1.1.1 Элементы теории массового обслуживания
1.1.2 Классификация систем массового обслуживания
1.1.2.1 Классификация входных потоков
1.1.2.2 Классификация процессов обслуживания
1.1.2.3 Классификация систем массового обслуживания
1.1.2.3.1 СМО с отказами
1.1.2.3.2 СМО с ожиданием
1.2 Имитационное моделирование систем массового обслуживания
1.2.1 "Когда другие методы беспомощны…"
1.2.2 Построение имитационной модел
1.2.3 Языки имитационного моделирования
1.2.3.1 Универсальный язык моделирования GPSS
Глава 2. Практическое применение теории массового обслуживания
2.1 Решение задачи математическими методами
2.1.1 Постановка задачи
2.1.2 Решение задачи
2.2 Решение задачи методом моделирования на GPSS
Заключение
Библиография
Введение
Буквально с момента рождения всем нам
приходится сталкиваться с очередями. Наши родители сидели в очереди в Загсе,
чтобы официально зафиксировать этот факт. Мы стоим в очереди в гардероб. Мы
набираем телефонный номер нашей подруги и слышим продолжительные гудки. Не
дозвонившись, мы решаем для экономии времени воспользоваться своим личным авто,
и попадаем в традиционную "пробку".
Юрий Ильич Дружников, русский писатель,
журналист, писал в своем произведении "Я родился в очереди" 1995 года
издания:
"Так уж получилось, что я
действительно родился в очереди.
Мою мать привезли в родильный дом у
Яузских ворот в Москве, который сохранился по сию пору. Мать стояла в длинной
очереди к регистраторше. Схватки начались еще дома, и причиной этих схваток
было мое непреодолимое желание появиться на свет. К несчастью, мать забыла
захватить паспорт, и отец что было сил помчался за ним обратно домой. И хотя
отец чуть не стал чемпионом в беге на длинную дистанцию, к тому времени, когда
он вернулся, я уже родился".
В.А. Емеличев же говорит о том, что
"очереди являются бедствием нашей эпохи, бедствием неизбежным, если мы не
устраним всякую свободу выбора и не будем планировать каждую мелочь, касающуюся
людей и продуктов производства, - a это нетерпимо для цивилизованного общества
и, как правило, неосуществимо. Но, если ожидание неизбежно, его можно в
какой-то степени контролировать: систему или организацию, на входе которой
образуется очередь, можно преобразовать и улучшить с точки зрения
обслуживания" (Лекции по теории графов. - М.: Наука, 1990).
Очереди возникают практически во всех
системах массового обслуживания (СМО) и теория массового обслуживания (теория
очередей) занимается оценкой функционирования системы при заданных параметрах и
поиском параметров, оптимальных по некоторым критериям.
Таким образом, актуальность данной темы
обусловлена тем, что при грамотном подходе и глубоких знаниях теории очередей,
можно задать такие параметры функционирования системы, которые сведут затраты
на содержание СМО к минимуму.
Работа вносит определенный вклад в
обобщение знаний о теории массового обслуживания, что подтверждает
теоретическую значимость.
Практическая значимость состоит в
возможности применения результатов исследования в курсе теории массового
обслуживания при создании пособий, написании курсовых работ и т.п.
Целью данной курсовой работы стало
изучение теоретических аспектов эффективного построения и функционирования СМО.
Указанная цель исследования определила
постановку следующих задач:
Выделить основные элементы СМО.
Привести классификации СМО.
Изучить характеристики, отражающие
эффективность функционирования СМО.
Провести практический анализ эффективности
функционирования СМО.
Объектом изучения данной курсовой работы
является применение теории массового обслуживания в исследовании рынка.
Предметом исследования являются системы
массового обслуживания их моделирование на языке GPSS.
Цель и задачи исследования определили
конкретную структуру курсовой работы. Работа состоит из введения, двух глав,
заключения и списка использованной литературы.
Теоретической и методологической основой
для данной работы явились труды Косорукова О.А., Кремера Н.Ш., Вагнера Г.,
Вентцель Е.С., Шелобаева С.И. и многих других.
Глава 1.
Теоретические аспекты теории массового обслуживания
1.1
Математическое моделирование систем массового обслуживания
1.1.1
Элементы теории массового обслуживания
При исследовании операций часто приходится
сталкиваться с системами, предназначенными для многоразового использования при
решении однотипных задач. Возникающие при этом процессы получили название
процессов обслуживания, а системы - систем массового обслуживания [4, 333].
Согласно Т.Ю. Новгородцевой и Д.С. Матусевичу,
под системой массового обслуживания понимают объект (предприятие, организация и
др.), деятельность которого связана с многократной реализацией исполнения
каких-то однотипных задач и операций [5, 5].
Авторы Бережная Е.В. и Бережной В.И.
утверждают, что системы массового обслуживания - это такие системы, в которые в
случайные моменты времени поступают заявки на обслуживание, при этом
поступившие заявки обслуживаются с помощью имеющихся в распоряжении системы
каналов обслуживания.
Требованием или заявкой называется объект,
который необходимо обслужить: железнодорожные составы, проходящие через
железнодорожный узел, покупатели, приобретающие товар и т.д. Как видно, объект
является носителем запроса. Поэтому в дальнейшем под требованием понимается и сам
запрос на обслуживание. Например, запрос на ремонт станка, запрос на продажу
товара покупателю и т.д.
С позиции моделирования процесса массового
обслуживания ситуации, когда образуются очереди заявок (требований) на
обслуживание, возникают следующим образом. Поступив в обслуживающую систему,
требование присоединится к очереди других требований (ранее поступивших)
требований. Канал обслуживания выбирает требование, из находящихся в очереди, с
тем, чтобы приступить к его обслуживанию. После завершения процедуры
обслуживания очередного требования канал обслуживания приступает к обслуживанию
следующего требования, если таковое имеется в блоке ожидания. Цикл
функционирования системы массового обслуживания подобного рода повторяется
многократно в течение всего периода работы обслуживающей системы. При этом
предполагается, что переход системы на обслуживание очередного требования после
завершения обслуживания предыдущего требования происходит мгновенно, в
случайные моменты времени.
Примерами систем массового обслуживания
могут служить:
посты технического обслуживания
автомобилей;
персональные компьютеры, обслуживающие
поступающие заявки или требования для решения тех или иных задач;
отделы налоговых инспекций, занимающиеся
приемкой и проверкой текущей отчетности предприятий;
аудиторские фирмы;
телефонные станции и т.д.
Каждая СМО (рис.1) включает в свою
структуру некоторое число обслуживающих устройств, называемых каналами
обслуживания (к их числу можно отнести лиц, выполняющих те или иные операции, -
кассиров, операторов, менеджеров и т.п.), обслуживающих некоторый поток заявок
(требований), поступающих на ее вход в случайные моменты времени. Обслуживание
заявок происходит за неизвестное, обычно случайное время и зависит от множества
самых разнообразных факторов. После обслуживания заявки канал освобождается и
готов к приему следующей заявки. Случайный характер потока заявок и времени их
обслуживания приводит к неравномерности загрузки СМО - перегрузке с
образованием очередей заявок или недогрузке - с простаиванием каналов.
Таким образом, в СМО имеются: входящий
поток заявок, дисциплина очереди, поток необслуженных (покинувших очередь)
заявок, каналы обслуживания с механизмом обслуживания и выходящий поток
обслуженных заявок.
Рис.1. Структура СМО.
Раскроем содержание каждого из указанных
выше компонентов.
Для описания входного потока требуется
задать вероятностный закон, определяющий последовательность моментов
поступления требований на обслуживание и указать количество таких требований в
каждом очередном поступлении. При этом, как правило, оперируют понятием
"вероятностное распределение моментов поступления требований". Здесь
могут поступать как единичные, так и групповые требования (требования поступают
группами в систему). В последнем случае обычно речь идет о системе облуживания
с параллельно-групповым обслуживанием.
Дисциплина очереди - это важный компонент
системы массового обслуживания, он определяет принцип, в соответствии с которым
поступающие на вход обслуживающей системы требования подключаются из очереди к
процедуре обслуживания. Чаще всего используются дисциплины очереди,
определяемые следующими правилами:
первым пришел - первый обслуживаешься;
пришел последним - обслуживаешься первым;
случайный отбор заявок;
отбор заявок по критерию приоритетности;
ограничение времени ожидания момента
наступления обслуживания (имеет место очередь с ограниченным временем ожидания
обслуживания, что ассоциируется с понятием "допустимая длина
очереди").
Механизм обслуживания определяется характеристиками
самой процедуры обслуживания и структурой обслуживающей системы. К
характеристикам процедуры обслуживания относятся: продолжительность процедуры
обслуживания и количество требований, удовлетворяемых в результате выполнения
каждой процедуры. Для аналитического описания характеристик процедуры
обслуживания оперируют понятием "вероятностное распределение времени
обслуживания требований".
Следует отметить, что время обслуживания
заявки зависит от характера самой заявки или требований клиента и от состояния
и возможностей обсуживающей системы. В ряде случаев приходится также учитывать
вероятность выхода обслуживающего прибора по истечении некоторого ограниченного
интервала времени.
Структура обслуживающей системы
определяется количеством и взаимным расположением каналов обслуживания
(механизмов, приборов и т.д.). Прежде всего, следует подчеркнуть, что система
обслуживания может иметь не один канал обслуживания, а несколько; система
подобного рода способна обслуживать сразу несколько требований. В этом случае
все каналы обслуживания предлагают одни и те же услуги, и, следовательно, можно
утверждать, что имеет место параллельное обслуживание.
Система обслуживания может состоять из
нескольких разнотипных каналов обслуживания, через которые должно пройти каждое
обслуживаемое требование, т.е. в обслуживающей системе процедура обслуживания
требований реализуется последовательно. Механизм обслуживания определяет
характеристики выходящего (обслуженного) потока требований.
Рассмотрев основные компоненты систем обслуживания,
можно констатировать, что функциональные возможности любой системы массового
обслуживания определяются следующими основными факторами:
вероятностным распределением моментов
поступления заявок на обслуживание (единичных или групповых);
вероятностным распределением времени
продолжительности обслуживания;
конфигурацией обслуживающей системы
(параллельное, последовательное или параллельно-последовательное обслуживание);
количеством и производительностью
обслуживающих каналов;
дисциплиной очереди;
мощностью источника требований.
В качестве основных критериев
эффективности функционирования систем массового обслуживания в зависимости от
характера решаемой задачи могут выступать:
вероятность немедленного обслуживания
поступившей заявки;
вероятность отказа в обслуживании
поступившей заявки;
относительная и абсолютная пропускная
способность системы;
средний процент заявок, получивших отказ в
обслуживании;
среднее время ожидания в очереди;
средняя длина очереди;
средний доход от функционирования системы
в единицу времени и т.д.
Итак, предметом теории массового
обслуживания является установление зависимости между факторами, определяющими
функциональные возможности системы, и эффективностью ее функционирования. В
большинстве случаев все параметры, описывающие систему массового обслуживания,
являются случайными величинами или функциями, поэтому эти системы относятся к
стохастическим системам [2, 82 - 85].
1.1.2
Классификация систем массового обслуживания
Согласно общей классификации система
массового обслуживания разделяется на три подсистемы.
Первая подсистема - это система массового
обслуживания без потерь. Под термином система без потерь (с полным ожиданием)
понимают систему, в которой, если все приборы заняты, требование становится в
очередь и не покидает ее до тех пор, пока не будет обслужено.
Вторая подсистема - это система с
частичными потерями. Подобная подсистема характеризуется тем, что требование
либо не становится в очередь, если эта очередь превышает по длине некоторую
величину (система с ограниченной длиной очереди), либо становится в очередь, но
покидает ее, если время пребывания в ней превышает определенную величину
(система с ограниченным временем пребывания), или, если время ожидания в
очереди начала обслуживания превышает определенную величину (система с
ограниченным временем ожидания начала обслуживания).
Третья подсистема - это система без
очередей. Под этим термином понимают систему, в которой требование покидает
систему, если все обслуживающие устройства (приборы) заняты. В такой системе,
очевидно, очереди не может быть.
Системы, имеющие очередь, подразделяются
на системы с одной очередью и системы с несколькими очередями.
Все системы массового обслуживания делятся
на системы с одним каналом и системы с конечным числом каналов обслуживания. Под
термином канал понимают обслуживающее устройство в цехе, пропускающее через
себя требование. В тех случаях, когда приборов много удобно (математически
более просто) считать, что их бесконечное число.
Все системы массового обслуживания можно
разделить на системы с бесконечным числом требований (например, запросы на
телефонные переговоры, на обслуживание покупателей, автомашины на
бензозаправках и т.д.) и с конечным числом требований в системе (группа ремонта
станков в цехе: число станков известно, тренировка футболистов футбольной
команды, лечение больных студентов в институтской поликлинике и т.п.).
теория массовое обслуживание
математический
Представленная классификация, конечно, не
исчерпывает все множество различных систем массового обслуживания. Эти системы
могут классифицироваться и по другим признакам.
Так, весьма важной характеристикой
является дисциплина обслуживания, под которой понимают порядок выбора
требований из очереди. В соответствии с этим системы подразделяются на четыре
вида.
СМО с типом дисциплины "первый пришел
- первый обслуживается" - дисциплина "живой очереди";
СМО с типом дисциплины "последний
пришел - первый обслуживается" - примером такой системы является склад,
заполненный изделиями, из которого на доработку удобно брать изделия, поступившие
последними;
СМО с типом дисциплины выбора требований
случайным способом;
СМО с типом дисциплины выбора требований в
соответствии с присвоенными приоритетами.
Другими вариантами классификаций могут
быть следующие.
Поступление требований может быть
единичным и групповым.
Требования могут обслуживаться параллельно
работающими приборами, но может быть и система, в которой приборы расположены
последовательно так, что как только будет обслужено требование первым прибором,
то начнет обслуживаться и другое и т.д.
Интенсивность обслуживания прибором может
быть постоянной или зависеть от длины очереди, приоритетов или каких-либо
других факторов.
Наконец, системы массового обслуживания
различают по характеру входного потока и по характеру обслуживающих устройств.
1.1.2.1
Классификация входных потоков
По характеру входной поток требований
разделяется на детерминированный поток требований и стохастический (рис.2).
Детерминированный входной поток может быть
двух видов. В первом случае требования поступают через равные промежутки
времени. Другим видом детерминированного потока является поток, в котором
требования поступают по известной программе - расписанию, когда моменты
поступления новых требований известны заранее.
Рис.2. Классификация входного потока
Если промежутки времени между
поступлениями требований случайны, то это будет стохастический процесс.
Стохастический поток требований
подразделяется на три вида: поток с произвольными стохастическими свойствами,
рекуррентный поток и совершенно случайный или пуассоновский поток требований.
Произвольный поток требований
характеризуется тем, что на него не накладывается никаких ограничений на
стохастическую независимость интервалов между поступлениями требований, а также
на характер вероятностных законов, описывающих интервалы между требованиями.
Входной поток называется рекуррентным,
если он характеризуется следующими свойствами:
продолжительность интервалов между
поступлениями требований стохастически независимы;
продолжительность интервалов описывается
одной и той же плотностью распределения.
Входной поток называется совершенно
случайным или простейшим, если для него характерно:
продолжительность интервалов между
поступлениями требований статистически независимы;
продолжительность интервалов описывается
одной и той же плотностью распределения;
вероятность поступления требований на
достаточно малом интервале Δt зависит только лишь от
величины Δt (это свойство называется
стационарностью или однородностью прихода);
вероятность поступления требований на
интервале Δt не зависит от
предыстории процесса;
характер потока требований таков, что в
любой момент времени может поступить только одно требование.
Таким образом, простейший поток требований
или совершенно случайный поток - это поток, определяющейся свойствами
стационарности, ординарности и отсутствием последствия одновременно.
Предположения о совершенно случайном
входном потоке требований эквивалентно тому, что плотность распределения интервалов
времени между последовательными поступлениями требований описывается
экспоненциальным законом:
(1.1)
где λ -
интенсивность поступления заявок в систему.
Если интервалы распределены по экспоненциальному закону, то
процесс пуассоновский. Такие процессы называются М-процессами (Марковскими).
Кроме закона Пуассона часто применяется закон распределения
Эрланга.
(1.2)
1.1.2.2
Классификация процессов обслуживания
Обозначения Кендалла систем массового
обслуживания.
Аналогично входному потоку процесс
обслуживания требований может быть детерминированным и стохастическим.
Детерминированный процесс обслуживания
характеризуется постоянной величиной времени обслуживания
где - интенсивность обслуживания, которая
представляет собой число требований, обслуживаемых в единицу времени.
Стохастический процесс обслуживания может быть произвольным,
рекуррентным или совершенно случайным, как и при описании входного потока
требований [15].
При рассмотрении систем массового обслуживания часто используются
обозначения предложенные Кендаллом. Они позволяют описать СМО с помощью
следующих трех элементов: вид входного потока, распределение продолжительности
обслуживания, число обслуживающих приборов.
Используются следующие обозначения:- пуассоновское или
экспоненциальное распределение;- постоянная величина;k -
распределение Эрланга;- общий вид распределения;- рекуррентный входной поток.
Общий вид, характеризующий систему массового обслуживания,
представляет собой следующую последовательность:
где Н1 - характеристика входного потока, H2 - характеристика времени обслуживания прибора, i - число приборов.
Например, система M /D /s - система с s приборами, обслуживающая
поступающие требования за строго определенный интервал времени, поступающие
требования образуют пуассоновский поток [16].
1.1.2.3
Классификация систем массового обслуживания
По характеру обслуживания.
1.1.2.3.1 СМО
с отказами
Одноканальная СМО содержит один канал (n = 1), и на ее вход поступает пуассоновский поток заявок Пвх
интенсивность (среднее число событий в единицу времени) которого inПвх=λ. Так как интенсивность входящего потока
может изменяться во времени, то вместо λ записывают λ (t). Тогда время обслуживания каналом одной заявки Тоб
распределено по показательному закону и записывается в виде: , где λ - интенсивность отказов.
Состояние СМО характеризуется простаиванием или занятостью ее
канала, т.е. двумя состояниями: S0 - канал свободен и простаивает, S1 - канал занят. Переход системы из состояния S0 в состояние S1 осуществляется под воздействием входящего
потока заявок Пвх, а из состояния S1 в
состояние S0 систему переводит поток обслуживании Поб: если в
данный момент времени система находится в некотором состоянии, то с
наступлением первого после данного момента времени СМО переходит в другое
состояние. Плотности вероятностей перехода из состояния S0 в S1 и обратно равны соответственно λ и µ. Граф состояний подобной СМО с двумя
возможными состояниями приведен на рис.3.
Рис.3. Граф состояний одноканальной СМО с отказами.
Для многоканальной СМО с отказами (n > 1) при тех же условиях состояния системы обозначим по числу
занятых каналов (по числу заявок, находящихся в системе под обслуживанием, так
как каждый канал в СМО либо свободен, либо обслуживает только одну заявку).
Таким образом, подобная СМО может находиться в одном из следующих
(n+1) состояний: s0 - все n каналов свободны; s1 - занят
только один из каналов, остальные (n-1)
каналов свободны; si - заняты i - каналов, (n-i) каналов свободны; sn - заняты все n каналов. Граф состояний такой СМО приведен на рис.4.
Рис.4. Граф состояний многоканальной СМО с отказами.
При этом имеет место а
Пользуясь общим правилом составления дифференциальных уравнений
Колмогорова, можно для приведенных на рис.2 и рис.3 графов состояний составить
системы дифференциальных уравнений:
например, для одноканальной СМО (рис.2) имеем:
для многоканальной СМО (рис.3) соответственно имеем:
Решив первую систему уравнений, можно найти значения p0 (t) и p1 (t) для одноканальной СМО и построить графики при трех
случаях:
) λ >µ;
) λ=µ;
) λ<µ
(рис.5 а, б, в). Можно также определить предельную пропускную способность СМО.
Решение второй системы уравнений для многоканальной СМО в аналитическом виде
получить вручную сложно, и его обычно получают с помощью ЭВМ в численном виде.
Рис.5 а, б, в, г.
В целом, характеристики одноканальной СМО
с отказами приведены ниже и особых пояснений не требуют [17].
Таблица 1. Характеристики одноканальной
СМО с отказами.
Характеристика
в момент времени t
|
Обозначения,
формулы
|
Вероятность
того, что канал свободен
|
|
Вероятность
того, что поступившая заявка будет принята к обслуживанию
|
|
Вероятность
занятости канала
|
|
Вероятность
отказа заявки
|
|
Относительная
пропускная способность СМО (средняя доля обслуженных заявок среди
поступивших)
|
|
Абсолютная
пропускная способность СМО (среднее число обслуженных заявок за единицу
времени)
|
|
Интенсивность
выходящего потока обслуженных заявок
|
|
Среднее время
обслуживания заявок
|
|
Среднее время
пребывания заявки в системе
|
|
Вероятность
того, что канал свободен
|
|
Вероятность
того, что поступившая заявка будет принята к обслуживания
|
|
Вероятность
занятности канала
|
|
Вероятность
отказа заявке
|
|
Относительная
пропускная способность СМО
|
|
Абсолютная
пропускная способность СМО
|
|
Интенсивность
выходящего потока Пвых обслуженных заявок
|
|
Среднее время
обслуживания заявок
|
|
Среднее время
пребывания заявки в системе
|
|
1.1.2.3.2 СМО
с ожиданием
Система массового обслуживания имеет один
канал. Входящий поток заявок на обслуживание - простейший поток с
интенсивностью λ. Интенсивность потока
обслуживания равна µ (т.е. в среднем непрерывно занятый канал будет выдавать µ
обслуженных заявок). Длительность обслуживания - случайная величина,
подчиненная показательному закону распределения. Поток обслуживаний является
простейшим пуассоновским потоком событий. Заявка, поступившая в момент, когда
канал занят, становится в очередь и ожидает обслуживания.
Предположим, что независимо от того,
сколько требований поступает на вход обслуживающей системы, данная система
(очередь + обслуживаемые клиенты) не может вместить более N-требований (заявок),
т.е. клиенты, не попавшие в ожидание, вынуждены обслуживаться в другом месте.
Наконец, источник, порождающий заявки на обслуживание, имеет неограниченную
(бесконечно большую) емкость. Граф состояний СМО в этом случае имеет вид,
показанный на рис.6.
Рис.6. Граф состояний одноканальной СМО с
ожиданием
Состояния СМО имеют следующую
интерпретацию:
S0 - канал свободен;
S1 - канал занят (очереди
нет);
S2 - канал занят (одна
заявка стоит в очереди);
Sn - канал занят (n-1 заявок стоит в
очереди);
SN - канал занят (N-1 заявок стоит в
очереди).
Стационарный процесс в данной системе
будет описываться следующей системой алгебраических уравнений:
(1.11)
где ρ=λ/µ;
n - номер состояния.
Решение приведенной выше системы уравнений (1.10) для нашей модели
СМО имеет вид:
(1.12)
(1.13)
Тогда
Следует отметить, что выполнение условия стационарности для данной СМО необязательно, поскольку
число допускаемых в обслуживающую систему заявок контролируется путем введения
ограничения на длину очереди (которая не может превышать N-1), а не соотношением между интенсивностями входного
потока, т.е. не отношением λ/µ=ρ. Определим характеристики одноканальной
СМО с ожиданием и ограниченной длиной очереди, равной (N-1): вероятность отказа в обслуживании заявки:
(1.14)
относительная пропускная способность системы:
(1.15)
абсолютная пропускная способность:
(1.16)
среднее число находящихся в системе заявок:
(1.17)
среднее время пребывания заявки в системе:
(1.18)
средняя продолжительность пребывания клиента (заявки) в очереди:
(1.19)
среднее число заявок (клиентов) в очереди (длина очереди):
. (1.20) [2, 89 - 92].
Теперь рассмотрим более подробно СМО, имеющую n-каналов с неограниченной очередью. Поток заявок,
поступающих в СМО, имеет интенсивность λ, а поток обслуживаний - интенсивность µ.
Необходимо найти предельные вероятности состояний СМО и показатели ей
эффективности.
Система может находиться в одном состоянии S0, S1, S2,…,Sk,…,Sn,…, нумеруемых по числу заявок,
находящихся в СМО: S0 - в системе нет заявок (все каналы
свободны); S1 - занят один канал, остальные свободны; S2 - заняты
два канала, остальные свободны; …, Sk - занято k каналов,
остальные свободны; …, Sn -
заняты все n каналов (очереди нет); Sn+1 - заняты все n каналов, в
очереди одна заявка; …, Sn+r - заняты все n каналов, r заявок стоит в очереди, ….
Граф состояний показан на рисунке 7.
Рис.7. Граф состояний многоканальной СМО с
ожиданием
Обратим внимание, что по мере увеличения в
СМО от 0 до n
увеличивается число каналов обслуживания. При числе заявок в СМО, большем, чем n, интенсивность потока обслуживания
сохраняется равной nµ.
Формулы для предельных состояний СМО с
ожиданием выглядят следующим образом:
(1.27)
(1.28)
(1.29)
Вероятность того, что заявка окажется в очереди равна:
(1.30)
Для n-канальной СМО с ожиданием, используя прежние
формулы, можно найти:
среднее число занятых каналов:
(1.31)
среднее число заявок в очереди:
(1.32)
среднее число заявок в системе:
(1.31) [4, 349 - 360].
1.2
Имитационное моделирование систем массового обслуживания
1.2.1
"Когда другие методы беспомощны…"
Несмотря на то, что математическое программирование
и стохастическое моделирование имеют широкий диапазон применения, при
рассмотрении многих важных задач организационного управления возникает
необходимость обращаться к совершенно иным методам анализа.
Методы математического моделирования пока
не смогут обеспечить исчерпывающего анализа таких задач организационного
управления, как:
. Формирование инвестиционной политики при
перспективном планировании. Инвестиционная политика крупных фирма должна, в
частности, учитывать финансовое обеспечение научно-исследовательских и
опытно-конструкторских работ при создании новых видов продукции, возможности
расширения рынка сбыта, критериальные оценки основных проектов, оценку степени
риска при планировании тех или иных комплексов работ, источники финансирования
(кредит, привлечение капитала продажей акций и т.д.), увеличение фонда
заработной платы, размещение и сокращение финансовых активов, сравнительную
оценку вариантов слияния с другой фирмой и приобретения последней и т.п.
Полноценная операционная модель, с помощью которой можно было бы анализировать
различные варианты инвестиционной политики, должна учитывать стохастическую
природу и динамический характер инвестирования, а также предусматривать способ
просеивания огромного количества стоящих перед фирмой альтернатив.
. Выбор средств обслуживания (или
оборудования) при текущем планировании. При этом рассматривались задачи
определения количества контрольных прилавков в большом торговом центре,
количества бензоколонок на бензозаправочной станции и количества лифтов в
строящемся здании. Можно привести много других примеров, в которых
рассматриваются вопросы распределения кадров, планировка заводских помещений,
выбор мощности оборудования и т.д. Типичными вопросами, возникающими в связи с
решением задачи выбора средств обслуживания или оборудования, являются вопросы,
начинающиеся словами: сколько?, каких размеров? и как разместить?.
. Разработка планов с обратной
информационной связью и операционных предписаний. Примеры такого рода задач
также многочисленны, хотя они не сразу могут прийти на ум тем, кто не имеет
достаточного профессионального опыта. К важным задачам данного класса
относится, например, задача выработки правил составления календарных планов на
предприятиях с мелкосерийным производством, комбинатах по ремонту различных
изделий, вычислительных центрах и т.д. Эти предписания, или операционные
алгоритмы, должны учитывать гарантийные сроки выполнения заказов, потребности в
обслуживании, наличные ресурсы, производственные мощности, темпы повышения
квалификации рабочих (или приток дополнительной квалифицированной рабочей
силы), уровень снабжения сырьем. По мере поступления информации о новых уже
выполненных заказах предприятие сталкивается с задачей уточнения или полного
пересмотра своих планов-графиков.
Почему описанные выше классы задач с
трудом поддаются анализу? Причина заключается в необходимости одновременного
учета факторов неопределенности, динамической взаимной обусловленности текущих
решений и последующих событий, в комплексной взаимозависимости между
управляемыми переменными исследуемой операционной системы, а в ряде случаев
также и в том, что требуется рассматривать строго дискретную и четко
определенную последовательность интервалов времени. Такого рода
"глобальные" системные задачи обладают слишком большой размерностью и
наличием слишком большого количества внутренних взаимосвязей, в силу чего их не
удается решить методами математического программирования.
Наиболее эффективным из существующих в
настоящее время операционных методов, выходящих за рамки обычного
математического программирования, является метод имитационного моделирования на
ЭВМ.
При имитационном моделировании, прежде
всего, строится экспериментальная модель системы. Затем производится
сравнительная оценка конкретных вариантов функционирования системы путем
"проигрывания" различных ситуаций на рассматриваемой модели.
При этом факторы неопределенности,
динамические характеристики и весь комплекс взаимосвязей между элементами
исследуемой системы представляют в виде формул, хранящихся в памяти
быстродействующей ЭВМ. Имитирование системы начинают с некоторого вполне
конкретного исходного состояния. В результате принимаемых решений, а также
вследствие ряда контролируемых и неконтролируемых событий, среди которых могут
быть и события случайного характера, система переходит в последующие моменты
времени в другие состояния. Эволюционный процесс, таким образом, продолжается
до тех пор, пока не наступит конечный момент планового периода. Отрезки времени
внутри планового периода нередко оказываются четко определенными и образуют
упорядоченную последовательность на достаточно большом периоде имитирования.
Изложенные выше соображения позволяют
понять, почему метод имитационного моделирования удается реализовать только с
помощью ЭВМ. Для получения статистической надежности, достаточной для
обоснования управляющих решений, как правило, требуется многократное повторение
имитационных тестов. Каждый сеанс имитирования настолько сложен, что попытка
осуществить имитирование вручную (при разумных затратах времени) скорее всего
потерпела бы полный крах. Поэтому неудивительно, что имитационное моделирование
на ЭВМ обычно представляет собой весьма дорогостоящий способ исследования
больших систем [11, 346 - 349].
.2.2
Построение имитационной модел
Структуру имитационной модели в
большинстве случаев удобно описывать, определяя содержание фигурирующих в ней
динамических процессов и результатов функционирования имитируемой системы.
Обычно динамические процессы протекают в соответствии с определенными правилами
принятия решений. Результаты функционирования реальной системы, как правило,
атрибутированы (т.е. имеют вполне определенный физический смысл). Кроме того,
наблюдаются атрибутивные связи, устанавливающие способ суммирования результатов
функционирования системы.
В любой момент времени имитационная модель
находится в некотором вполне определенном состоянии. Состояние системы
характеризуется не только результатами, полученными к текущему моменту времени,
но нередко включает в себя и некоторые ретроспективные данные.
Зная состояние системы и ее динамику,
можно определить "действия" и состояния системы во все последующие
моменты времени. Имитационные модели, обладающие эволюционной структурой, часто
называют каузальными.
Построив модель, операционист обязательно
задается вопросом: "Насколько она реалистична?" Более правильным было
бы спросить: "Позволяет ли модель разобраться в существе имитируемого
процесса и можно ли с ее помощью прийти к надежным умозаключениям?" В
конечном счете, поскольку имитационная модель может описывать реальные явления
лишь приближенно, ее следует оценивать по возможности проведения на ее основе
анализа управляющих решений, представляющих собой предмет конкретного
операционного исследования. Определив цель имитационного эксперимента,
операционист строит каждый элемент модели с надлежащей степенью детализации и
точности. Здесь необходимо сделать предостережение. Опытные специалисты по
имитационному моделированию утверждают, что даже для начинающего операциониста
не представит труда построить модель из отдельных компонентов, каждый из
которых будет соответствовать действительности, однако после
"сшивания" отдельных частей получаемая в результате модель может
вести себя не так, как имитируемая реальная ситуация. Поэтому не следует слепо
предполагать, что имитационная модель как единое целое является в достаточной
степени точной только потому, что каждая из составляющих ее частей,
рассматриваемая изолированно от других, представляется вполне адекватной
описываемому процессу. Это предостережение особенно важно по той причине, что
цель имитационного моделирования заключается в воспроизведении поведения всей
функциональной системы в целом, а не отдельных ее частей [11, 356 - 358].
При построении имитационной модели,
предназначенной для углубленного анализа проблем организационного управления,
преследуют, по крайней мере, одну из следующих целей:
) Изучение действующей функциональной
системы. Рассмотрим промышленную фирму, которая недавно зарегистрировала
увеличение числа заказов на свою продукцию и отметила, затем заметное ухудшение
качества обслуживания своих клиентов в части соблюдения сроков выполнения этих
заказов. У этой фирмы может появиться желание построить имитационную модель, с
помощью которой можно было бы изучить, каким образом существующие процедуры
определения сроков выполнения принимаемых заказов, календарного планирования
производства и оформления заявок на поставку сырья порождают наблюдаемые
задержки.
) Анализ гипотетической функциональной
системы. Обратимся к больнице, руководство которой рассматривает вопрос
внедрения новой системы управления запасами медицинских препаратов. Руководство
больницей может изъявить желание построить с использованием ретроспективных
данных имитационную модель, чтобы проверить, каким будет средний уровень
средств, связанных в запасах, и как часто будут возникать нехватки различных
видов препаратов в случае, если будет реализован предлагаемый план.
) Проектирование более совершенной
функциональной системы. Рассмотрим предприятие с мелкосерийным производством, в
котором станочные мощности распределены в соответствии с приоритетами,
присвоенными выполняемым работам. У фирмы может появиться желание построить
имитационную модель для нахождения эффективного способа определения системы
приоритетов с тем, чтобы все работы могли выполняться без больших задержек и
чтобы при этом коэффициент использования оборудования предприятия был
достаточно высок.
Перейдем теперь к описанию этапов
построения и использования имитационной модели.
Шаг 1. Построение модели. Содержание
данного этапа почти не отличается от содержания этапа построения операционной
модели любого другого типа. Опасность при этом заключается в излишней
детализации модели, которая может привести к слишком большим затратам машинного
времени при выполнении соответствующего эксперимента. Лучший способ уберечься
от такого рода опасности заключается в том, чтобы постоянно помнить о
конкретной цели исследования. Например, если модель должна помочь в выборе
одного из двух вариантов размещения нового складского помещения, то, по-видимому,
нет необходимости при построении имитационной модели делить плановый период на
часы или дни: вполне достаточно использовать отрезки времени, продолжительность
которых равняется 1 недели. Однако если с помощью модели нужно решить, сколько
в новом складе должно быть погрузочно-разгрузочных платформ (например, одна или
две), то, возможно, возникнет необходимость имитировать процесс
функционирования упомянутого складского помещения, ориентируясь на отрезки
времени продолжительностью от 5 до 15 мин.
Шаг 2. Разработка проекта эксперимента.
Операционист сможет уменьшить вероятность той или иной ошибки и, таким образом,
потери времени, если он подробно разработает сопровождающие эксперимент
процедуры до того, как модель будет "приведена в действие". Это означает,
что операционисту необходимо тщательно продумать, какие функциональные
характеристики имитируемой системы планируется измерять. Кроме того, следует
определить, с помощью какого метода математической статистики будут учитываться
флуктуации экспериментальных данных, полученных в результате этих измерений.
Шаг 3. Разработка программного
обеспечения. Весь имитационный эксперимент проводится на быстродействующей ЭВМ.
Другими словами, все стадии эволюционного развития модели, так же как и
генерирование случайных событий, протекают в ЭВМ. Если имитируемая система
обладает очень простой структурой, то может оказаться, что при разработке
соответствующего "вычислительного варианта" модели удобнее всего
использовать один из стандартных языков программирования типа Фортран, PL/I или
Алгол. Однако представляется более вероятным, что предпочтение будет отдано
одному из языков моделирования, такому, как Симскрипт или GPSS, трансляторы с
которых имеются для многих больших ЭВМ. В процессе практического применения метода
имитационного моделирования операционист убедится, что перечисленные выше этапы
не являются полностью независимыми и не выполняются в строго установленной
последовательности. Так, например, если специалист по исследованию операций уже
владеет языком моделирования, скажем GPSS, то он, возможно, захочет
"сформулировать" имитационную модель сразу на этом языке.
1.2.3 Языки
имитационного моделирования
Операционисту, не являющемуся одновременно
специалистом в области программирования для ЭВМ, транслировать выбранную им
имитационную модель в соответствующую машинную программу никогда не придется.
Тем не менее знать содержание основных этапов отображения модели на машинные
программы представляется совершенно необходимым.
Для проигрывания простых типовых моделей можно
использовать так называемые специальные стандартные программы, которые требуют
от операциониста лишь задания определенного количества входной информации.
Наиболее показательными примерами таких программ являются моделирующие
программы управления запасами. Существует несколько специальных стандартных
программ, проверяющих стратегию управления запасами с точки зрения их
эффективности. Чтобы использовать такого рода программы, необходимо задать
конкретные предписания (которые формулируются, например,
следующим образом: "при снижении
уровня запасов до 4 единиц заказать 10 дополнительных единиц") или
располагать формулой для определения этих предписаний при известном уровне
спроса. При этом в качестве входной информации необходимо представить также
либо ретроспективные данные относительно спроса, либо распределение
вероятностей для уровней спроса. При наличии всей указанной выше информации
машинная программа обеспечивает имитирование функциональной системы для любого
заданного операционистом числа интервалов времени, а также вычисляет такие
статистические характеристики системы, как средний уровень запасов, количество
оформляемых заказов и т.д.
Однако гораздо чаще модель требует
специального программного обеспечения. Если модель относится к числу лишь
умеренно сложных, применяется нечасто и программируется специалистами, не
имеющими большого опыта работы с имитационными моделями, то, по-видимому,
наиболее легкий способ решения задачи - использовать такие языки, как Фортран,
PL/I или Алгол.
Эти языки хорошо известны всем
программистам, занимающимся программированием, связанным с решением научных
проблем; при этом программисту для выполнения трансляции на машинный язык
требуется знать лишь подробное описание исследуемой модели.
Однако языки типа Фортран, PL/I и Алгол
обладают существенным недостатком. Программист, использующий один из таких
языков, вынужден заново составлять подпрограммы для ряда вычислительных
процедур, которые используются почти во всех имитационных процессах. Другими
словами, программисту, как говорится, вновь приходится изобретать велосипед.
Так, например, во многих случаях имитационная модель предполагает генерирование
случайных переменных, и, следовательно, для каждой такой переменной требуется
своя подпрограмма. Кроме того, поскольку представляется желательным накапливать
статистические данные по ряду характеристик операционной системы, необходимо
составить подпрограммы, реализующие соответствующие вычислительные процедуры.
Наконец, значительные трудозатраты возникают в связи с разработкой компактного
способа представления выходных имитационных данных.
Даже в случае не очень сложных моделей
требуется тщательная проработка вопросов размещения информации внутри машинной
памяти, составления основной программы, обеспечивающей правильное следование
событий и продвижение имитационного процесса по оси времени. Чтобы облегчить
задачу программного обеспечения имитационного моделирования, разработан ряд
специализированных машинных языков. При использовании специализированных
программ требуется лишь задать функции распределения вероятностей, после чего
генерация случайных событий по заданному закону распределения осуществляется
автоматически. Некоторые из программ обеспечивают сбор статистических данных по
тем или иным исследуемым характеристикам операционной системы и выдачу
результатов имитирования в определенной, заранее установленной форме. С помощью
тех же программ осуществляется упорядочение событий и регистрация во времени
каждого перехода системы из одного состояния в другое.
Почему же программы, обладающие такими
преимуществами, не используются во всех случаях имитационного моделирования?
Имеется несколько весьма веских причин, не позволяющих пока ориентироваться
только на специализированные программы. Одна из причин заключается в том, что
языки специализированных программ в некоторой степени отличаются от языков типа
Фортран, PL/I или Алгол, и, следовательно, программист сталкивается с
необходимостью освоения новых элементов языка и самого метода программирования.
Одним из наиболее эффективных моделирующих
языков является Симскрипт. Чтобы овладеть этим языком, необходимо знать
Фортран. Симскрипт, обладая значительной гибкостью, весьма сложен в обращении.
К числу языков примитивного типа относится универсальный язык моделирования
GPSS. Это совершенно автономный (замкнутый) язык, легко поддающийся изучению,
но, естественно, обладающий ограниченными возможностями. Его мы рассмотрим
более подробно.
1.2.3.1
Универсальный язык моделирования GPSS
В мире, в котором мы живем, нас окружают
различные объекты. Этих объектов великое множество. Одни из них имеют
определенную форму и состоят из того или иного вещества (материала). Другие не
имеют определенной формы. Одни - одушевленные, другие - неодушевленные.
Объектом является также и то, что создается в результате умственной
деятельности человека. Объектами наблюдения и изучения являются различные
природные явления. Понятие "объект" связано с практической и
познавательной деятельностью человека. Все, что человек использует, производит,
изучает, является объектом. Объект - это некоторая часть окружающего мира,
рассматриваемая человеком как единое целое. Каждый объект обязательно как-то
называется. Имя - это основная характеристика, которая позволяет отличить один
объект от другого.
Если же имя объекта вам не знакомо, тогда
понадобятся дополнительные характеристики, которые позволят отличить данный
объект от других, например, форма, цвет, область использования, назначение и
т.д. Чем более точно и подробно составлено описание объекта, тем легче его
узнать.
Объект может характеризоваться некоторыми
неизменными параметрами (например, дата рождения, длина, ширина и высота комнат
в доме), а некоторые параметры могут меняться со временем (например, физические
характеристики человека, скорость автомобиля, размер клубка шерсти).
В окружающем мире все объекты связаны друг
с другом, они сосуществуют в тесном взаимодействии. При определенных
обстоятельствах либо сами объекты, либо под воздействием других объектов могут
выполнять какие-то действия. Путем перечисления действий можно довольно точно
описать объект. Например, птиц характеризует то, что они могут летать. Однако
если вы увидите птицу, которая парит в небе, а потом камнем падает вниз, то
можно предположить, что это орел или сокол, поскольку именно для этих птиц
свойственны такие действия.
Объекты окружающего нас мира, даже те,
которые кажутся самыми простыми, на самом деле необычайно сложны. Чтобы понять,
как действует тот или иной объект, иногда приходится вместо реальных объектов
рассматривать их упрощенные представления - модели. При построении модели сам
объект часто называют оригиналом или прототипом.
Модель - это аналог (заместитель)
оригинала, отражающий некоторые его характеристики.
Все разнообразие моделей определяется
разнообразием целей, поставленных при их создании.
От выбранной цели зависит, какие
характеристики исследуемого объекта считать существенными, а какие отбросить. В
соответствии с поставленной целью может быть подобран инструментарий,
определены методы решения задачи, формы отображения результатов.
Возможные цели моделирования:
познание окружающего мира;
создание объектов с заданными свойствами;
определение последствий воздействия на
объект и принятие правильного решения;
эффективность управления объектом или
процессом.
Определение цели моделирования позволяет
четко установить, какие данные являются исходными, какие - несущественны в
процессе моделирования и что требуется получить на выходе.
Разрабатываются модели в следствии
нескольких причин:
оригинала может не существовать в
настоящем;
оригинал может иметь много свойств и
взаимосвязей;
на модели можно изучать только
интересующие исследователя свойства;
оригинал может быть очень больших или
очень маленьких размеров.
Моделирование является одним из ключевых
видов деятельности человека и всегда в той или иной форме предшествует другим
ее видам. Прежде чем браться за любую работу, нужно четко представлять себе
отправной и конечный пункты деятельности, а также ее примерные этапы. То же
можно сказать о моделировании.
Построение модели позволяет обоснованно
принимать решения по усовершенствованию имеющихся объектов и созданию новых,
изменению процессов управления ими и, в конечном счете, изменению окружающего
нас мира в лучшую сторону.
Моделирование - творческий процесс, и
поэтому заключить его в формальные рамки очень трудно. Но все же выделяют
несколько этапов процесса моделирования:
. Постановка задачи (описание задачи,
выделение цели моделирования, формализация задачи).
. Разработка модели (построение
информационной и компьютерной модели).
. Компьютерный эксперимент (составление
плана эксперимента и проведение исследования).
. Анализ результатов моделирования.
Если результаты не соответствуют цели, то
возможно возвращение ко всем этапам заново.
Каждый раз при решении конкретной задачи
эта схема может подвергаться некоторым изменениям: какой-то блок может быть
исключен или усовершенствован, какой-то - добавлен. Все этапы определяются
поставленной задачей и целями моделирования.
Имитационное моделирование применяется для
исследования и проектирования таких сложных систем и процессов, как
предприятия, информационные сети, мировое развитие процессов в экономике или
экологии и т.д. То есть, имитационное моделирование применяется для
имитирования какой-либо реальности, процессов, происходящих в действительности
с какими-либо системами.
Имитационная модель системы - это
программа, в которой определяются все наиболее существенные элементы и связи в
системе и задаются начальные значения параметров, соответствующие некоторому
"нулевому" моменту времени, а все последующие изменения, происходящие
в системе, вычисляются на ЭВМ автоматически при выполнении программы.
Для того чтобы построить имитационную
модель какой-либо системы, необходимо написать программу. Для этого нужно
задать начальные значения параметров системы на момент начала моделирования
("нулевой" момент времени), а также описать все наиболее существенные
элементы системы и связи между ними. В соответствии с этой программой компьютер
сам вычислит все изменения параметров системы и выдаст результат.
Такой метод моделирования не требует
составления уравнений и, тем более, не требует их решения. При этом он
позволяет отображать и исследовать поведение системы с любой точностью. Причем
все это делается автоматически программой.
Выполнение имитационной модели называется
имитационным экспериментом.
В ходе имитационного эксперимента
компьютер имитирует функционирование системы и вычисляет все необходимые
характеристики свойств, проявляемых системой.
В отличие от натурного эксперимента
(другими словами - настоящего, реального) имитационный эксперимент позволяет
экспериментировать с системами, которых еще или уже нет, позволяет
предсказывать поведение существующих систем в будущем, изучать их поведение в
чрезвычайных условиях. Он дешевле и быстрее натурных экспериментов.
По характеру возможных изменений
переменных величин модели подразделяются на непрерывные и дискретные.
В непрерывных моделях величины
представляют собой непрерывные функции времени, а в дискретных моделях любые
изменения происходят мгновенно, скачкообразно, и между моментами изменений
состояний элементов остаются постоянными.
Реальные системы не бывают непрерывными
или дискретными. Просто для одних систем удобнее применять непрерывные модели,
для других - дискретные.
Представления о дискретности и
непрерывности выработаны в рамках математики. Значит, когда мы говорим, что
некоторая модель является дискретной, то тем самым уже имеем в виду не реальную
систему, существующую в физическом мире, а некую математическую модель. Но в то
же время любой физический объект или процесс мы можем описывать и моделировать
как непрерывный или как дискретный. И какой вариант мы бы ни избрали, мы можем
достичь любой точности описания
Например, речь человека можно описать в
виде текста, то есть дискретной моделью. Можно записать речь как непрерывную
звуковую волну, то есть как непрерывную функцию времени. Затем можно эту же
звуковую волну оцифровать, то есть вновь представить дискретной моделью, и
такая модель будет не менее точной, чем непрерывная.
Рассмотрим теперь, как соотносятся модели
математические и компьютерные.
При моделировании реальных систем мы
вначале составляем некоторое представление о реальной системе, достаточно
точное. Это значит, что мы формируем математическую модель системы. Затем эту
математическую модель мы превращаем в модель компьютерную. Следовательно,
математические представления играют при моделировании роль своеобразного
связующего звена между компьютерными моделями и реальными системами.
Но мы должны понимать, что объекты,
реализованные в компьютерной программе, только лишь похожи на соответствующие
математические объекты, но не идентичны им. Например, прямая линия на экране
дисплея не есть то же самое, что прямая линия в математике. В математике прямая
не имеет толщины. А на экране компьютера прямая не может не иметь определенную
толщину, иначе она не была бы видна.
Это обычная компьютерная практика -
моделировать математические объекты с известными свойствами посредством
физических (компьютерных) объектов, которые сами этими свойствами не обладают.
При этом, хотя точность моделирования математических объектов компьютерными
может быть очень высокой, это все-таки не избавляет нас от необходимости
понимания замаскированных различий между исходными математическими объектами и
их компьютерными образами.
Язык (система) имитационного моделирования
дискретных систем GPSS позволяет автоматизировать при моделировании систем
процесс программирования моделей. В настоящее время он является одним из
наиболее эффективных и распространенных программных средств моделирования
сложных дискретных систем на ЭВМ и успешно используется для моделирования
систем, формализуемых в виде схем массового обслуживания, с помощью которых
описываются многие объекты.
С помощью языка имитационного
моделирования GPSS очень удобно моделировать работу систем массового
обслуживания (парикмахерская, заводской цех и др.).
Язык GPSS построен в предположении, что
моделью сложной дискретной системы является описание ее элементов и логических
правил их взаимодействия в процессе функционирования моделируемой системы.
Рассмотрим такую задачу: В парикмахерскую
с одним парикмахером приходят клиенты через 20 ± 10 минут друг за другом. Время
стрижки одного клиента составляет 19 ± 5 мин. Требуется определить среднюю
длину очереди клиентов и среднее время ожидания клиентами начала обслуживания.
Эту задачу можно изобразить схематически
следующим образом:
Рис.8. Схема работы парикмахерской (число
обслуживающих каналов равно 1)
В соответствии со схематическим
изображением парикмахерской ее модель на языке GPSS может быть написана
следующим образом:
GENERATE 20,10
SEIZE 1
ADVANCE 19,5
RELEASE 1
TERMINATE
Здесь левая колонка - это номера строк
модели: произвольные положительные числа в порядке возрастания. Строки
нумеруются не: 1, 2, 3 и т.д. Удобнее всего нумеровать их так, как показано:
10, 20, 30 и т.д. Это позволяет легко вставлять новую строку между любыми двумя
уже введенными строками и присваивать ей номер, например 15, 25, 26 и т.п. В
системе GPSS World можно не нумеровать строки.
Следующие две колонки - названия
операторов и поле переменных. Рассмотрим, какие же операторы входят в модель, и
для чего они предназначены.
Блок GENERATE порождает транзакты
(клиентов) через каждые 20 ± 10 единиц времени (в данном примере считаем
единицу времени минутой). Число 20 в первом операнде (в поле A) указывает
интервал модельного времени, через который генерируются транзакты. В поле B
записано число 10, которое задает временные границы интервала, т.е. время
прихода очередного клиента получается как случайное число в промежутке от 20 -
10 = 10 до 20 + 10 = 30.
Таким образом, первый блок модели выдает
через случайные интервалы времени транзакты, которые изображают приходящих в
парикмахерскую клиентов.
Блок SEIZE 1, в который поступают транзакты
из блока GENERATE, выполняет операцию занятия транзактами устройства номер 1.
Блок ADVANCE 19, 5 задерживает транзакт,
который занял устройство, на 19 ± 5 единиц времени, моделируя тем самым
задержку клиента на время его обслуживания.
По истечении этого времени транзакт
переходит в блок RELEASE 1, в котором выполняется освобождение устройства номер
1, и далее поступает в блок TERMINATE, в котором транзакты уничтожаются.
Конечно, это не означает, что клиенты после стрижки тоже уничтожаются, просто
клиент уходит из системы, значит, транзакт, моделирующий его, больше нам не
нужен. Мы уничтожаем транзакт, чтобы не нужно было описывать его дальнейшее
движение и чтобы освободить занимаемую им память компьютера.
В тот момент, когда один транзакт
освобождает устройство, другой транзакт, стоящий в очереди, занимает это
устройство. Оба действия выполняются в один и тот же момент модельного времени.
Когда один транзакт находится в блоке ADVANCE, другие транзакты время от
времени появляются в блоке GENERATE и становятся в очередь к устройству.
Следовательно, в модели одновременно в разных ее местах движутся несколько
транзактов, выполняя те или иные операции, и могут влиять друг на друга и на
другие объекты модели.
Здесь мы наблюдаем, параллельное
выполнение нескольких процессов в одной программе, в которой и заключается
существенное отличие языка GPSS от обычных алгоритмических языков, языков
программирования. Это отличие делает язык имитационного моделирования GPSS
мощным средством описания реальных систем, так как в реальных системах разные
процессы в разных частях системы развиваются одновременно и при этом
взаимодействуют между собой.
Но нам нужно не просто составить
программу, моделирующую работу парикмахерской. Необходимо еще, чтобы при
выполнении модели GPSS собирал статистику об очереди транзактов (клиентов). Для
этого нужно включить в модель еще два блока - QUEUE (точка входа в очередь) и
DEPART (точка выхода). Мы можем расставлять эти точки в своих моделях в
принципе произвольным образом. Это зависит от того, о каком участке системы нам
нужна статистика по движению через него потока транзактов.
В данной модели парикмахерской эти точки
следует выбирать так:
GENERATE 20,10
QUEUE 1; точка входа в очередь номер 1
SEIZE 1
DEPART 1; точка выхода из очереди номер 1
ADVANCE 19,5
RELEASE 1
TERMINATE
При такой расстановке блоков QUEUE и
DEPART получается, что транзакт входит в очередь в момент появления его в
системе, а выходит из очереди в момент, когда ему удалось занять устройство, то
есть пройти блок SEIZE. Следовательно, очередь 1 будет собирать статистику именно
об очереди клиентов к парикмахеру, как она изображена на нашей схеме. И в
результате выполнения модели мы узнаем ответ на вопрос, поставленный в задаче:
найти среднюю длину очереди клиентов и среднее время ожидания клиентами начала
обслуживания.
Но можно расставить блоки QUEUE и DEPART
иначе:
GENERATE 20,10
QUEUE 1; точка входа в очередь номер 1
20 SEIZE 1
ADVANCE 19,5
RELEASE 1
DEPART 1; точка выхода из очереди номер 1
TERMINATE
В этом случае статистика по очереди номер
1 будет соответствовать числу всех клиентов в парикмахерской вообще, включая
клиента, обслуживаемого парикмахером. Таким образом, очереди, по которым мы
можем собирать статистику, не обязательно должны совпадать с теми очередями,
которые создаются транзактами, ожидающими освобождения устройств и памятей.
Ввести модель необходимо следующим
образом.
. Запустить GPSS.
. Ввести текст программы File ® New ®
Model
GENERATE 20,10
QUEUE 1; точка входа в очередь номер 1
SEIZE 1
DEPART 1; точка выхода из очереди номер 1
30 ADVANCE 19,5
RELEASE 1
TERMINATE
GENERATE 480; один день - 480 минут
110 TERMINATE 1
. Проверить программу на ошибки, создать
симуляцию Command ® Create Simulation
. Запустить программу, моделировать один
раз Command ® Start
. Проанализировать отчет.
START TIME END TIME
BLOCKS FACILITIES STORAGES
.000 480.000 9 1 0LOC
BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
GENERATE 25 0 0
QUEUE 25 3 0
SEIZE 22 0 0
DEPART 22 0 0
ADVANCE 22 1 0
RELEASE 21 0 0
TERMINATE 21 0 0
GENERATE 1 0 0
TERMINATE 1 0 0ENTRIES
UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
22 0.894 19.505 1 23 0 0
0 3MAX 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 (счетчик текущих)
показано число транзактов, задержанных в каждом блоке в момент останова модели.
Статистика по очередям содержит таблицу, в
которой по каждой очереди в модели приводятся следующие основные данные.
В колонке 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% - высокий темп.
Глава 2.
Практическое применение теории массового обслуживания
2.1 Решение задачи
математическими методами
2.1.1
Постановка задачи
В универсаме к узлу расчета поступает поток покупателей с
интенсивностью λ = 81
человек в час. Средняя продолжительность обслуживания контролером-кассиром
одного покупателя об. = 2 минуты. Рабочее время 8 часов (1 час обеденный
перерыв). Средняя з/п одного контролера-кассира составляет 5000руб. в месяц.
Кассовый аппарат стоит 3000руб. (срок службы 5 лет). Стоимость канцтоваров
(бумага, кассовая лента, ручки и т.д.) на одного кассира составляет 150 руб. в
месяц.
Арендная плата в месяц составляет 10000 руб. Коммунальные услуги
составляют 2000 руб. Налоги составляют 5670 руб.
Средний размер покупки - 100руб.
Определить:
а) Минимальное количество контролеров-кассиров nmin, при котором очередь не будет расти до
бесконечности, соответствующие характеристики обслуживания при n=nmin и прибыль фирмы при этих условиях.
б) Оптимальное количество nопт. контролеров-кассиров,
при котором относительная величина затрат, связанная с издержками на содержание
каналов обслуживания и с пребыванием в очереди покупателей, задаваемая,
например, какотн. = , будет минимальна, и сравнить характеристики обслуживания при n=nmin и n=nопт. Определить прибыль
фирмы при n=nопт.
в) Вероятность того, что в очереди будет не более трех
покупателей.
2.1.2 Решение
задачи
Задача представляет собой яркий пример СМО
с ожиданием.
Необходимо найти:
А). Минимальное количество контролеров-кассиров nmin, при котором очередь не будет расти до
бесконечности, соответствующие характеристики обслуживания при n=nmin и прибыль фирмы при этих условиях.
Находим среднее число занятых каналов по формуле 1.31.
По условию l=81 (1/ч) =1.35
(1/мин).
Очередь не будет расти до бесконечности при условии, что среднее
число занятых каналов будет меньше, чем реальное количество кассиров. На
числовой оси наименьшее натуральное целое число, большее, чем 2,7, есть число
3. Значит минимальное количество кассиров =3. Рассчитаем основные характеристики этой СМО с количеством
кассиров =3. Вероятность того, что канал свободен.
По формуле (1.27) получаем:
Таким образом, можно заключить, что 2,5% времени касса свободна.
Вероятность того, что заявка окажется в очереди, рассчитаем по
формуле 1.30:
Среднее число заявок в очереди. Воспользовавшись формулой 1.31,
получаем:
Среднее время ожидания в очереди
Среднее число заявок в системе
Рассчитаем прибыль фирмы при этих условиях.
Прибыль = выручка - себестоимость. На себестоимость продукции
отнесем заработную плату 3х кассиров, амортизационные отчисления от
использования основных средств (кассовые аппараты), материальные затраты на
канцелярию, арендную плату, затраты на коммунальные услуги, а также начисленные
предприятию налоги. При расчете заработной платы будем считать, что фирма
работает без выходных, а отчетный период равен 30 дням.
З/П.3х кассиров = 3 кассира*5 т. р. =15 т. р.
Начислена амортизация основных средств:
т. р.
Материальные затраты на канцелярию 150*3=0,45 т. р.
Арендная плата = 10 т. р.
Затраты на коммунальные услуги = 2 т. р.
Начисленные предприятию налоги = 5,670 т. р.
Значит себестоимость по осуществлению предпринимательской
деятельности предприятия = 15+3+0,45+10+2+5,670=36,12 т. р.
Рассчитаем выручку с учетом данных задачи об интенсивности обслуживания.
Если человек в час, то можем посчитать, сколько
людей обслуживается одним кассиром за месяц: человек.
Теперь можем определить размер выручки: т. р.
Прибыль = 5103-36,12 =5066,88 т. р.
Б). Оптимальное количество nопт. контролеров-кассиров,
при котором относительная величина затрат, связанная с издержками на содержание
каналов обслуживания и с пребыванием в очереди покупателей, задаваемая,
например, как Cотн. = , будет минимальна, и сравнить характеристики обслуживания при n=nmin и n=nопт. Определить прибыль
фирмы при n=nопт.
При n=3 относительная величина затрат,
выражаемая как Cотн. = , будет равна Cотн=. Рассчитаем относительную величину затрат при n=4,5,6,7 и представим их в сводной таблице. N=4
, N=5
N=6
N=7
Таблица 2. Сравнительные характеристики СМО с
числом каналов обслуживания n = 3,4,5,6,7.
Характеристика
|
N=3
|
N=4
|
N=5
|
N=6
|
N=7
|
Вероятность того, что канал свободен
0,025
,057
,05
,053
0,05
|
|
|
|
|
|
Среднее время
ожидания в очереди Toch
|
5,8
|
0,59
|
0,3
|
0,084
|
0,021
|
Затраты Cотн. =
,6
,32
,55
,944
Минимальное выражение относительная величина затрат принимает при n=6, значит . Из таблицы видно, что характеристики системы с шестью каналами
обслуживания заметно уменьшились: вероятность того, что канал свободен,
увеличилась в 2,12 раза; среднее время ожидания в очереди сократилось на 5,716
минуты; затраты на содержание каналов обслуживания и с пребыванием в очереди
покупателей уменьшились в 3,964 раза.
Это говорит о несомненном росте эффективности функционирования СМО
при увеличении обслуживающих каналов с 3х до 6ти.
Теперь рассчитаем прибыль для СМО с количеством обслуживающих
каналов n=6.
З/П.6 кассиров*5 т. р. = 30 т. р.
Начислена амортизация основных средств:
т. р.
Материальные затраты на канцелярию 150*6=0,90 т. р.
Арендная плата = 10 т. р.
Затраты на коммунальные услуги = 2 т. р.
Начисленные предприятию налоги = 5,670 т. р.
Значит себестоимость по осуществлению предпринимательской
деятельности предприятия = 30+6+0,9+10+2+5,670=54,57 т. р.
Рассчитаем выручку с учетом данных задачи об интенсивности
обслуживания. Если человек в час, то можем посчитать, сколько
людей обслуживается одним кассиром за месяц: человек.
Теперь можем определить размер выручки: т. р.
Прибыль = 10206-54,57 =10151, 43 т. р.
Прибыль предприятия, не смотря на рост себестоимости, возросла в
два раза.
В). Для расчета вероятности того, что в очереди окажется не более
трех покупателей для СМО с количеством обслуживающих каналов n=6, будем иметь ввиду, что эта вероятность будет
складываться из вероятности того, что заняты все шесть каналов обслуживания и
вероятности того, что в трех из них ждут своей очереди по одному человеку.
Значит
,
где каждое слагаемое найдем по формулам (1.28) - (1.29). Итак,
0,1413+0,
+0,1739+0,1174+0,063+0,0285+0,0128+0,0059+0,0026=0,7386
Таким образом, вероятность того, что в очереди окажется не более
трех покупателей, равна 73,86%.
2.2 Решение
задачи методом моделирования на GPSS
В универсаме к узлу расчета поступает поток покупателей с
интенсивностью λ = 81
человек в час. Средняя продолжительность обслуживания контролером-кассиром
одного покупателя об. = 2 минуты. Рабочее время 8 часов (1 час обеденный
перерыв).
Воспользуемся расчетными данными задачи и создадим имитационную
модель работы универсама длительностью в один день и числом касс (каналов
обслуживания) n=6 (оптимальное число кассиров).
10 KASS STORAGE 6;
GENERATE 1.35;
QUEUE 1;
ENTER KASS;
ADVANCE 2;
DEPART 1;
LEAVE KASS;
TERMINATE 1;
Рассмотрим логику выполнения этой модели.
KASS STORAGE 6
говорит о создании памяти емкостью в шесть единиц, т.е. равной числу кассиров.
Блок GENERATE 1.35 порождает транзакты через каждый
1,35 минуты.
Блок QUEUE, в который поступают транзакты из блока GENERATE, выполняет функцию входа транзакта в
очередь.
Затем транзакт занимает одну ячейку памяти, что описывается блоком
ENTER.
В момент обслуживания, транзакт задерживается в очереди на 2
минуты (ADVANCE 2;).
Выходит из очереди (DEPART 1;).
Освобождает кассу (LEAVE
KASS;).
Уходит из магазина (TERMINATE 1;).
Отчет программы выглядит следующим образом:
GPSS
World Simulation Report - 123.25.1
Thursday, April 08, 2010 01:46:24
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 569.000 7 0 1
NAME VALUE
KASS 10000.000
LABEL
LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 421 0 0
2 QUEUE 421 0 0
3 ENTER 421 0 0
4 ADVANCE 421 1 0
5 DEPART 420 0 0
6 LEAVE 420 0 0
7 TERMINATE 420 0 0
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1
2 1 421 0 1.477 1.997 1.997 0
CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
KASS
6 5 0 2 421 1 1.477 0.246 0 0
XN
PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
422 0 569.700 422 0 1
421 0 570.350 421 4 5
Вывод: Коэффициент использования, доля
времени моделирования, в течение которого устройство было занято (UTIL) равен 0,246. Из того,
что 75,4% рабочего времени касса оставалась свободной, следует, что СМО
"Универсам" по обслуживанию покупателей работает неэффективно. Более
того, можно говорить о том, что предприятие работает себе в убыток. Необходимо сократить
число кассиров.
Попробуем теперь создать имитационную
модель этой же СМО, но теперь сократим число каналов обслуживания до n=3 (минимальное число
кассиров по расчетам математическим методом).
Текст программы выглядит следующим
образом, и, думаю, не нуждается в пояснении:
10 KASS STORAGE 3;
GENERATE 1.35;
QUEUE 1;
ENTER KASS;
ADVANCE 2;
DEPART 1;
LEAVE KASS;
TERMINATE 1;
Выводим отчет и получаем:
GPSS
World Simulation Report - 123.19.1
Thursday, April 08, 2010 00:50:08
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 569.000 7 0 1
NAME VALUE
KASS 10000.000
LABEL
LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 421 0 0
2 QUEUE 421 0 0
3 ENTER 421 0 0
4 DEPART 421 0 0
5 ADVANCE 421 1 0
6 LEAVE 420 0 0
7 TERMINATE 420 0 0
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1
1 0 421 421 0.000 0.000 0.000 0
CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
KASS
3 2 0 2 421 1 1.477 0.492 0 0
XN
PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
422 0 569.700 422 0 1
421 0 570.350 421 5 6
Вывод: Коэффициент использования, доля
времени моделирования, в течение которого устройство было занято (UTIL) равен 0,492. Из того,
что 50, 8% рабочего времени касса оставалась свободной, следует, что СМО
"Универсам" по обслуживанию покупателей работает неэффективно.
Необходимо сократить число кассиров.
Сократив число кассиров до двух, получаем
следующий отчет:
GPSS World Simulation Report - 123.26.1
Thursday, April 08, 2010 01:52:57
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 569.000 7 0 1
NAME VALUE
KASS 10000.000
LABEL
LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 421 0 0
2 QUEUE 421 0 0
3 ENTER 421 0 0
4 ADVANCE 421 1 0
5 DEPART 420 0 0
6 LEAVE 420 0 0
7 TERMINATE 420 0 0
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1
2 1 421 0 1.477 1.997 1.997 0
CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
KASS
2 1 0 2 421 1 1.477 0.739 0 0
XN
PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
422 0 569.700 422 0 1
421 0 570.350 421 4 5
Вывод: Коэффициент использования, доля
времени моделирования, в течение которого устройство было занято (UTIL) равен 0,739, т.е.26,1%
времени касса остается свободной. Но, не смотря на это, можно говорить о
несомненном росте эффективности функционирования СМО.
Заключение
Несмотря на то, что математическое
программирование и стохастическое моделирование имеют широкий диапазон
применения, при рассмотрении многих важных задач организационного управления
возникает необходимость обращаться к совершенно иным методам анализа.
Наиболее эффективным из существующих в
настоящее время операционных методов, выходящих за рамки обычного
математического программирования, является метод имитационного моделирования на
ЭВМ.
При имитационном моделировании, прежде
всего, строится экспериментальная модель системы. Затем производится
сравнительная оценка конкретных вариантов функционирования системы путем
"проигрывания" различных ситуаций на рассматриваемой модели.
Язык (система) имитационного моделирования
дискретных систем GPSS позволяет автоматизировать при моделировании систем
процесс программирования моделей.
С помощью языка имитационного
моделирования GPSS очень удобно моделировать работу систем массового
обслуживания (парикмахерская, заводской цех и др.).
Язык GPSS построен в предположении, что
моделью сложной дискретной системы является описание ее элементов и логических
правил их взаимодействия в процессе функционирования моделируемой системы.
Сравнивая решение практической задачи в
данной курсовой математическими методами и методом имитационного моделирования
на языке GPSS, можно говорить о том, что, несомненно, компьютерное
моделирование заметно облегчает процесс принятия решения по конкретному
вопросу.
Хотя, с другой стороны, решение
математическими методами более полно охватывает все характеристики
интересующего вопроса, и отражают картину функционирования системы с разных
точек зрения.
Так, например, решение математическими методами приводит к выводу
о том, что оптимальное число кассиров в СМО "Универсам" должно быть
равно шести, т.к. именно количество каналов обслуживания отражается на
относительной величине затрат, связанной с издержками на содержание каналов
обслуживания и с пребыванием в очереди покупателей, задаваемая, по условию
задачи, как Cотн=
Метод же имитационного моделирования приводит к выводу о том, что
даже минимального количества кассиров, которое рассчитано математическими
методами и равно трем, более, чем достаточно для эффективного функционирования
системы. Здесь следует иметь ввиду, что при моделировании на языке GPSS, не предусмотрен расчет промежуточных
характеристик СМО как то, например, среднее время ожидания в очереди, среднее
число заявок в системе, да и само выражение величины себестоимости.
Компьютерное моделирование пока не может полно отразить положение
вещей и учесть все характеристики системы, и уж тем более облегчить принятие
оптимального экономического решения, хотя заметно помогает в выполнении
рутинных расчетов при решении задач математическими методами.
Библиография
1. http://vtit.
kuzstu.ru/books/shelf/book1/doc/gl%2015.html
<http://vtit.kuzstu.ru/books/shelf/book1/doc/gl%2015.html> // М.А.
Тынкевич. Экономико-математические методы (исследование операций). Издание
второе (исправленное и дополненное). Кузбасский государственный технический университет.
Кемерово, 2000.
. Бережная Е.В.,
Бережной В.И. Математические методы моделирования экономических систем. М.:
Финансы и статистика. 2001.
. Косоруков О.А.,
Мищенко А.В. Исследование операций. М.: "Экзамен", 2003.
. Кремер Н.Ш.
Исследование операций в экономике. М.: ЮНИТИ, 2000.
. Анализ систем
массового обслуживания с использованием программного комплекса "Теория
Массового Обслуживания". Методические указания. Издательство ИГЭА. 2001.
. О.В. Серая. Анализ
немарковской системы обслуживания с отказами. Национальный технический
университет "ХПИ", Харьков.
. Газета "Успехи
математических наук", ноябрь-декабрь 1968, m. XXIII,
вып. 6 (144). Критика и библиография. В.Я. Розенберг, А.И. Прохоров. "Что
такое теория массового обслуживания". Рецензия Шехтера Б. А.
. Александрова Е.А.
Теория массового обслуживания в задачах оптимизации. Статья. Вольное
экономическое общество России. 2009.
. Вентцель Е.С.
Исследование операций. Задачи, принципы, методология.
. Экономико-математические
методы и прикладные модели. Под ред. Федосеева В.В. М.: ЮНИТИ, 1999.
. Вагнер Г. Основы
исследования операций. Том 3. Перевод с англ. Вавилова Б.Т. Издательство
"МИР". 1973.
. http://www.allmath.ru/appliedmath/mathmet/mathmet8/mathmet.
htm // <http://www.allmath.ru/appliedmath/mathmet/mathmet8/mathmet.htm
//> Математическое моделирование // гл.10. Язык программирования GPSS.
. <http://itteach.ru/gpss/programmirovanie-v-gpss
//> Программирование в GPSS.
. <http://itteach.ru/gpss/obschee-opisanie
//> Система GPSS.
. Т.Я. Лазарева, И.В.
Диденко. Системы массового обслуживания: методические разработки. Тамбов:
Тамбовский государственный технический университет. 2001.
. http://www.dtdm.
tomsk.ru/~isador/index.html <http://www.dtdm.tomsk.ru/~isador/index.html>
// Исследование операций.
. Шелобаев С.И.
Математические методы и модели в экономике, финансах, бизнесе. Москва: ЮНИТИ.
2001.