Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмы и программные средства имитационного моделирования систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
51
4.2. Характеристики СМО
СМО и сети СМО характеризуются следующими параметрами:
1) входящий поток заявок;
2) дисциплины работы с очередями;
3) правила и дисциплины обслуживания заявок;
4) выходящий поток заявок;
5) режимы работы СМО.
Входящий поток заявок. Чтобы задать входящий поток заявок,
необходимо описать:
– число источников заявок; – закон поступления заявок от каждого источника.
Закон поступления может быть детерминированным или вероят­ностным. Как правило, входной поток заявок определяется законом распределения длительности интервала времени между соседними заявками в потоке.
Классическая теория массового обслуживания, где получен ряд аналитических решений, рассматривает только простейший поток зая­вок. Для такого потока интервал времени между соседними заявками – это непрерывная случайная величина, удовлетворяющая показатель­ному закону, а количество заявок, поступающих за некоторый проме­жуток времени, – это дискретная случайная величина, удовлетворяю­щая закону Пуассона.
Дисциплины работы с очередями. С их помощью определяется порядок постановки заявок в очередь к занятому устройству, а также порядок выбора заявок из очереди. Простейшая дисциплина – FIFO (первый пришел – первый вышел). Более сложный вариант организа­ции очереди – LIFO (последний пришел – первый вышел).
Выбор из очереди может быть случайным или по параметрам. На очередь могут накладываться ограничения по длине или по времени нахождения заявок в очереди.
При различных приоритетах заявок на входах обслуживающих устройств фактически может образовываться несколько очередей. Ка­ждая очередь содержит заявки с одним уровнем приоритета. Заявки из очереди с наивысшим приоритетом поступают на обслуживание пер­выми. Заявки низшего приоритета обслуживаются только тогда, когда отсутствуют очереди заявок с более высокими приоритетами.
Правила и дисциплины обслуживания заявок. Правила обслу-
живания характеризуются:
– законом распределения времени обслуживания; – числом заявок, которые могут обслуживаться одновременно; – дисциплиной обслуживания.
52
Время обслуживания может быть детерминированным или вероят­ностным с заданным законом распределения. Классическая теория массового обслуживания допускает детерминированное время и толь­ко показательный закон распределения
󰇛󰇜 
где – интенсивность обслуживания.
Число заявок на обслуживание определяется характеристиками
СМО или структурами сетей СМО.
Дисциплины обслуживания определяют:
– как выбирается следующая заявка на обслуживание; – при каких условиях прекращается обслуживание; – возможность частичного обслуживания заявок.
Различают дисциплины обслуживания бесприоритетные и при-
оритетные. В первом случае все заявки равноправны и порядок их вы­бора из очереди зависит от дисциплины организации очереди. Что касается приоритетных дисциплин, то здесь много вариантов, на­пример:
1) приоритет заявок может быть статическим или динамическим.
Статический задается в виде числовых констант, динамиче­ский – в виде функции, зависящей от времени;
2) дисциплины обслуживания могут быть с относительными или с
абсолютными приоритетами. Относительный приоритет означа­ет, что заявка с более высоким приоритетом не прерывает об­служивание менее приоритетных заявок. Абсолютный приори­тет означает, что поступление заявки более высокого приорите­та всегда прерывает текущее обслуживание менее приоритетной заявки. Возможны вложенные прерывания (иногда ограничива­ют глубину вложенности). Прерванные заявки могут удаляться или образовывать очереди на дообслуживание.
Выходящий поток заявок. Это поток заявок как обслуженных,
так и не обслуженных, которые удаляются из системы. Структура вхо­дящего потока важна при изучении многофазных систем, где выходя­щий поток одной СМО является входящим для следующей СМО. Из­вестен следующий теоретический результат: для СМО с простейшим входным потоком с интенсивностью , которая имеет k параллельных устройств обслуживания при экспоненциальном законе распределения
времени обслуживания с интенсивностью для каждого устройства, выходной поток также является простейшим и имеет интенсивность
 󰇝   󰇞.

