МОДЕЛИРОВАНИЕ И ОЦЕНКА ЭФФЕКТИВНОСТИ РАБОТЫ ДВУХФАЗНОЙ СМО С ОТКАЗАМИ

Подробнее
Курсовая работа с различными расчётами из программы GPSS, которые были необязательны, но я все же сделал. Защищена на «отлично», была лучшей работой на курсе (со слов преподавателя).
Текстовая версия:

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение
высшего образования

«КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
(ФГБОУ ВО «КубГУ»)

Кафедра экономики и управления инновационными системами

КУРСОВАЯ РАБОТА

МОДЕЛИРОВАНИЕ И ОЦЕНКА ЭФФЕКТИВНОСТИ
РАБОТЫ ДВУХФАЗНОЙ СМО С ОТКАЗАМИ

Работу выполнил ______________________________ П. С. Райчук

(подпись, дата)

Факультет экономический, курс 4

Направление подготовки: 27.03.02  Управление качеством

Научный руководитель

доцент кафедры экономики и управления

инновационными системами,
к. ф.-м. н., доцент ______________________________ А. В. Лежнев

(подпись, дата)

Нормоконтролер

доцент кафедры экономики и управления

инновационными системами,
к. ф.-м. н., доцент ______________________________ А. В. Лежнев

(подпись, дата)

Краснодар 2018


ВВЕДЕНИЕ

Сложный характер рыночной экономики и современный уровень предъявляемых к ней требований стимулируют использование более серьезных методов анализа ее теоретических и практических проблем. В последние десятилетия значительный вес в экономических исследованиях приобрели математические методы. Математическое моделирование все более и более становится одним из основных и наиболее плодотворных методов изучения экономических процессов и объектов. Математический анализ экономических задач органично превращается в часть экономики. Положительная оценка этого подтверждается и тем, что начиная с 1969 г. Нобелевские премии в области экономики присуждаются, как правило, за экономико-математические исследования. Одним из важных разделов экономико-математического моделирования является теория массового обслуживания, представляющая собой теоретические основы эффективного конструирования и эксплуатации систем массового обслуживания. Системы массового обслуживания (СМО) встречаются во многих областях экономики и предназначены для многократного использования при выполнении однотипных задач [1].

Системы массового обслуживания (СМО) – неотъемлемая часть современной жизни. Теория СМО имеет неоспоримую важность, постольку поскольку большая часть повседневных процессов, происходящих вокруг, принадлежит к классу таких систем. Для того, чтобы организации, использующие системы массового обслуживания, функционировали с наибольшим коэффициентом полезного действия, важно понимать, как работают СМО, какие параметры влияют на качество и скорость их работы, а также перед запуском той или иной системы необходимо моделировать её работу и пытаться максимизировать количество имитируемых ситуаций для оценки параметров данной системы, в целях максимально возможной оптимизации её работы в условиях сверхнормативной нагрузки или в следствии воздействия случайных факторов.

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


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

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

Цикл функционирования системы массового обслуживания подобного рода повторяется многократно в течение всего периода работы обслуживающей системы. При этом предполагается, что переход системы на обслуживание очередного требования после завершения обслуживания предыдущего требования происходит мгновенно, в случайные моменты времени [2].

Системы массового обслуживания с ожиданием распространены наиболее широко. Их можно разбить на две большие группы: разомкнутые и замкнутые. Эти системы определяют так же, как системы с ограниченным и неограниченным входящим потоком. К замкнутым относятся системы, в которых поступающий поток требований ограничен. Например, мастер, задачей которого является наладка станков в цехе, должен периодически их обслуживать. Каждый налаженный станок становится в будущем потенциальным источником требований на отладку. В подобных системах общее число циркулирующих требований конечно и чаще всего постоянно. Если питающий источник обладает бесконечным числом требований, то системы называются разомкнутыми. Примерами подобных систем могут служить магазины, кассы вокзалов, портов и др. Для этих систем поступающий поток требований можно считать неограниченным [3].

