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

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 26.04.2019
Размер файла 86,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

М. В. Шимановская

Размещено на http://www.allbest.ru/

104

Размещено на http://www.allbest.ru/

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

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

Концептуальная модель

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

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

Выходными параметрами являются:

· среднее число поступивших заявок для обоих приоритетов;

· среднее число обслуженных заявок обоих приоритетов.

На основании этих показателей легко может быть введён критерий эффективности работы СМО, например средняя ожидаемая прибыль.

Моделирование

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

При взаимодействии заявок двух различных приоритетов могут возникнуть 3 возможные ситуации:

Ситуация 1. Ни одна из имеющихся заявок первого приоритета не препятствует обслуживанию заявки второго приоритета.

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

Ситуация 3. Заявка низшего приоритета поступила в момент, когда канал занят обслуживанием заявки с высоким приоритетом. Тогда нужно «сдвигать» время обслуживания заявки с низшим приоритетом.

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

Эта необходимость возврата к анализу ситуации реализована в [1] операторами безусловного перехода, что усложняет читаемость алгоритма и не соответствует принципам структурного программирования.

Блок-схемы модели

Формирование заявок обоих приоритетов происходит по одному алгоритму (см. рис. 1). В результате работы процедуры заполняется массив из времён поступления заявок в систему Tz (время имеет показательное распределение), а также рассчитывается число поступивших заявок Nz. Выход из алгоритма происходит, если модельное время T превысит период функционирования системы Tkon.

Рис. 1. Процедура формирования потока заявок

имитационный алгоритм одноканальный код

Процедура обслуживания заявок высшего приоритета описана на рис. 2. В начале процедуры обнуляется время освобождения канала обслуживания и число обслуженных заявок высшего приоритета.

Рис. 2. Процедура обслуживания заявок высшего приоритета

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

Далее с помощью генератора случайных чисел рассчитывается время окончания обслуживания данной заявки и записывается в массив Tk1. Если заявка успела обслужиться до окончания функционирования системы, то число обслуженных заявок высшего приоритета Nobs1 увеличивается на 1 и время освобождения канала приравнивается Tk1 [j].

Более сложен алгоритм облуживания заявок низшего приоритета (рис. 3). В начале алгоритма также обнуляется время освобождения канала обслуживания и число обслуженных заявок низшего приоритета. В цикле время начала облуживания Tn приравнивается ко времени поступления заявки низшего приоритета и проверяется условие, что канал свободен. Если занят, то заявка начнет обслуживаться в момент освобождения канала TOK.

На следующем шаге рассчитывается время окончания обслуживания данной заявки Tk2.

Теперь перебираем в цикле заявки высшего приоритета и проверяем, не помешают ли они обслуживанию данной заявки с низшим приоритетом. Последовательно проверяются ситуации 1 и 2. Если требуется, то пересчитываются времена начала и окончания обслуживания Tn и Tk2.

Рис. 3. Процедура обслуживания заявок низшего приоритета

После окончательного расчета Tk2 проверяем, не закончилось ли время функционирования системы. Если закончилось, то выходим из процедуры, иначе увеличиваем счётчик числа обслуженных заявок низшего приоритета на 1 и пересчитываем время освобождения канала.

Результаты. Разработанный алгоритм реализован в среде Delphi 7. Проведены расчёты с комбинацией переменных и параметров, предложенные в [1].

При сравнении разработанного алгоритма с описанным в работе [1] выделяются преимущества моего алгоритма:

· лучшая наглядность и более лёгкая сопровождаемость кода в связи с отсутствием операторов безусловного перехода;

· меньшая длина кода (например, процедура обслуживания заявок низшего приоритета написана в 36 операторах против 69 из [1]) при одинаковой сложности алгоритма.

Разработанный алгоритм используется при работе со студентами факультета Прикладной информатики Пермской ГСХА.

При изучении темы «Имитационное моделирование» на лабораторных работах студентам предлагается реализовать алгоритм в выбранной ими среде программирования.

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

Список литературы

имитационный алгоритм одноканальный код

1. Варфоломеев В.И., Назаров С.В. Алгоритмическое моделирование элементов экономических систем: Практикум: Учеб. пособие. 2-е изд., доп. и перераб. / под ред. С.В. Назарова. М.: Финансы и статистика, 2004.

2. Снетков Н.Н. Имитационное моделирование экономических процессов: учеб.-практич. пособие. М.: Изд. центр ЕАОИ, 2008.

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [154,1 K], добавлен 19.05.2011

  • Характеристика системы массового обслуживания, куда поступают заявки обслуживания. Особенности моделирования системы массового обслуживания. Имитация работы системы массового обслуживания с относительными приоритетами. Отчеты полного факторного плана.

    курсовая работа [1,1 M], добавлен 14.07.2012

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

    курсовая работа [860,4 K], добавлен 24.12.2013

  • Создание библиотеки классов имитационного моделирования и реализация алгоритма имитационного моделирования системы массового обслуживания "Модель комиссионного магазина". Использование для разработки среды программирования C++. Словарь предметной области.

    курсовая работа [581,0 K], добавлен 23.01.2013

  • Методика системного исследования реальной динамической сложной системы посредством разработки ее имитационной модели. Разработка программы реализации алгоритма имитационного моделирования системы массового обслуживания "Интернет-провайдерская фирма".

    курсовая работа [2,0 M], добавлен 20.01.2010

  • Построение имитационной модели системы массового обслуживания, список и содержание ее активностей. Блок-схема алгоритма моделирования и текст процедуры. Моделирование случайных независимых величин и процессов. Оптимизация системы массового обслуживания.

    курсовая работа [4,0 M], добавлен 28.05.2013

  • Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.

    курсовая работа [487,4 K], добавлен 18.12.2014

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

    курсовая работа [75,5 K], добавлен 26.06.2011

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

    курсовая работа [277,5 K], добавлен 20.01.2010

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

    курсовая работа [1,0 M], добавлен 18.08.2009

  • Система массового обслуживания как одна из основных моделей, используемых инженерами-системотехниками, примеры: телефонные станции, ремонтные мастерские, билетные кассы. Характеристика и особенности многоканальной системы массового обслуживания.

    контрольная работа [404,2 K], добавлен 19.11.2012

  • Характеристика функций имитационного моделирования. Знакомство с особенностями имитационного моделирования агрегированной системы массового обслуживания. Анализ программы GPSSWorld: рассмотрение возможностей, способы составления имитационной модели.

    курсовая работа [1,6 M], добавлен 27.05.2013

  • Компоненты и классификация систем массового обслуживания. Разработка СМО для лечебно-профилактического центра. Графическое представление СМО регистратуры ЛПЦ. Исследование режима функционирования обслуживающей системы. Алгоритм работы поликлиники.

    курсовая работа [715,3 K], добавлен 28.01.2016

  • Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели, постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации системы. Разработка программного кода для оптимизации системы.

    дипломная работа [581,7 K], добавлен 27.10.2017

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

    курсовая работа [171,8 K], добавлен 20.01.2010

  • Построение модели одноканальной системы массового обслуживания с отказами с использованием блоков библиотеки SimEvents. Проведение экспериментов, определение статистических и вероятностных характеристик системы в стационарном режиме; листинг моделей.

    лабораторная работа [384,4 K], добавлен 20.05.2013

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

    учебное пособие [785,1 K], добавлен 12.10.2010

  • Моделирование системы массового обслуживания. Анализ зависимости влияния экзогенных переменных модели однофазной одноканальной СМО на эндогенные переменные. План машинного эксперимента множественного регрессионного анализа и метода наименьших квадратов.

    лабораторная работа [107,5 K], добавлен 15.06.2010

  • Описание модели в терминах PDEVS формализма с дискретными событиями DEJaView. Исследование принципов функционирования простейших моделей теории массового обслуживания, разработка ее алгоритма функционирования. Сущность терминов PDEVS под DEJaView.

    курсовая работа [219,1 K], добавлен 31.10.2009

  • Характеристика теоретических основ систем массового обслуживания и их структура функционирования. Анализ СМО на примере заказа такси. Сущность стохастического процесса смены дискретных состояний в непрерывном времени в форме моделирующего алгоритма.

    дипломная работа [1,0 M], добавлен 28.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.