Лекция
Привет, сегодня поговорим про модель массового обслуживания, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое модель массового обслуживания, смо , настоятельно рекомендую прочитать все из категории Структуры данных.
Формулировка задачи.
Пусть обслуживающая система состоит из конечного числа обслуживающих аппаратов. Система относится к числу систем с ожиданием. Каждый аппарат может обслуживать одновременно только одно требование. Если в момент поступления очередного требования имеются свободные аппараты, то один из них немедленно приступает к обслуживанию, если свободных аппаратов нет, то требование ждет обслуживания. Естественно, если требований больше, чем обслуживающих аппаратов, то образуется очередь. Время обслуживания одного требования есть случайная величина, подчиненная показательному закону распределения:
F(t)=1-e-t
Поток поступающих требований ограничен, то есть одновременно в системе обслуживания не может находиться больше m требований, где m - конечное число. Это дает право считать, что требования на обслуживание поступают от m обслуживаемых объектов, которые время от времени нуждаются в обслуживании. Пусть вероятность того, что поступит заявка на обслуживания на данном такте равна Р(А) и вероятность того, что требование из очереди поступит на обслуживание равно Р(В) ( на каждом такте может поступить не более одной заявки на обслуживание). Об этом говорит сайт https://intellect.icu . Число обслуживающих аппаратов равно N. Допустим, требование дождалось своей очереди и оно начало обслуживаться. Обслуживание может длиться в течении не более 3-х тактов. Заявки могут быть двух приоритетов:
Заявка первого приоритета:
Это обычная заявка, она не обладает ни какими привилегиями. Она может покинуть систему через определенное число тактов Т. При приходе в обслуживающую систему заявка первого приоритета становится в конец очереди.
Заявка второго приоритета:
Эта заявка отличается только тем, что она при поступлении в обслуживающую систему становится в начало очереди, то есть как только освобождается аппарат, то она поступает на обслуживание с вероятностью Р(В).
Заявка второго приоритета , как и заявка первого приоритета, покидает систему через Т тактов. Естественно, что появление заявок второго приоритета достаточно мало ( хотя эта вероятность задается пользователем и может быть любой ). Теперь об обслуживании: Количество тактов, в течение которых будет обслуживаться та или иная заявка выбирается случайно (эта величина в данной задаче не должна быть больше 3). Если заявка обслужилась положенное ей число тактов, то она покидает систему. Если заявка находится в очереди больше Т тактов, то она с некоторой вероятностью покидает систему.
Наиболее рациональна реализация очередей в виде списковых структур данных. Данная задача при ее реализации на ЭВМ дает большие навыки при работе со списковыми структурами и при написании алгоритма программы следует воспользоваться стандартными процедурами, такими как присоединение элемента в начало и конец списка, удаление произвольного элемента из списка. Эти процедуры имеют следующий вид:
p = getnode Node(p) - элемент, на который указывает
info(p) = d указатель Р
ptr(p) = lst info(ptr(p)) - информационное поле следующего
lst = b элемента списка
p = lst
х = info(p)
lst = ptr(p)
freenode(p) - делает свободный узел с указателем
p = getnode q - вставляемый
info(p) = x
ptr(q) = ptr(p)
ptr(p) = q
q = ptr(p) q - удаляемый
ptr(p) = ptr(q)
x = info(p)
freenode(q)
Общее задание для всех.
Пусть имеется обслуживающая система из n обслуживающих аппаратов. Работа этой системы разбита на такты. В течение одного такта может одна заявка стать в очередь и одна заявка приступить к обслуживанию, (разумеется, если аппарат свободен). Вероятность заявки поступить на обслуживание Р(A), вероятность обслужить заявку P(B), вероятность заявки покинуть очередь после Т тактов Р(С). После каждых L тактов давать информацию о длине очереди и число тактов, в течении которых обслуживающий аппарат простаивал. Четным вариантам реализовать обслуживающую систему c неограниченной очередью, нечетным вариантам с конечной очередью (т.е. если в очереди будет стоять К заявок, то следующая заявка получает отказ в обслуживании).
Варианты:
1) L=50, после окончания работы системы выдать информацию, сколько заявок покинуло систему без обслуживания.
2) L=55, после окончания работы системы выдать информацию, сколько заявок обслуживалось больше 2 тактов.
3) L=100, после окончания работы системы выдать информацию, сколько тактов очередь была пустой.
4) L=75 , после окончания работы системы выдать информацию, сколько заявок обслуживалось один такт.
5) L=25 , после окончания работы системы выдать информацию, сколько заявок первого приоритета приступили к обслуживанию.
6) L=40 , после окончания работы системы выдать информацию о среднем приращении очереди.
7) L=80 , после окончания работы системы выдать информацию, сколько заявок обслуживалось 2 такта.
8) L=100, после окончания работы системы выдать информацию, заявок обслужилось.
9) L=70 , после окончания работы системы выдать информацию, на каком такте была самая длинная очередь.
10) L=50, после окончания работы системы посчитать практическую вероятность простоя аппарата по формуле s/n, где s- число тактов простоя аппарат, n- общее число тактов.
11) L=65, после окончания работы системы выдать информацию, сколько заявок второго приоритета поступили на обслуживания.
12) L=30, после окончания работы системы выдать информацию, сколько заявок обслуживалось 2 или 3 такта.
На этом все! Теперь вы знаете все про модель массового обслуживания, Помните, что это теперь будет проще использовать на практике. Надеюсь, что теперь ты понял что такое модель массового обслуживания, смо и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Структуры данных
Из статьи мы узнали кратко, но содержательно про модель массового обслуживания
Комментарии
Оставить комментарий
Структуры данных
Термины: Структуры данных