Основными компонентами системы массового обслуживания любого вида являются:

Входной поток требований. Для описания входного потока требуется задать вероятностный закон, определяющий последовательность моментов поступления требований на обслуживание и указать количество таких требований в каждом очередном поступлении. При этом, как правило, оперируют понятием «вероятностное распределение моментов поступления требований». Здесь могут поступать как единичные, так и групповые требования (требования поступают группами в систему). В последнем случае обычно речь идет о системе обслуживания с параллельно-групповым обслуживанием.

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

Механизм обслуживания определяется характеристиками самой процедуры обслуживания и структурой обслуживающей системы. К характеристикам процедуры обслуживания относятся: продолжительность процедуры обслуживания и количество требований, удовлетворяемых в результате выполнения каждой такой процедуры. Для аналитического описания характеристик процедуры обслуживания оперируют понятием «вероятностное распределение времени обслуживания требований» [5].

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

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

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

Рассмотрев основные компоненты систем обслуживания, можно констатировать, что функциональные возможности любой системы массового обслуживания определяются следующими основными факторами:

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

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

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

Независимо от характера процесса, протекающего в системе массового обслуживания, различают два основных вида СМО:

Системы массового обслуживания с ожиданием делятся на системы с ограниченным ожиданием и системы с неограниченным ожиданием.

В системах с ограниченным ожиданием может ограничиваться:

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

Все системы массового обслуживания различают по числу каналов обслуживания:

Приведенная классификация СМО является условной. На практике чаще всего системы массового обслуживания выступают в качестве смешанных систем. Например, заявки ожидают начала обслуживания до определенного момента, после чего система начинает работать как система с отказами [7].

Системы массового обслуживания с ожиданием распространены наиболее широко. Их можно разбить на две большие группы: разомкнутые и замкнутые. Эти системы определяют так же, как системы с ограниченным и неограниченным входящим потоком. К замкнутым относятся системы, в которых поступающий поток требований ограничен. Например, мастер, задачей которого является наладка станков в цехе, должен периодически их обслуживать. Каждый налаженный станок становится в будущем потенциальным источником требований на отладку. В подобных системах общее число циркулирующих требований конечно и чаще всего постоянно. Если питающий источник обладает бесконечным числом требований, то системы называются разомкнутыми. Примерами подобных систем могут служить магазины, кассы вокзалов, портов и др. Для этих систем поступающий поток требований можно считать неограниченным [8].

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

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

Двухфазные СМО две последовательно расположенные (и, соответственно, последовательно функционирующие) СМО стандартных типов. Параметры СМО 1 (расположенной ближе ко входу) могут быть вычислены по обычным формулам, в то время как параметры СМО 2 во многом зависят от свойств предыдущей СМО.

Работа двухфазной системы состоит в следующем. Каждая фаза может быть занята на обслуживание либо свободна. Поскольку перед фазой очередь не допускается, то принимается, что первая фаза обслуживания заблокирована, если обслуживание требования в данной (первой) фазе завершено, а вторая фаза не готова к приему требования по той причине, что в ней не закончено обслуживание. Принимается также, что если первая фаза занята, то очередное входящее требование получает отказ. В системе могут быть следующие состояния: «фаза свободна», «фаза занята», «фаза заблокирована», которые обозначают как 0, 1, и b соответственно.

Рисунок 1 – Схема двухфазной системы

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

Примером двухфазной системы массового обслуживания с ожиданием могут служить магазины, в которых, прежде чем получить товар, покупатель должен оплатить его стоимость в кассе. Этот пример является типичным, но не единственным в своем роде. Работа подобных систем массового обслуживания будет рассмотрена на примерах двухфазных одноканальных систем массового обслуживания с неограниченным и ограниченным потоком заявок [10].


