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

 

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

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

Изучением систем с элементами случайности, массовостью и процессом обслуживания и занимается теория систем массового обслуживания (СМО).

Теория СМО широко использует аппарат теории вероятностей и математической статистики.

Элементарная СМО, состоит из одного поста (агрегата, кассы, окна приема документов и т.п.). На пост поступают заявки, которые надо обслужить за конечный интервал времени. Если заявку не удается обслужить до прихода новой заявки, то новая заявка встаёт в очередь. Если очередь будет большой, то заявка может покинуть очередь, не дождавшись обслуживания.

Для моделирования СМО хорошо подходит приложение Simulink. Откройте MatLabт и сделайте активной папку Work, как в лабораторной №7.

Запустите Simulink и нажмите на значок конфигурации параметров . Выпавшем окне установите время моделирования 60 (в данном случае – это минуты), Шаг моделирования фиксированный, продолжительностью 1мин. (рис. 31).

 

Рис. 31

 

После чего можно приступить непосредственно к моделированию.

Многократными статистическими наблюдениями установлено, что число заявок в единицу времени обычно имеет распределение, соответствующее закону Пуассона.

Составьте следующую схему (рис. 32), используя библиотеки Commonly Used Blocks и User-Defined Functions.

 

Рис. 32                                         Рис.33

 

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

Заменим её на следующую (рис. 33).

Эта программа реализует генерацию случайной величины по закону Пуассона с параметром, устанавливаемым на входе.

Параметр распределения установим равным 0.5 в блоке константы. За

Запустим модель на исполнение. Щелкнув по блоку Осциллоскоп увидим следующий график (рис. 34).

 

Рис. 34

 

График показывает возникновение событий с частотой 1 событие в 2 минуту.

Соберем следующую схему для моделирования образования очереди заявок (рис. 35).

Рис. 35

 

Для суммирования заявок нужно настроить Discrete-Time Integrator (библиотека Discrete). Вначале установим метод интегрирования Accumulation: Forward Euler – простое суммирование дискретного сигнала (рис. 36).

Рис. 36

 

Блок при моделировании будет рассчитывать длину очереди. Промоделируем процесс и и просмотрим график образования очереди (рис. 37).

За 60 минут поступило 34 заявки. Каждую минуту поступало от 0 до 2-х заявок, причем последние 6 минут заявки не поступали вовсе. Как видно на графике, процесс поступления заявок случайный:

Рис. 37

Согласно ранее высказанным предложением ограничим очередь 5 заявками. Минимальное количество заявок в очереди 0, отрицательных заявок быть не может. Установим ограничения в блоке Discrete-Time Integrator (рис. 38):

 

Рис. 38

 

Схема станет следующей (рис. 39)

Рис. 39

 

Моделирование покажет процесс насыщения очереди: после 5-ти заявок очередь не растет (рис. 40).

 

Рис. 40

 

Каждая заявка, стоящая в очереди, должна быть обслужена. Примем, что  время обслуживания одной заявки распределяется по равномерному закону распределения (самый простой вариант). Обслуживание завершается в случайный момент времени от 0 до t. Если установить интервал времени от 0 до 10, среднее время обслуживания будет 5 минут.

Составим схему обслуживания заявок (рис. 41).

Рис. 41

 

Верхний левый блок Uniform Random Number взят из библиотеки Sources. Остальные блоки из Math и Logic and Bit Operation.

0.2 – это вероятность того, что заявка будет обслужена на данном шаге. В данном случае в среднем потребуется 5 шагов.

В блоке логического сравнения определяется, наступил ли случай обслуживания. Если это происходит, то схема передает единицу, иначе 0.

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

Теперь можно преступить к основному этану моделирования. Для этого соберем схему (рис. 42).

Задание.

Найдите максимальное значение вероятности, при которой происходит 100% обслуживания заявок. Найдите значение вероятности при которой системой будет обслужено примерно половина заявок.

 

 


 

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: