logo
Моделирование работы двух кассиров в банке

Теоретическая часть

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

Целью имитационного моделирования является конструирование ИМ объекта и проведение имитационного эксперимента (ИЭ) над ним для изучения закона функционирования и поведения с учетом заданных ограничений и целевых функций в условиях имитации и взаимодействия с внешней средой.

В общем случае, проведение ИЭ можно разбить на следующие этапы.

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

Задать законы распределения вероятностей для ключевых параметров модели.

Провести компьютерную имитацию значений ключевых параметров модели.

Рассчитать основные характеристики распределений исходных и выходных показателей.

5. Провести анализ полученных результатов и принять решение.

Результаты имитационного эксперимента могут быть дополнены статистическим анализом, а также использоваться для построения прогнозных моделей и сценариев.

Принципы и методы построения имитационных моделей.

Процесс функционирования сложной системы можно рассматривать как смену ее состояний, описываемых ее фазовыми переменными Zx(t), Z2(f),... Z„(t) в n-мерном пространстве.

Задачей имитационного моделирования является получение траектории движения рассматриваемой системы в и-мерном пространстве (Zb Z2, ... Z„), а также вычисление некоторых показателей, зависящих от выходных сигналов системы и характеризующих ее свойства.

В данном случае сдвижение» системы понимается в общем смысле - как любое изменение, происходящее в ней.

Известны два принципа построения модели процесса функционирования систем:

1. Принцип At. Рассмотрим этот принцип сначала для детерминированных систем. Предположим, что начальное состояние системы соответствует значениям Zi(t0), Z2(to), ... Z„(t0). Принцип At предполагает преобразование модели системы к такому виду, чтобы значения Zb Z2, ... Z„ в момент времени tx = t0 + At можно было вьлислить через начальные значения, а в момент t2 = tx + At через значения на предшествующем шаге и так для каждого г-ого шага (At = const, i=+ M).

Для систем, где случайность является определяющим фактором, принцип А? заключается в следующем:

Определяется условное распределение вероятности на первом шаге (^ = t0 + At) для случайного вектора, обозначим его (Zb Z2, ... Z„). Условие состоит в том, что начальное состояние системы соответствует точке траектории (Z, Z2°,...Z°).

Вычисляются значения координат точки траектории движения системы (tx = t0 + At), как значения координат случайного вектора, заданного распределением, найденным на предыдущем шаге.

Отыскиваются условное распределение вектора {Z,Z,...Z2n) на втором шаге

(t2= h+ At), при условии получения соответствующих значений Z) (/ = 1-^-я) на первом

шаге и т.д., пока tt = t0+i At не примет значения (tM = t0+ MAt).

Принцип At является универсальным, применим для широкого класса систем. Его недостатком является неэкономичность с точки зрения затрат машинного времени.

2. Принцип особых состояний (принцип az). При рассмотрении некоторых видов систем можно выделить два вида состояний:

обычное, в котором система находится большую часть времени, при этом Zi(t), (i = l+п) изменяются плавно;

особое, характерное для системы в некоторые моменты времени, причем состояние системы изменяется в эти моменты скачком.

Принцип особых состояний отличается от принципа At тем, что шаг по времени в этом случае не постоянен, является величиной случайной и вычисляется в соответствии с информацией о предыдущем особом состоянии.

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

Для таких систем применение принципа At является нерациональным, так как при этом возможны пропуски особых состояний и необходимы методы их обнаружения.

В практике использования имитационного моделирования описанные выше принципы при необходимости комбинируют.

Основными методами имитационного моделирования являются: аналитический метод, метод статического моделирования и комбинированный метод (аналитико-статистический) метод.

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

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

Комбинированный метод (аналитико-статистический) позволяет объединить достоинства аналитического и статистического методов моделирования. Он применяется в случае разработки модели, состоящей из различных модулей, представляющих набор как статистических, так и аналитических моделей, которые взаимодействуют как единое целое. Причем в набор модулей могут входить не только модули соответствующие динамическим моделям, но и модули соответствующие статическим математическим моделям.

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

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

Потоком событий называется последовательность однородных событий, следующих одно за другим в случайные моменты времени. Важной характеристикой потока событий является его интенсивность Я-- среднее число событий, приходящееся на единицу времени. Интенсивность потока может быть как постоянной {Л = const), так и переменной, зависящей от времени t. Поток событий называется регулярным, если события следуют одно за другим через определенные, равные промежутки времени. На практике чаще встречаются потоки нерегулярные, со случайными интервалами.

Поток событий называется стационарным, если его вероятностные характеристики не зависят от времени. Поток событий называется потоком без последействия, если для любых двух непересекающихся интервалов времени tx и t2 число событий, попадающих на один из них, не зависит от того, сколько событий попало на другой. Это означает, что заявки попадают в систему независимо друг от друга.

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

Поток событий называется простейшим (или стационарным пуассоновским), если он обладает сразу тремя свойствами: стационарен, ординарен и не имеет последействия. Название «простейший» связано с тем, что процессы, связанные с простейшими потоками, имеют наиболее простое математическое описание. Самый простой, на первый взгляд, регулярный поток не является «простейшим», так как обладает последействием: моменты появления событий в таком потоке связаны жесткой функциональной зависимостью.

СМО могут быть одноканальными и многоканальными.

Процесс работы СМО представляет собой случайный процесс с дискретными состояниями и непрерывным временем; состояние СМО меняется скачком в моменты появления каких-то событий (прихода новой заявки, окончания обслуживания, момента, когда заявка, которой «надоело ждать», покидает очередь).

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

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

Кроме этих признаков, СМО делятся на два класса: «открытые» и «замкнутые». В открытой СМО характеристики потока заявок не зависят от того, в каком состоянии находится сама СМО (сколько каналов занято). В замкнутой СМО - зависят.