Дана следующая ситуация: имеется два окна для подачи документов. Сначала клиент должен подать заявление в первое окно на рассмотрение. В случае одобрения заявки клиент забирает заявление и подаёт требуемый пакет документов во второе окно. После обработки документов во втором окне клиент покидает центр обслуживания. Время обработки заявления в первом окне – в среднем 7 минут, документов во втором – в среднем 8 минут. Средний промежуток между приходами новых клиентов равен 5 минутам. Требуется оценить параметры работы двухфазной СМО с отказами в течение восьмичасового дня. (Задача 1)

Наиболее оптимальным способом решения данной задачи будет использование такого инструмента, как General Purpose Simulation System (GPSS). GPSS – это язык моделирования, используемый для имитационного моделирования различных систем, в основном систем массового обслуживания.

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

Язык моделирования дискретных систем GPSS/PC построен в предположении, что моделью сложной дискретной системы является описание ее элементов и логических правил их взаимодействия в процессе функционирования моделируемой системы. Предполагается также, что для определенного класса моделируемых систем можно выделить небольшой набор абстрактных элементов – объектов. Причем набор 10 логических правил также ограничен и может быть описан небольшим числом стандартных операций. Комплекс программ, описывающих функционирование объектов и выполняющих логические операции, является основой для создания программной модели системы данного класса [11, 12].

Для решения задачи 1 требуются операторы:

Формат: TERMINATE [A], где Авеличина, на которую будет уменьшен счетчик завершений. По умолчанию А=0. Операнд А может принимать любые значения в интервале от 0 до плюс бесконечности. Физический смысл числового значения операнда А заключается в задании веса терминирования. Например, на погрузочную площадку выходят двери 4 складов, большемерная фура занимает всю длину погрузочной площадки, и никакая другая машина не сможет производить погрузку. Окончание погрузки фуры (выход транзакта из системы) освобождает сразу 4 места. Эта цифра вычитается из числа стартов (счетчика завершений), подробнее см. в 3.5. 

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

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

Формат: ADVANCE A,[B], где:

На месте операнда А, как и в операторе GENERATE, может быть задана любая встроенная функция, тогда операнд В отсутствует.

Формат: TRANSFER A, B, C, где

Формат: TEST XX A, B, C, где:

Задача 1 на языке GPSS будет выглядеть следующим образом:

GENERATE 5

TEST LE Q$STR,0,MET1

MET1 SEIZE US1

ADVANCE 7

RELEASE US1

TRANSFER 1, MET2

MET2 SEIZE US2

ADVANCE 8

RELEASE US2

EX1 TERMINATE

GENERATE 480

TERMINATE 1

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

При запуске этого кода в General Purpose Simulation System мы получим некоторый список параметров моделируемой системы, который будет занесён в отчет. Сам отчёт выводится на английском языке автоматически непосредственно при запуске кода после того, как программа завершит моделирование. Можно провести анализ отчёта (Приложение А), построенного для данной задачи.

Проводить такой анализ будет проще, если разделить весь отчёт на блоки:

Пятый блок в данной задаче рассматриваться не будет, постольку поскольку не несёт смысловой нагрузки в рамках проводимого исследования.

1 блок. В нем рассматривается краткая характеристика модели, выраженная в виде нескольких параметрах, имеющих определенные значения, важные для оценки работы системы.

START TIME [0,000] – время начала работы системы (начала моделирования), равняется нулю, если не указано иное.

END TIME [480,000] – время окончания работы (завершения моделирования), в рассматриваемой задаче измеряется в минутах, 480 минут равны 8 часам.

BLOCKS [12] – количество блоков (строк), используемых в программе. Данный показатель не имеет никакого отношения к количеству фаз или каналов.

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

STORAGES [0] – количество многоканальных устройств, в рассматриваемой задаче равно нулю.

2 блок. Отображает в отчёте информацию о блоках (строках программного кода).

LABEL [MET1, MET2, EX1] – рабочее название частей системы массового обслуживания, где MET1 и MET2 – модели окон № 1 и № 2 соответственно, а EX1 последний этап работы, выход заявки из системы.

