Полная версия

Главная arrow Информатика arrow ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ СИСТЕМ

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Имитационная модель системы массового обслуживания

Для иллюстрации способа продвижения модельного времени до ближайшего события рассмотрим имитационную модель СМО следующего вида:

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

Рис. 3.32. Многофазная система массового обслуживания

На рис. 3.32 использованы следующие обозначения:

Г1; ..., Гс — генераторы (источники) потоков заявок на обслуживание;

Кг Ql,..., Ks qS — каналы обслуживания;

S — число фаз;

Qj, ..., Qs — число каналов в каждой фазе;

Lb ..., Ls — очереди заявок на входах соответствующих фаз.

Такой СМО может быть, например, сборочный цех предприятия. Из нескольких цехов (Г1; ..., Гс) поступают готовые блоки для сборки изделия. Сначала они поступают на диспетчерские посты, на которых происходит оформление соответствующей документации. После этого блоки направляются на сборочные участки.

Диспетчеризация — первая фаза обслуживания.

Сборка изделий — вторая фаза.

Затем идет стендовый контроль и регулировка — третья фаза.

Приемка готового изделия (например, военная приемка) — четвертая фаза.

Далее может быть упаковка изделия — пятая фаза.

Упакованные изделия поступают в транспортное подразделение для отправки — это шестая фаза.

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

Вернемся к общей постановке задачи.

Целью моделирования является определение показателей исхода операции массового обслуживания на временном интервале 0—Т, например оценка относительной пропускной способности СМО, среднее количество заявок в очередях, коэффициент использования каналов в каждой фазе и др.

Проанализируем элементы СМО.

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

Поступление заявок на вход первой фазы — событие активное. Следовательно, в модели должны быть предусмотрены модули реакции на это событие. Каждый поток обслуживает свой модуль реакции, значит, модулей реакции этого типа должно быть столько, сколько имеется потоков заявок, т.е. G. Моменты поступления заявок имитируются соответствующими генераторами (датчиками) случайных интервалов между заявками потоков Г]; ..., Гс.

2. Каналы обслуживания.

Каждый канал имеет два состояния: свободен или занят. Переход в состояние «занят» — событие пассивное, так как определяется поступлением заявки. Переход в состояние «свободен» — событие активное, оно определяется внутренними свойствами канала, например производительностью. Следовательно, в модели должны быть модули реакции на освобождение каналов. И этих модулей должно быть столько, сколько имеется в нашей СМО каналов: Qx + Q2 + ... + Qs.

3. Очереди заявок на обслуживание на входах фаз.

Эти элементы СМО — пассивные, число состояний неограниченно.

4. Очереди свободных каналов в каждой фазе обслуживания.

Эти элементы СМО также пассивные, число состояний равно числу каналов в каждой фазе.

5. Обобщенный элемент «СМО в целом».

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

Изменения состояний считаем мгновенными.

Общее число модулей реакции в рассматриваемой модели СМО должно быть

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

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

Таким образом, имитационная модель СМО будет иметь всего четыре модуля реакции:

  • 1) модуль реакции на поступление заявки (Л);
  • 2) модуль реакции на освобождение канала не последней фазы (В);
  • 3) модуль реакции на освобождение канала последней фазы (С);
  • 4) модуль реакции на завершение интервала исследования Т (0) — реакция на изменение состояния обобщенным элементом «СМО в целом».

Блок-схема имитационной модели СМО состоит из общей части и модулей реакции. Общая часть имеет стандартный вид и была рассмотрена ранее (см. рис. 3.31). Структура общей части определяется способом продвижения модельного времени по событиям. Она показана на рис. 3.33.

Блок 1 — установка начальных условий на весь процесс моделирования. Вводятся количество прогонов модели N, модельное время моделирования Т (реальное время исследования в масштабе), указываются число источников заявок, число каналов. Счетчик числа реализаций п устанавливается в нуль (или в N — в зависимости от того, как организован счет реализаций модели). При необходимости указываются данные планирования эксперимента с моделью, описываются необходимые переменные для счета, хранения результатов моделирования, последующей их статистической обработки и вывода на соответствующие носители и др.

Схема имитационной модели СМО

Рис. 3.33. Схема имитационной модели СМО

Блок 2 — установка начальных условий на очередную реализацию модели. Текущее время, счетчики числа поступивших и обслуженных заявок устанавливаются в нуль. Каналы обслуживания и очереди к ним устанавливаются в исходные состояния (установки исходных состояний определяются требованиями к исследованию) и др.

Наборы исходных данных НУ(М) и НУ(п) определяются конкретным назначением моделируемой СМО и характером последующих экспериментов.

Блоки 3, 4 реализуют продвижение времени по событиям.

Блок 5 — выбор модуля реакции. В зависимости от индекса к пространственно-временной точки mint&# передается управление соответствующему модулю реакции —Л, В, С или 0.

В рассматриваемой модели элементы СМО имеют только два состояния, одно из которых является начальным. Поэтому индекс j не имеет смысла.

Рассмотрим состав и функционирование модулей реакции. Допустим, что в рассматриваемый момент времени свершилось активное событие — поступление заявки от одного из источников. Блок 5 передает управление модулю реакции А.

Схема алгоритма модуля реакции А приведена рис. 3.34.

Схема алгоритма модуля реакции А

Рис. 3.34. Схема алгоритма модуля реакции А

Блок А5 — блок настройки. Обеспечивает доступ к ДСЧ, ячейкам и другим элементам модуля, предназначенным для обслуживания конкретного потока заявок, которому принадлежит поступившая заявка.

