Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Лабораторная работа № 4. "МОДЕЛЬ МАССОВОГО ОБСЛУЖИВАНИЯ"

Лекция



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



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


Задача работы: овладеть навыками написания программ для теории массового обслуживания на языке программирования ПАСКАЛЬ .


Порядок работы :

  • изучить описание лабораторной работы;

  • по заданию, данному преподавателем, разработать алгоритм программы решения задачи;

  • написать программу на языке ПАСКАЛЬ;

  • отладить программу;

  • решить задачу;

  • оформить отчет.



Краткая теория



Формулировка задачи.

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

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 такта.

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

Из статьи мы узнали кратко, но содержательно про модель массового обслуживания
создано: 2014-12-05
обновлено: 2021-03-13
204



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Структуры данных

Термины: Структуры данных