LOC – номер блока в программе, назначенный программой. Назначаются такие номера в том порядке, в котором расположены строки, описывающие эти блоки (соответственно, первый блок – первая строка – первый номер). Имеет значение в том случае, когда один блок занимает больше одной строки, в такой ситуации нумерация помогает пользователю ориентироваться в программе.

BLOCK TYPE [GENERATE, TEST, SEIZE, …, TERMINATE] название блока, т.е. команда на языке GPSS, которая отправляет программе запрос на выполнение того или иного действия, необходимого для работы модели.

ENTRY COUNT [96, 96, 68, …, 1] – количество транзактов (заявок), прошедших через блок за время моделирования. Программа за 480 минут (8 часов) сгенерировала 96 заявок с интервалом в 5 минут. Все 96 заявок перешли в блок TEST, который запрашивал, свободен ли следующий блок (нет ли заявки в окне № 1) и в зависимости от ответа или передавал заявку далее (в случае, если окно свободно), или давал транзакту отказ (в случае, если окно занято). Так, количество заявок, прошедших и начавших обрабатываться в окне № 1 равно 68, остальные, чье количество будет указано ниже, получили отказ ввиду занятости следующего блока. За 480 минут было обработано 67 заявок, последняя, 68, осталась в окне № 1 в момент, когда программа завершила моделирование. Блок 6 (TRANSFER) отправил эти 67 заявок в окно № 2, но эта стадия системы смогла принять только 59. Это связано с тем, что время обработки в окне № 2 на минуту больше, чем в окне № 1. Таким образом, остальные заявки, чье количество также будет указано ниже, получили отказ. Из окна № 2 вышло 58 заявок, одна из них (последняя) находилась в обработке, когда система остановила моделирование. Последние два блока (11 и 12) имеют вспомогательный характер, описанный выше, поэтому не требуют анализа.

CURRENT COUNT [0, 28, 0, …, 0] – количество транзактов, не прошедших соответствующий блок. Для первого блока это число по очевидным причинам равно нулю. Второй блок, исполняющий функцию пропускного пункта, отказал 28 транзактам по причине занятости окна № 1. 6 блок (TRANSFER) отказал 8 заявкам также по причине занятости окна (в данном случае – № 2).

RETRY [0, 0, …, 0] – количество транзактов, ожидающих специальных условий для прохождения через данный блок. В данной задаче такие условия не указаны, поэтому вся колонка является нулевой.

3 блок представляет собой отчёт о работе устройства (в контексте данной задачи – окон № 1 и № 2).

FACILITY [US1, US2] – название устройства. US1 и US2 – условные обозначения окон № 1 и № 2 соответственно.

ENTRIES [68, 59] – количество транзактов, прошедших через устройство. По сути, является разницей между ENTRY COUNT и CURRENT COUNT для соответствующих устройств (окон), то есть между теми заявками, которые подошли к окну и теми, которые получили отказ.

UTIL [0.990, 0.975] – вероятность загрузки устройства, другими словами – какова вероятность того, что соответствующее окно будет обрабатывать заявки постоянно, то есть не будет простаивать. Как видно из этих оценок – вероятность простоя для окна № 1 равна 1%, а для окна № 2 равна 2.5%.

AVE. TIME [6.985, 7.932] – среднее время обработки одного транзакта устройством. По сути, задаётся еще при написании рабочего кода и берется из условия задачи, но в данном разделе отображается уже более точное значение с учетом всех дополнительных факторов, используемых программой для построения и запуска модели.

AVAIL [1, 1] – состояние готовности устройства на момент конца моделирования (1 –готово к обслуживанию очередной заявки; 0 – не готово).

OWNER [69, 60] – номер последнего транзакта занимающего устройство (если не занималось, то значение 0). В данном случае, этот параметр для обоих устройств на 1 больше соответствующего значения параметра ENTRIES [68, 59], потому что, как было указано выше, на момент окончания моделирования в обоих устройствах осталось по одной заявке, которые не успели обработаться до конца и покинуть соответствующие окна.