Блок А6 — проверка наличия свободных каналов первой фазы. Количество свободных каналов в очереди обозначено 1СК. Если все каналы заняты (1СК = 0), управление передается блоку А7. Если свободные каналы есть (1СК > 0), управление передается блоку А9.

Блок А7 — размещение поступившей заявки в соответствующей очереди первой фазы (13 + 1). Текущее содержимое этой очереди обозначено как 13.

Блок А8 — запоминание времени постановки заявки в очередь и передача управления блоку А13.

Правая ветвь алгоритма (см. рис. 3.34) выполняет действия, связанные с постановкой заявки на обслуживание.

Блок А9 — имитация загрузки одного из свободных каналов поступившей заявкой. Очередь свободных каналов уменьшается на единицу (1СК - 1). Выбранному каналу присваивается признак занятости — 1. У свободных каналов этот признак равен нулю.

Блок А10 — определение и запоминание длительности простоя канала. Накопление времени простоя необходимо, например, для определения коэффициента занятости канала на всем интервале исследования.

Блок АН — имитация времени обслуживания заявки.

Случайное время обслуживания тобс формируется обращением к соответствующему датчику случайных чисел.

Блок А12 — прогноз времени окончания обслуживания t + тобс и занесение новой пространственно-временной точки в список событий.

Блок А13 — прогноз момента времени поступления очередной заявки. Соответствующий датчик случайных чисел выдает длительность случайного временного интервала между заявками данного типа. Момент поступления очередной заявки вычисляется как t + тинт. Полученная таким образом пространственно-временная точка заносится в список событий.

Управление передается в точку Е — блоку 3 для определения очередного ближайшего события.

Если очередным ближайшим событием окажется освобождение канала не последней фазы, то блок 5 передает управление модулю реакции В, имитирующему действия в СМО при свершении этого активного события.

Схема алгоритма модуля реакции В представлена на рис. 3.35.

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

Блок В5 — настройка модуля на освободившийся канал конкретной фазы.

Каждая фаза обслуживания имеет свою очередь заявок на входе, свою очередь свободных каналов и, возможно, свои датчики случайных чисел. Поэтому не будем вводить для них новые обозначения, оставим те, которые были использованы при описании модуля А.

Блок В6 — проверка, есть ли в очереди на входе фазы заявки, ожидающие обслуживания.

Схема алгоритма модуля реакции В

Рис. 3.35. Схема алгоритма модуля реакции В

Если на входе фазы заявок нет (73 = 0), то канал должен быть переведен в режим ожидания (блоки В7 — В9).

Блок В7 — очередь свободных каналов увеличивается на единицу (lCK + 1). Признак занятости канала устанавливается равным нулю.

Блок В8 — запоминание момента освобождения канала.

Блок В9 — перевод освободившегося канала в пассивное состояние. Для этого пространственно-временной точке tk, относящейся к освободившемуся каналу, присвоить значение времени, превышающее интервал исследования Т, т.е. tk = Т + 1. Это значение tk заносится в список событий. Управление передается блоку В14.

Если на входе фазы заявки есть ((3 > 0), то освободившийся канал должен быть немедленно загружен (блоки В10 — В13).

Блок В10 — загрузка канала заявкой из очереди: l3= l3- 1.

Блок Bll — фиксация времени занятия канала заявкой из очереди.

Блок В12 — определение времени обслуживания заявки тобс с помощью датчика случайных чисел.

Блок В13 — вычисление времени освобождения канала t - t + тобс и запись в список событий.

Блоки В14 — В20 моделируют размещение заявки, освободившей канал, в следующей фазе обслуживания. Функции и взаимные связи этих блоков аналогичны блокам А6 — А12, рассмотренным ранее.

Блок В20 передает управление блоку 3 для идентификации очередного активного события. Этим событием может быть поступление заявки от какого-либо источника на вход первой фазы или окончание обслуживания заявки каким-либо каналом на первой или других фазах. В этих случаях управление будет снова передано модулям реакции А или В.

Если же очередным активным событием окажется освобождение канала последней фазы, то управление передается модулю реакции С (рис. 3.36).

Схема алгоритма модуля реакции С

Рис. 3.36. Схема алгоритма модуля реакции С

Блок С5 — настройка на соответствующий канал последней фазы. Аналогичен блоку В5.

Блоки С6 — С13 — загрузка освободившегося канала ожидающей заявкой, если таковая есть на входе последней фазы. Функции и взаимосвязи блоков аналогичны блокам В6 — В13. Блок С6 соответствует блоку В6, блок С7 — блоку В7 и т.д. по одинаковым номерам.

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

Если очередное значение min tk = Г, что означает окончание интервала исследования работы СМО, управление передается модулю реакции 0 (рис. 3.37).

Схема алгоритма модуля реакции О

Рис. 3.37. Схема алгоритма модуля реакции О

Построить имитационную модель с продвижением времени можно и по-другому. Однако рассмотренная структура модели обладает важными достоинствами.

  • 1. Моделирующий алгоритм нагляден и прост, что существенно упрощает программирование и, особенно, отладку модели, а также изучение готовых моделей.
  • 2. Рассмотренная структура алгоритма позволяет параллельно разрабатывать модель по отдельным модулям и, следовательно, сокращать время на ее создание.
  • 3. Облегчены корректировка и развитие модели. Например, в рассмотренной модели СМО легко учесть выход из строя и восстановление каналов обслуживания. Для этого надо добавить два модуля реакции: один — на возникновение отказа, другой — на восстановление работоспособности. Оба эти события рассматриваются как активные, если неисправность возникает из-за внутренних дефектов оборудования, а восстановление является результатом усилий обслуживающего персонала, входящего в состав СМО.
 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>