DiplomGilgor (722191), страница 3
Текст из файла (страница 3)
Существуют СМО с так называемым многофазовым обслуживанием, состоящим из нескольких последовательных этапов или «фаз» (например, покупатель, пришедший в магазин, должен сначала выбрать товар, затем оплатить его в кассе, после чего получить на контроле).
Кроме этих признаков, СМО делятся на два класса: «открытые» и «замкнутые». В открытой СМО характеристики потока заявок не зависят от того, в каком состоянии находится сама СМО (сколько каналов занято). В замкнутой СМО — зависят. Например, если один рабочий обслуживает группу станков, время от времени требующих наладки, то интенсивность потока «требований» со стороны станков зависит от того, сколько их уже неисправно и ждет наладки. Это — пример замкнутой СМО.
Рассмотрим вывод упомянутой ранее формулы Литтла, связывающей (для предельного, стационарного режима) среднее число заявок Lсист, находящихся в системе массового обслуживания (т. е. обслуживаемых или стоящих в очереди), и среднее время пребывания заявки в системе Wсист.
Рассмотрим любую СМО (одноканальную, многоканальную, марковскую, немарковскую, с неограниченной или с ограниченной очередью) и связанные с нею два потока событий: поток заявок, прибывающих в СМО, и поток заявок, покидающих СМО. Если в системе установился предельный, стационарный режим, то среднее число заявок, прибывающих в СМО за единицу времени, равно среднему числу заявок, покидающих ее, так как оба потока имеют одну в ту же интенсивность l.
Обозначим: X(t)—число заявок, прибывших в СМО до момента t, Y(t) — число заявок, покинувших СМО до момента t. И та, и другая функции являются случайными и меняются скачком (увеличиваются на единицу) в моменты приходов заявок (X(t)) и уходов заявок (Y(t)). Для любого момента t их разность Z(t) = X(t) - Y(t) — это число заявок, находящихся в СМО.
Рассмотрим очень большой промежуток времени T и вычислим для него среднее число заявок, находящихся в СМО. Оно будет равно интегралу от функции Z(t) на этом промежутке, деленному на длину интервала T:
Данный интеграл представляет собой площадь фигуры, заключенной между X(t) и Y(t). Фигура состоит из прямоугольников, каждый из которых имеет высоту, равную единице, и основание, равное времени пребывания в системе соответствующей заявки (первой, второй и т. д.). Обозначим эти времена как t1, t2,... Правда, под конец промежутка Т некоторые прямоугольники войдут в эту фигуру не полностью, а частично, но при достаточно большом Т этим можно пренебречь. Таким образом, можно считать, что
где сумма распространяется на все заявки, пришедшие за время Т.
Разделим правую и левую часть (8) на длину интервала Т. Получим, с учетом (7):
Разделим и умножим правую часть (9) на интенсивность l:
Величина Tl — это среднее число заявок, пришедших за время Т. Если мы разделим сумму всех времен ti на среднее число заявок, то получим среднее время пребывания заявки в системе Wсист- Итак,
Это и есть формула Литтла: для любой СМО, при любом характере потока заявок, при любом распределении времени обслуживания, при любой дисциплине обслуживания среднее время пребывания заявки в системе равно среднему числу заявок в системе, деленному на интенсивность потока заявок.
Точно таким же образом выводится вторая формула Литтла, связывающая среднее время пребывания заявки в очереди Wоч и среднее число заявок в очереди Lоч.
Lоч = l Wоч
2.3 Варианты систем массового обслуживания
-
n-канальная СМО с отказами
A — абсолютная пропускная способность (среднее число заявок, обслуживаемых в единицу времени);
Q — относительная пропускная способность (средняя доля пришедших заявок, обслуживаемых системой);
Pотк — вероятность того, что заявка покинет СМО необслуженной;
— среднее число занятых каналов;
;
2. Одноканальная СМО с неограниченной очередью
Pзан — вероятность того, что канал занят; Lоб — среднее число заявок под обслуживанием
3. Одноканальная СМО с неограниченной очередью, простейшим потоком заявок и произвольным распределением времени обслуживания
На одноканальную СМО поступает простейший поток заявок с интенсивностью l. Время обслуживания имеет произвольное распределение с математическим ожиданием
и коэффициентом вариации nm. nm — отношение среднего квадратического отклонения времени обслуживания к его математическому ожиданию.
Формулы Полячека — Хинчина:
Далее, согласно формуле Литтла:
4. Одноканальная СМО с произвольным потоком заявок и произвольным распределением времени обслуживания
Рассматривается одноканальная СМО с неограниченной очередью, на которую поступает произвольный поток заявок с интенсивностью l и коэффициентом вариации nl, 0 < nl < 1. Время обслуживания также имеет произвольное распределение со средним значением
и коэффициентом вариации nm, 0 < nm < 1. Для этого случая точных аналитических формул получить не удается; можно только приближенно оценить среднюю длину очереди, ограничить ее сверху и снизу.
Если входящий поток — простейший, то обе оценки — верхняя и нижняя — совпадают, и получается формула Полячека — Хинчина. Для грубо приближенной оценки средней длины очереди М. А. Файнбергом получена формула:
Средние времена пребывания заявки в очереди и в системе вычисляются через Lоч и Lсист по формуле Литтла делением на l
2.4 Математическое описание разрабатываемой модели.
На вход системы из N станций поступает поток заявок с заданными (экспоненциальным или нормальным) законом распределения времени прихода, интенсивностью входного потока l и, при нормальном распределении, коэффициентом вариации nl. Каждая станция рассматривается, как одноканальная СМО с неограниченной очередью. На каждой станции задано среднее время обслуживания
и, при нормальном распределении, коэффициент вариации nm. На выходе станций поток заявок может ветвиться, также может происходить отбраковка заявок. Это изменяет интенсивность входного потока на последующих станциях.
При имитационном моделировании поэтапно имитируется (с использованием генератора случайных чисел) весь описанный процесс: моделируются входной поток и потоки обслуживаний, имитируются процессы ветвления и объединения потоков, а также процесс отбраковки заявок.
Расчетно-формульная модель такой системы может рассматриваться только в случае, когда существуют финальные вероятности. Для таких СМО финальные вероятности существуют только тогда, когда станции не перегружены, т. е для всех станций выполняется условие (
)
Глава 3
Создание программы
3.1 Структура программы
Выделим основные составные части проекта: Form1 («Задание связей между рабочими станциями») — форма для создания связей между станциями, FormTabl («Создание матрицы связей») — форма для задания коэффициентов связей, FormMultiMass («Модель многофазной многопоточной системы обслуживания») — форма для ввода входных параметров, FormRes («Результаты моделирования многофазной системы обслуживания») — форма для вывода результатов моделирования, ModStation1 — основной вычислительный модуль.
На Form1 помещены следующие компоненты: Frame — для разделения формы на несколько областей, Line и Shape — для графического отображения связей между станциями, CommandButton — для обозначения станций, реализации процедуры задания связей между станциями и перехода к другим формам.
На FormTabl помещены компоненты: Label — для обозначения названий строк и столбцов матрицы связей, TextBox — для обозначения матрицы связей и ввода коэффициентов, CommandButton — для запуска проверки правильности задания коэффициентов связей и перехода к другим формам.
На FormMultiMass помещены компоненты: Frame — для разделения формы на несколько областей, TextBox — для ввода параметров, Label — для обозначения названия вводимого параметра, OptionButton — для организации выбора типа распределения, ProgressBar — для обозначения прохождения процесса моделирования, CommandButton — для начала ввода параметров, запуска процесса моделирования, перехода к другим формам и выхода из программы.
На FormRes помещены компоненты: SSTab — для разделения формы на две страницы (графиков и числовых результатов), Frame — для разделения страницы числовых результатов на несколько областей, Label — обозначения названия выводимого показателя, PictureBox — для вывода графических результатов моделирования, TextBox — для вывода числовых результатов моделирования, CommandButton — для возвращения к формам, используемым для ввода входных параметров.
3.2 Алгоритм работы программы
Рассмотрим обобщенный алгоритм работы программы, представленный укрупненными блоками, затем более детально рассмотрим реализацию каждого из блоков и приведем описание используемых переменных и функций.
Обобщенный алгоритм работы программы показан на рис. 2:
Начало