PEND [0] – количество транзактов, ожидающих устройство, и находящихся в режиме прерывания.

INTER [0] – количество транзактов, прерывающих устройство в данный момент.

RETRY [0] – количество транзактов, ожидающих специальных условий, зависящих от состояния объекта типа «устройство».

4 блок отчёта содержит в себе подробную информацию об очередях, имеющих место быть в той или иной модели.

QUEUE [STR] – имя очереди. Используется для корректной идентификации параметров конкретной части системы, другими словами – позволяет определить, какой очереди принадлежат указанные далее цифры, чтобы понять, на какой стадии обработки заявки возникают проблемы, а на какой, наоборот, процесс идёт максимально оптимизированно.

MAX [0] – максимальная длина очереди. В данной задаче равна нулю, так как заявка, поступившая в систему в момент занятости окна № 1 (или № 2 соответственно), получала отказ.

CONT. [0] – текущая длина очереди, то есть длина очереди на момент окончания моделирования. Равна нулю, так как рассматривается СМО с отказами.

ENTRY [0]общее количество входов транзактов в очередь. Равно нулю, так как рассматривается СМО с отказами.

AVE. CONT. [0] средняя длина очереди. Равна нулю, так как рассматривается СМО с отказами.

AVE. TIME [0]среднее время пребывания транзактов в очереди. Равно нулю, так как рассматривается СМО с отказами.

RETRY [0] количество транзактов, ожидающих специальных условий. Равно нулю, так как рассматривается СМО с отказами.

В связи с тем, что в качестве моделируемой была выбрана система массового обслуживания с отказами, 35 заявок из 95 поступивших не были обработаны. Таким образом, полной обработке подверглись лишь 63% заявок, что является не самым высоким показателем, так как, учитывая, что потенциально каждая заявка приносит определённое количество условных единиц прибыли, система потеряла почти половину общей выручки. Это чревато тем, что компания, в которой используется данная СМО может не покрыть постоянные расходы на содержание данной системы. Очевидно, что такую систему требуется оптимизировать, поскольку она является нерентабельной. В случае, если данные параметры имеет какая-либо государственная система, не имеющая конкурентов и прибыли (то есть она приносит только расходы и не направлена на принесение доходов владельцу/компании), она, несмотря на это, также должна претерпеть изменения.


Для более полного понимания теории систем массового обслуживания необходимо повторно решить задачу 1, изменив некоторые её параметры. Изменив время обработки документов в первом окне, сформулируем новое условие: имеется два окна для подачи документов. Сначала клиент должен подать заявление в первое окно на рассмотрение. В случае одобрения заявки клиент забирает заявление и подаёт требуемый пакет документов во второе окно. После обработки документов во втором окне клиент покидает центр обслуживания. Время обработки заявления в первом окне – в среднем 6 минут, документов во втором – в среднем 8 минут. Средний промежуток между приходами новых клиентов равен 5 минутам. Требуется оценить параметры работы двухфазной СМО с отказами в течение восьмичасового дня. (Задача 2)

Отчёт, отображающий полученные в процессе моделирования данные, находится в приложении 2. При сравнении данного отчета с отчетом, представленным в приложении 1, имеют особую важность два пункта – ENTRY COUNT., и CURRENT COUNT.; это связано с тем, что именно на эти факторы повлияло изменение условия поставленной задачи.

ENTRY COUNT [96, 96, 80, …, 1] – программа за 480 минут (8 часов) сгенерировала 96 заявок с интервалом в 5 минут. Все 96 заявок перешли в блок TEST, который запрашивал, свободен ли следующий блок (нет ли заявки в окне № 1) и в зависимости от ответа или передавал заявку далее (в случае, если окно свободно), или давал транзакту отказ (в случае, если окно занято). Так, количество заявок, прошедших и начавших обрабатываться в окне № 1 равно 80 (против 68 в задаче 1), остальные, чье количество будет указано ниже, получили отказ ввиду занятости следующего блока. За 480 минут было обработано 79 заявок, последняя, 80, осталась в окне № 1 в момент, когда программа завершила моделирование. Блок 6 (TRANSFER) отправил эти 79 заявок в окно № 2, но эта стадия системы смогла принять только 59. Это связано с тем, что время обработки в окне № 2 на две минуты больше, чем в окне № 1. Таким образом, остальные заявки, чье количество также будет указано ниже, получили отказ. Из окна № 2 вышло 58 заявок, одна из них (последняя) находилась в обработке, когда система остановила моделирование.