,
53
Во всех других случаях закон распределения выходящего потока
имеет более сложную вероятностную природу и может исследоваться только с помощью систем имитационного моделирования.
Режимы работы СМО. При описании процессов обслуживания в
реальных системах могут возникать отказы устройств. Такой режим называется режимом отказа. Возможен также режим блокировки об­служивания, когда осуществляется временное прерывание или замед­ление процесса обслуживания. Это потребуется, например, при моде­лировании каких-либо технологических процессов, где предусмотрено временное отсутствие комплектующих, деталей или материалов.
В целом для СМО любых видов справедлив закон Литтла, кото-
рый гласит: для любого распределения времени между поступлениями заявок, для любого распределения времени их обслуживания, для лю­бого числа устройств обслуживания и для любой дисциплины обслу­живания среднее количество заявок в СМО или сети СМО определя­ется как
   
где  – интенсивность заявок;
T – среднее время нахождения заявок в системе.
В литературе для обозначения видов СМО используют три пара-
метра - X/Y/Z:
X – распределение времени поступления заявок; Y – распределение времени обслуживания; Z – количество обслуживающих устройств.
Ряд известных аналитических результатов получен для систем ти-
па D/D/1, M/M/1, M/G/1, где D – детерминированное время, M – экспо­ненциальное распределение времени, G – произвольное распределение времени.
В целом результаты анализа СМО и сетей СМО обычно включа-
ют:
1) производительность (пропускную способность системы), т.е.
среднее число обслуженных заявок в единицу времени;
2) вероятность обслуживания заявки для СМО с отказами;
3) характеристики очередей для СМО с ожиданием (максималь-
ная и средняя длина, максимальное и среднее время ожидания в очереди и др.);
4) коэффициенты загрузки обслуживающих устройств и др.
Интерпретация результатов осуществляется с учетом специфики исследуемой системы. Например, для вычислительных систем могут быть найдены состав и количество устройств обработки и хранения
54
данных, структура их связей и способы передачи данных между уст­ройствами, значение основных характеристик этих устройств и т.п.
4.3. Имитационное моделирование СМО
Термин «имитационное моделирование» означает, что исследу­ются такие математические модели, с помощью которых результат нельзя заранее вычислить или предсказать. С помощью подобных мо­делей можно выполнить анализ исследуемой системы путем проведе­ния эксперимента (имитации) при заданных исходных данных и режи­мах работы.
Имитация представляет собой численный метод проведения экс­периментов на ЭВМ с моделями, описывающими функционирование исследуемой системы в течение некоторого периода времени. Такой период времени может задаваться или формироваться в процессе экс­перимента.
В применяемых моделях, называемых имитационными, функцио­нирование исследуемой системы, включая функционирование отдель­ных элементов и процессов их взаимодействия, представляется набо­ром алгоритмов, реализуемых на некотором языке. Совокупность опи­саний этих алгоритмов на языке программирования или моделирова­ния называется программной имитационной моделью. Результаты проведения экспериментов с имитационной моделью предоставляют возможность решения следующих задач:
– сравнение различных вариантов организации структуры сис-
темы;
– оценка и сравнение различных алгоритмов управления систе-
мой;
– анализ степени влияния параметров системы, начальных усло-
вий и внешних факторов на эффективность системы;
– определение таких параметров, влияние которых является
критическим и др.
Элементы программной имитационной модели
Имитационная модель образуется при взаимодействии следую­щих элементов:
состояний; – событий; – датчиков случайных чисел; – таймера модельного времени; – цепей событий; – счетчиков; – блока инициализации;
55
критерия завершения.
Состояние моделируемой системы и ее элементов задается коли-
чественными значениями числовых параметров отдельных элементов, их связей и системы в целом. Например, состояние некоторой простой сети СМО можно описать следующими данными:
– текущее число заявок в сети; – фазы обслуживания заявок; – моменты поступления новых заявок в систему; – моменты начала и окончания обслуживания в каждом устройст-
ве;
– текущее число заявок в каждой очереди и т.п.
Событие – это резкое скачкообразное изменение состояния моде­ли. Различают события первичные и вторичные. Вторичные наступают как следствие первичных событий. Например, завершение обслужива­ния заявки в некотором устройстве – это первичное событие. Продви­жение очереди к этому устройству – вторичное событие.
Датчики случайных чисел используют для планирования оче- редных событий в модели. Например, с помощью датчиков определя­ют моменты поступления заявок, длительности их обслуживания, объ­емы необходимых ресурсов для обслуживания, траектории движения заявок в сетях СМО и др.
Имитируемый процесс функционирования исследуемой системы развивается в так называемом модельном времени. Счетчик модельно­го времени называют модельным таймером или таймером модельно- го времени. Работа с таймером определяет общий подход (алгоритм) моделирования системы. В общем случае изменение значения таймера может производиться двумя основными способами:
с постоянным шагом во времени (принцип ∆t);
с переменным шагом, т.е. скачками от события к событию.
Цепи событий – это специальным образом организованные спи­ски событий в модели. В процессе анализа и обработки цепей событий реализуется логика моделируемых процессов. Различают несколько типов цепей событий (календарей событий).
Цепь текущих событий. Здесь размещаются записи об одновре­менных событиях, которые должны произойти в модели в текущее модельное время. Последовательность обработки одновременных со­бытий определяется логикой моделируемых процессов и является строго фиксированной. События из этой цепи обрабатываются без из­менения таймера модельного времени. В простейшей СМО одновре­менными могут быть следующие события:
56
– завершение обслуживания заявки;
– поступление новой заявки на обслуживание из очереди;
– продвижение очереди;
– определение момента завершения обслуживания поступившей
заявки и др.
Цепь будущих событий. Содержит записи о событиях, запланиро­ванных на последующие моменты модельного времени. Записи о со­бытиях сортируются по моментам наступления. Одновременно с про­движением таймера записи из второй цепи переносятся в первую цепь для обработки соответствующих событий.
Цепь задержанных событий. Содержит записи о таких событиях, которые должны были произойти в текущее время или ранее, но стали невозможными из-за возникших дополнительных условий в модели. Например, запланированное заранее обслуживание некоторой заявки стало невозможно из-за прерывания процесса обслуживания более приоритетной заявкой. Или заявка должна была поступить на обслу­живание, но обслуживание стало невозможным из-за нехватки доступ­ных ресурсов. Такие события называют задержанными (или заблоки­рованными). Возможность наступления этих событий проверяется ка­ждый раз после обработки цепи текущих событий.
Счетчики используют для сбора и накопления результатов мо­делирования. Например, чтобы вычислить среднее время обслужива­ния заявки некоторым устройством, необходимо два счетчика:
- счетчик числа заявок, обслуженных этим устройством;
- счетчик суммарного времени полезной работы устройства.
Блок инициализации предназначен для приведения модели в начальное состояние перед запуском программы моделирования и сбора статистики. Обычно это обнуление всех счетчиков и установка датчиков случайных чисел в начальное состояние для воспроизводи­мости эксперимента. В более сложных вариантах начальные условия блоков инициализации должны определять такой момент начала сбора статистики, когда режим работы близок к стационарному.
Критерий завершения эксперимента определяет момент пре- кращения работы программы. В простейших моделях это может быть достижение заданного значения таймера или числа обслуженных зая­вок и т.п. В более сложных вариантах управление длительностью экс­перимента должно определяться погрешностями получаемых резуль­татов.
57
4.4. Обобщенные алгоритмы имитационного моделирования
В соответствии со способами изменения модельного времени раз­личают два основных алгоритма:
– алгоритм моделирования с постоянным шагом модельного
времени. В этом алгоритме модельное время изменяется с помощью фиксированного приращения ∆t, поэтому в литературе этот алгоритм также называют алгоритмом моделирования по принципу ∆t;
– алгоритм событийного моделирования. В этом алгоритме мо-
дельное время изменяется скачками разной величины, т.е. от события к событию.
4.1.4. Алгоритм моделирования с постоянным шагом
модельного времени
Обобщенная схема моделирующего алгоритма имеет следующий вид, представленный на рис. 4.9.
Исходное состояние моделируемой системы описывают значения ее параметров Zi(t0) в начальный момент модельного времени t0. Про­цесс функционирования системы анализируется по смене состояний, описываемых значениями этих параметров Zi(t) в каждый момент мо- дельного времени t. Для этого на каждом шаге моделирования таймер модельного времени получает некоторое приращение ∆t. Затем, если в системе произошли некоторые события, определяется новое состоя­ние, которое становится текущим. Для определения нового состояния используются необходимые математические и алгоритмические соот­ношения, включая датчики случайных чисел.
Для каждого нового значения модельного времени измеряются, фиксируются и обрабатываются требуемые выходные характеристики (с помощью соответствующих счетчиков).
В качестве примера, иллюстрирующего такой подход к модели­рованию, для простой модели СМО (очередь - прибор) построим вре­менную диаграмму (рис. 4.10), отражающую изменение ее состояния, где в окружностях показаны номера поступивших в систему заявок.
Здесь в каждый момент ti просматриваются все элементы модели (их параметры) и проверяется возможность наступления какого-либо события (вход новой заявки в систему, освобождение обслуживающе­го прибора, изменение длины очереди и т.п.). Если обнаружено насту­пление данных событий, то выполняется изменение состояния модели. Основная сложность использования такого алгоритма моделирования заключается в определении величины ∆t. Очевидно, что при малых ∆t будет выполняться большое число просмотров модели без изменения
58
Да
Нет
Начало
Ввод исходных
данных Zi(t0)
Установка модельного
времени t = t
0
Изменение модельно-
го времени
t = t + ∆t
Изменения в
модели?
Определение ново-
го состояния Zi(t) = Zi(t+∆t)
Конец
моделирования?
Вывод резуль-
татов
Конец
Да
Нет
ее состояния. При больших ∆t, наоборот, можно пропустить кратко­временные изменения состояния (например, если время обслуживания заявки меньше величины ∆t).
Рис. 4.9
59
Рис. 4.10
4.4.2. Обобщенный алгоритм событийного моделирования
В этом алгоритме анализируются только смены состояния моде­ли, которые происходят вследствие наступления соответствующих событий. Процесс имитации во времени включает следующие дейст­вия:
1. Определяется событие с минимальным временем наступления,
т.е. наиболее раннее событие.
2. Таймер модельного времени получает значение, равное вре-
мени наступления наиболее раннего события.
3. Определяется тип этого события.
4. В зависимости от типа события производятся изменения в мо-
дели (по загрузке обслуживающих устройств и продвижению заявок в системе). Также планируются моменты наступления будущих событий. Действия, перечисленные в пункте 4, назы­ваются реакцией модели на событие.
5. Пункты 1-4 повторяются до окончания моделирования.
Обобщенная схема алгоритма событийного моделирования при­ведена на рис. 4.11.
Временная диаграмма, описывающая состояние моделируемой системы, подобно рассмотренному примеру будет иметь следующий вид, представленный на рис. 4.12.
60
Реакция модели на
событие 1-го типа
Конец модели-
рования?
Вывод
результата
Конец
Нет
Да
Реакция модели на
событие 2-го типа
Реакция модели на событие n-го типа
Начало
Ввод исходных
данных
Планирование первых заявок
от всех источников
Определение наиболее
раннего события
Изменения таймера мо-
дельного времени
Определение типа события
Рис. 4.11
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]