Применение теории массового обслуживания в исследовании рынка
Шаг 3. Разработка программного обеспечения. Весь имитационный эксперимент проводится на быстродействующей ЭВМ. Другими словами, все стадии эволюционного развития модели, так же как и генерирование случайных событий, протекают в ЭВМ. Если имитируемая система обладает очень простой структурой, то может оказаться, что при разработке соответствующего «вычислительного варианта» модели удобнее всего… Читать ещё >
Применение теории массового обслуживания в исследовании рынка (реферат, курсовая, диплом, контрольная)
- Введение
- Глава 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 Классификация процессов обслуживания
Обозначения Кендалла систем массового обслуживания.
Аналогично входному потоку процесс обслуживания требований может быть детерминированным и стохастическим.
Детерминированный процесс обслуживания характеризуется постоянной величиной времени обслуживания
где — интенсивность обслуживания, которая представляет собой число требований, обслуживаемых в единицу времени.
Стохастический процесс обслуживания может быть произвольным, рекуррентным или совершенно случайным, как и при описании входного потока требований.
При рассмотрении систем массового обслуживания часто используются обозначения предложенные Кендаллом. Они позволяют описать СМО с помощью следующих трех элементов: вид входного потока, распределение продолжительности обслуживания, число обслуживающих приборов.
Используются следующие обозначения:
M — пуассоновское или экспоненциальное распределение;
D — постоянная величина;
Ek — распределение Эрланга;
G — общий вид распределения;
GI — рекуррентный входной поток.
Общий вид, характеризующий систему массового обслуживания, представляет собой следующую последовательность:
где Н1 — характеристика входного потока, H2 — характеристика времени обслуживания прибора, i — число приборов.
Например, система M /D /s — система с s приборами, обслуживающая поступающие требования за строго определенный интервал времени, поступающие требования образуют пуассоновский поток.
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) для одноканальной СМО и построить графики при трех случаях:
1) л >µ;
2) л=µ;
3) л<�µ (рис. 5 а, б, в). Можно также определить предельную пропускную способность СМО. Решение второй системы уравнений для многоканальной СМО в аналитическом виде получить вручную сложно, и его обычно получают с помощью ЭВМ в численном виде.
Рис. 5 а, б, в, г.
В целом, характеристики одноканальной СМО с отказами приведены ниже и особых пояснений не требуют.
Таблица 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 «Когда другие методы беспомощны…»
Несмотря на то, что математическое программирование и стохастическое моделирование имеют широкий диапазон применения, при рассмотрении многих важных задач организационного управления возникает необходимость обращаться к совершенно иным методам анализа.
Методы математического моделирования пока не смогут обеспечить исчерпывающего анализа таких задач организационного управления, как:
1. Формирование инвестиционной политики при перспективном планировании. Инвестиционная политика крупных фирма должна, в частности, учитывать финансовое обеспечение научно-исследовательских и опытно-конструкторских работ при создании новых видов продукции, возможности расширения рынка сбыта, критериальные оценки основных проектов, оценку степени риска при планировании тех или иных комплексов работ, источники финансирования (кредит, привлечение капитала продажей акций и т. д.), увеличение фонда заработной платы, размещение и сокращение финансовых активов, сравнительную оценку вариантов слияния с другой фирмой и приобретения последней и т. п. Полноценная операционная модель, с помощью которой можно было бы анализировать различные варианты инвестиционной политики, должна учитывать стохастическую природу и динамический характер инвестирования, а также предусматривать способ просеивания огромного количества стоящих перед фирмой альтернатив.
2. Выбор средств обслуживания (или оборудования) при текущем планировании. При этом рассматривались задачи определения количества контрольных прилавков в большом торговом центре, количества бензоколонок на бензозаправочной станции и количества лифтов в строящемся здании. Можно привести много других примеров, в которых рассматриваются вопросы распределения кадров, планировка заводских помещений, выбор мощности оборудования и т. д. Типичными вопросами, возникающими в связи с решением задачи выбора средств обслуживания или оборудования, являются вопросы, начинающиеся словами: сколько?, каких размеров? и как разместить?.
3. Разработка планов с обратной информационной связью и операционных предписаний. Примеры такого рода задач также многочисленны, хотя они не сразу могут прийти на ум тем, кто не имеет достаточного профессионального опыта. К важным задачам данного класса относится, например, задача выработки правил составления календарных планов на предприятиях с мелкосерийным производством, комбинатах по ремонту различных изделий, вычислительных центрах и т. д. Эти предписания, или операционные алгоритмы, должны учитывать гарантийные сроки выполнения заказов, потребности в обслуживании, наличные ресурсы, производственные мощности, темпы повышения квалификации рабочих (или приток дополнительной квалифицированной рабочей силы), уровень снабжения сырьем. По мере поступления информации о новых уже выполненных заказах предприятие сталкивается с задачей уточнения или полного пересмотра своих планов-графиков.
Почему описанные выше классы задач с трудом поддаются анализу? Причина заключается в необходимости одновременного учета факторов неопределенности, динамической взаимной обусловленности текущих решений и последующих событий, в комплексной взаимозависимости между управляемыми переменными исследуемой операционной системы, а в ряде случаев также и в том, что требуется рассматривать строго дискретную и четко определенную последовательность интервалов времени. Такого рода «глобальные» системные задачи обладают слишком большой размерностью и наличием слишком большого количества внутренних взаимосвязей, в силу чего их не удается решить методами математического программирования.
Наиболее эффективным из существующих в настоящее время операционных методов, выходящих за рамки обычного математического программирования, является метод имитационного моделирования на ЭВМ.
При имитационном моделировании, прежде всего, строится экспериментальная модель системы. Затем производится сравнительная оценка конкретных вариантов функционирования системы путем «проигрывания» различных ситуаций на рассматриваемой модели.
При этом факторы неопределенности, динамические характеристики и весь комплекс взаимосвязей между элементами исследуемой системы представляют в виде формул, хранящихся в памяти быстродействующей ЭВМ. Имитирование системы начинают с некоторого вполне конкретного исходного состояния. В результате принимаемых решений, а также вследствие ряда контролируемых и неконтролируемых событий, среди которых могут быть и события случайного характера, система переходит в последующие моменты времени в другие состояния. Эволюционный процесс, таким образом, продолжается до тех пор, пока не наступит конечный момент планового периода. Отрезки времени внутри планового периода нередко оказываются четко определенными и образуют упорядоченную последовательность на достаточно большом периоде имитирования.
Изложенные выше соображения позволяют понять, почему метод имитационного моделирования удается реализовать только с помощью ЭВМ. Для получения статистической надежности, достаточной для обоснования управляющих решений, как правило, требуется многократное повторение имитационных тестов. Каждый сеанс имитирования настолько сложен, что попытка осуществить имитирование вручную (при разумных затратах времени) скорее всего потерпела бы полный крах. Поэтому неудивительно, что имитационное моделирование на ЭВМ обычно представляет собой весьма дорогостоящий способ исследования больших систем [11, 346 — 349].
1.2.2 Построение имитационной модел
Структуру имитационной модели в большинстве случаев удобно описывать, определяя содержание фигурирующих в ней динамических процессов и результатов функционирования имитируемой системы. Обычно динамические процессы протекают в соответствии с определенными правилами принятия решений. Результаты функционирования реальной системы, как правило, атрибутированы (т.е. имеют вполне определенный физический смысл). Кроме того, наблюдаются атрибутивные связи, устанавливающие способ суммирования результатов функционирования системы.
В любой момент времени имитационная модель находится в некотором вполне определенном состоянии. Состояние системы характеризуется не только результатами, полученными к текущему моменту времени, но нередко включает в себя и некоторые ретроспективные данные.
Зная состояние системы и ее динамику, можно определить «действия» и состояния системы во все последующие моменты времени. Имитационные модели, обладающие эволюционной структурой, часто называют каузальными.
Построив модель, операционист обязательно задается вопросом: «Насколько она реалистична?» Более правильным было бы спросить: «Позволяет ли модель разобраться в существе имитируемого процесса и можно ли с ее помощью прийти к надежным умозаключениям?» В конечном счете, поскольку имитационная модель может описывать реальные явления лишь приближенно, ее следует оценивать по возможности проведения на ее основе анализа управляющих решений, представляющих собой предмет конкретного операционного исследования. Определив цель имитационного эксперимента, операционист строит каждый элемент модели с надлежащей степенью детализации и точности. Здесь необходимо сделать предостережение. Опытные специалисты по имитационному моделированию утверждают, что даже для начинающего операциониста не представит труда построить модель из отдельных компонентов, каждый из которых будет соответствовать действительности, однако после «сшивания» отдельных частей получаемая в результате модель может вести себя не так, как имитируемая реальная ситуация. Поэтому не следует слепо предполагать, что имитационная модель как единое целое является в достаточной степени точной только потому, что каждая из составляющих ее частей, рассматриваемая изолированно от других, представляется вполне адекватной описываемому процессу. Это предостережение особенно важно по той причине, что цель имитационного моделирования заключается в воспроизведении поведения всей функциональной системы в целом, а не отдельных ее частей [11, 356 — 358].
При построении имитационной модели, предназначенной для углубленного анализа проблем организационного управления, преследуют, по крайней мере, одну из следующих целей:
1) Изучение действующей функциональной системы. Рассмотрим промышленную фирму, которая недавно зарегистрировала увеличение числа заказов на свою продукцию и отметила, затем заметное ухудшение качества обслуживания своих клиентов в части соблюдения сроков выполнения этих заказов. У этой фирмы может появиться желание построить имитационную модель, с помощью которой можно было бы изучить, каким образом существующие процедуры определения сроков выполнения принимаемых заказов, календарного планирования производства и оформления заявок на поставку сырья порождают наблюдаемые задержки.
2) Анализ гипотетической функциональной системы. Обратимся к больнице, руководство которой рассматривает вопрос внедрения новой системы управления запасами медицинских препаратов. Руководство больницей может изъявить желание построить с использованием ретроспективных данных имитационную модель, чтобы проверить, каким будет средний уровень средств, связанных в запасах, и как часто будут возникать нехватки различных видов препаратов в случае, если будет реализован предлагаемый план.
3) Проектирование более совершенной функциональной системы. Рассмотрим предприятие с мелкосерийным производством, в котором станочные мощности распределены в соответствии с приоритетами, присвоенными выполняемым работам. У фирмы может появиться желание построить имитационную модель для нахождения эффективного способа определения системы приоритетов с тем, чтобы все работы могли выполняться без больших задержек и чтобы при этом коэффициент использования оборудования предприятия был достаточно высок.
Перейдем теперь к описанию этапов построения и использования имитационной модели.
Шаг 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
В мире, в котором мы живем, нас окружают различные объекты. Этих объектов великое множество. Одни из них имеют определенную форму и состоят из того или иного вещества (материала). Другие не имеют определенной формы. Одни — одушевленные, другие — неодушевленные. Объектом является также и то, что создается в результате умственной деятельности человека. Объектами наблюдения и изучения являются различные природные явления. Понятие «объект» связано с практической и познавательной деятельностью человека. Все, что человек использует, производит, изучает, является объектом. Объект — это некоторая часть окружающего мира, рассматриваемая человеком как единое целое. Каждый объект обязательно как-то называется. Имя — это основная характеристика, которая позволяет отличить один объект от другого.
Если же имя объекта вам не знакомо, тогда понадобятся дополнительные характеристики, которые позволят отличить данный объект от других, например, форма, цвет, область использования, назначение и т. д. Чем более точно и подробно составлено описание объекта, тем легче его узнать.
Объект может характеризоваться некоторыми неизменными параметрами (например, дата рождения, длина, ширина и высота комнат в доме), а некоторые параметры могут меняться со временем (например, физические характеристики человека, скорость автомобиля, размер клубка шерсти).
В окружающем мире все объекты связаны друг с другом, они сосуществуют в тесном взаимодействии. При определенных обстоятельствах либо сами объекты, либо под воздействием других объектов могут выполнять какие-то действия. Путем перечисления действий можно довольно точно описать объект. Например, птиц характеризует то, что они могут летать. Однако если вы увидите птицу, которая парит в небе, а потом камнем падает вниз, то можно предположить, что это орел или сокол, поскольку именно для этих птиц свойственны такие действия.
Объекты окружающего нас мира, даже те, которые кажутся самыми простыми, на самом деле необычайно сложны. Чтобы понять, как действует тот или иной объект, иногда приходится вместо реальных объектов рассматривать их упрощенные представления — модели. При построении модели сам объект часто называют оригиналом или прототипом.
Модель — это аналог (заместитель) оригинала, отражающий некоторые его характеристики.
Все разнообразие моделей определяется разнообразием целей, поставленных при их создании.
От выбранной цели зависит, какие характеристики исследуемого объекта считать существенными, а какие отбросить. В соответствии с поставленной целью может быть подобран инструментарий, определены методы решения задачи, формы отображения результатов.
Возможные цели моделирования:
познание окружающего мира;
создание объектов с заданными свойствами;
определение последствий воздействия на объект и принятие правильного решения;
эффективность управления объектом или процессом.
Определение цели моделирования позволяет четко установить, какие данные являются исходными, какие — несущественны в процессе моделирования и что требуется получить на выходе.
Разрабатываются модели в следствии нескольких причин:
оригинала может не существовать в настоящем;
оригинал может иметь много свойств и взаимосвязей;
на модели можно изучать только интересующие исследователя свойства;
оригинал может быть очень больших или очень маленьких размеров.
Моделирование является одним из ключевых видов деятельности человека и всегда в той или иной форме предшествует другим ее видам. Прежде чем браться за любую работу, нужно четко представлять себе отправной и конечный пункты деятельности, а также ее примерные этапы. То же можно сказать о моделировании.
Построение модели позволяет обоснованно принимать решения по усовершенствованию имеющихся объектов и созданию новых, изменению процессов управления ими и, в конечном счете, изменению окружающего нас мира в лучшую сторону.
Моделирование — творческий процесс, и поэтому заключить его в формальные рамки очень трудно. Но все же выделяют несколько этапов процесса моделирования:
1. Постановка задачи (описание задачи, выделение цели моделирования, формализация задачи).
2. Разработка модели (построение информационной и компьютерной модели).
3. Компьютерный эксперимент (составление плана эксперимента и проведение исследования).
4. Анализ результатов моделирования.
Если результаты не соответствуют цели, то возможно возвращение ко всем этапам заново.
Каждый раз при решении конкретной задачи эта схема может подвергаться некоторым изменениям: какой-то блок может быть исключен или усовершенствован, какой-то — добавлен. Все этапы определяются поставленной задачей и целями моделирования.
Имитационное моделирование применяется для исследования и проектирования таких сложных систем и процессов, как предприятия, информационные сети, мировое развитие процессов в экономике или экологии и т. д. То есть, имитационное моделирование применяется для имитирования какой-либо реальности, процессов, происходящих в действительности с какими-либо системами.