CURRENT COUNT [0, 16, 0, …, 0] – количество транзактов, не прошедших соответствующий блок. Для первого блока это число по очевидным причинам равно нулю. Второй блок, исполняющий функцию пропускного пункта, отказал уже не 28, а 16 транзактам по причине занятости окна № 1. Однако в это же время 6 блок (TRANSFER) отказал 20 заявкам также по причине занятости окна (в данном случае – № 2).

В итоге можно наблюдать следующее явление – несмотря на то, что окно № 1 в соответствии с новыми условиями обрабатывает поступающие заявки на минуту быстрее, полную обработку прошли также 58 заявок, как и в задаче 1. И, хотя была оптимизирована работа окна № 1 и на первом этапе обработки отказ получили 16 заявок против 27, отказы на второй фазе обслуживания возросли, увеличившись с 8 до 20. Вывод – в первую очередь следует оптимизировать работу окна № 2.

В связи с вышеизложенным можно выдвинуть следующую гипотезу: время обработки заявки в окне № 2 должно быть меньше или равно времени обработки в окне № 1, тогда время обслуживания заявки в рамках всей системы в целом будет наиболее оптимальным. Исходя из этого предположения изменим условие задачи 1 следующим образом: имеется два окна для подачи документов. Сначала клиент должен подать заявление в первое окно на рассмотрение. В случае одобрения заявки клиент забирает заявление и подаёт требуемый пакет документов во второе окно. После обработки документов во втором окне клиент покидает центр обслуживания. Время обработки заявления в первом окне – в среднем 7 минут, документов во втором – в среднем 7 минут. Средний промежуток между приходами новых клиентов равен 5 минутам. Требуется оценить параметры работы двухфазной СМО с отказами в течение восьмичасового дня. (Задача 3)

В отчете по задаче 3, отображенном в приложении 3, также обратим внимание на пункты ENTRY COUNT., и CURRENT COUNT., в которых содержится информация об отказах.

ENTRY COUNT [96, 96, 68, …, 1] – программа за 480 минут (8 часов) сгенерировала 96 заявок с интервалом в 5 минут. Все 96 заявок перешли в блок TEST, который запрашивал, свободен ли следующий блок (нет ли заявки в окне № 1) и в зависимости от ответа или передавал заявку далее (в случае, если окно свободно), или давал транзакту отказ (в случае, если окно занято). Так, количество заявок, прошедших и начавших обрабатываться в окне № 1 равно 68 (также, как в задаче 1), остальные, чье количество будет указано ниже, получили отказ ввиду занятости следующего блока. За 480 минут было обработано 67 заявок, последняя, 68, осталась в окне № 1 в момент, когда программа завершила моделирование. Блок 6 (TRANSFER) отправил эти 67 заявок в окно № 2, и все 67 поступили на обработку. Из окна № 2 вышло 66 заявок, последняя из них находилась в обработке, когда система остановила моделирование.

CURRENT COUNT [0, 28, 0, …, 0] – второй блок, исполняющий функцию пропускного пункта, отказал также 28 транзактам, как и в задаче 1 по причине занятости окна № 1. Однако в это же время 6 блок (TRANSFER) не отказал ни одной заявке.

Таким образом, не может остаться незамеченным, что при оптимизации работы окна № 1 на выходе из системы мы получили точно такое же количество обработанных транзактов, как и до изменения. Связано это с тем, что транзакты, отправленные в окно № 2, получали отказ из-за занятости окна. Следовательно, максимальной пропускной способности системы массового обслуживания можно добиться, если время обработки заявки на всех стадиях системы одинаково.

ЗАКЛЮЧЕНИЕ

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

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

Сделан вывод о том, что максимальная производительность системы будет достигнута в том случае, когда обработка заявок на обеих её фазах одинакова с точки зрения затрат временных ресурсов, так как только в данном случае заявки будут получать отказы исключительно на входе в СМО. Это имеет определённый смысл – если заявка прошла первый этап обработки, на неё уже затрачены финансовые и временные ресурсы, однако, когда после этого заявка удаляется из системы, не попав во вторую фазу, заявка не приносит никакой прибыли лицу и/или организации, которые тратят ресурсы на функционирование системы.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


ПРИЛОЖЕНИЕ А

Отчет о результатах моделирования задачи 1

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 480.000 12 2 0

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 96 0 0

2 TEST 96 28 0

MET1 3 SEIZE 68 0 0

4 ADVANCE 68 1 0

5 RELEASE 67 0 0

6 TRANSFER 67 8 0

MET2 7 SEIZE 59 0 0

8 ADVANCE 59 1 0

9 RELEASE 58 0 0

EX1 10 TERMINATE 58 0 0

11 GENERATE 1 0 0

12 TERMINATE 1 0 0

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

US1 68 0.990 6.985 1 69 0 0 0

US2 59 0.975 7.932 1 60 0 0 0

QUEUE MAX CONT. ENTRY AVE.CONT. AVE.TIME RETRY

STR 0 0 0 0.000 0.000 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

69 0 481.000 69 4 5

60 0 484.000 60 8 9

98 0 485.000 98 0 1

99 0 960.000 99 0 11


ПРИЛОЖЕНИЕ Б

Отчет о результатах моделирования задачи 2

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 480.000 12 2 0

NAME VALUE

EX1 10.000

MET1 3.000

MET2 7.000

STR 10000.000

US1 10001.000

US2 10002.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 96 0 0

2 TEST 96 16 0

MET1 3 SEIZE 80 0 0

4 ADVANCE 80 1 0

5 RELEASE 79 0 0

6 TRANSFER 79 20 0

MET2 7 SEIZE 59 0 0

8 ADVANCE 59 1 0

9 RELEASE 58 0 0

EX1 10 TERMINATE 58 0 0

11 GENERATE 1 0 0

12 TERMINATE 1 0 0

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

US1 80 0.990 5.938 1 81 0 0 0

US2 59 0.977 7.949 1 60 0 0 0

QUEUE MAX CONT. ENTRY AVE.CONT. AVE.TIME RETRY

STR 0 0 0 0.000 0.000 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

60 0 483.000 60 8 9

81 0 485.000 81 4 5

98 0 485.000 98 0 1

99 0 960.000 99 0 11


ПРИЛОЖЕНИЕ В

Отчет о результатах моделирования задачи 3

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 480.000 12 2 0

NAME VALUE

EX1 10.000

MET1 3.000

MET2 7.000

STR 10000.000

US1 10001.000

US2 10002.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 96 0 0

2 TEST 96 28 0

MET1 3 SEIZE 68 0 0

4 ADVANCE 68 1 0

5 RELEASE 67 0 0

6 TRANSFER 67 0 0

MET2 7 SEIZE 67 0 0

8 ADVANCE 67 1 0

9 RELEASE 66 0 0

EX1 10 TERMINATE 66 0 0

11 GENERATE 1 0 0

12 TERMINATE 1 0 0

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

US1 68 0.990 6.985 1 69 0 0 0

US2 67 0.975 6.985 1 68 0 0 0

QUEUE MAX CONT. ENTRY AVE.CONT. AVE.TIME RETRY

STR 0 0 0 0.000 0.000 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

68 0 481.000 68 8 9

69 0 481.000 69 4 5

98 0 960.000 98 0 11