Пересечения трафика модели как сеть постановки в очередь

В этом примере показано, как создать модель SimEvents®, чтобы представлять сеть трафика транспортного средства и исследовать среднее время ожидания транспортных средств, когда сеть находится в установившемся.

Предположим, что сеть трафика транспортного средства состоит из двух записей транспортного средства и двух точек выхода транспортного средства, представленных коричневыми и зелеными узлами на следующем рисунке. Каждый синий узел в сети представляет пересечение маршрута светофором, и стрелы представляют связи маршрута на каждом пересечении. Значения рядом со стрелами представляют процент транспортных средств, следующих маршрутом в том пересечении.

Уровень записей транспортного средства в сеть представлен Пуассоновскими процессами с уровнями 0.5 для записи 1 и 0.15 для записи 2. Скорости обслуживания представляют транспортные средства времени, тратят на каждом пересечении, которые чертятся от экспоненциального распределения со средним 1. Значения стрелы являются вероятностями выбора маршрута для транспортных средств в пересечении.

Сеть трафика модели

Чтобы представлять сеть трафика транспортного средства, эта модель использует Генератор Сущности, Сервер Сущности, Очередь Сущности, Входной Переключатель Сущности, Переключатель Сущности Выход и блоки Терминатора Сущности.

model = 'QueueServerTransportationNetwork';
open_system(model);

Прибытие транспортного средства модели

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

Это - код в поле действия времени Межгенерации Записи 1 блок.

% Random number generation
coder.extrinsic('rand');
ValEntry1 = 1;
ValEntry1 = rand();
% Pattern: Exponential distribution
mu = 0.5;
dt = -1/mu * log(1 - ValEntry1);

В коде, mu частота поступления Пуассона. coder.extrinsic('rand') используется, потому что нет никакого уникального seed, присвоенного для рандомизации. Для получения дополнительной информации о генерации случайных чисел в действиях события, смотрите Языки Действия События и Генерацию случайных чисел. Чтобы узнать больше о внешних функциях, смотрите Работу с mxArrays.

Выбор маршрута транспортного средства модели

Сущности имеют Route припишите, который принимает значение 1 или 2. Значение атрибута определяет выходной порт, из которого сущности отбывают из блока switch Сущности Выход.

Этот код в действии Записи Сервера Сущности 1 представляет случайные выборы маршрута транспортных средств на пересечении, представленном Узлом 1.

Coin1 = 1;
coder.extrinsic('rand');
Coin1 = rand;
if Coin1 <= 0.2
    entity.Route = 1;
else
    entity.Route = 2;
end

Это - пример случайного Route припишите присвоения, когда сущности введут блок Entity Server 1. Значение Route присвоен на основе значения случайной переменной rand это принимает значения между 0 и 1. Route становится 1 если rand меньше чем или равно 0.2, или 2 если rand больше 0.2.

Пересечения маршрута модели

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

Сервер сущности 1 содержит этот код.

% Pattern: Exponential distribution
coder.extrinsic('rand');
Val1 = 1;
Val1 = rand();
mu = 1;
dt = -mu * log(1 - Val1);

Вычислите среднее время ожидания транспортных средств в сети

Сеть создается как открытая сеть Джексона, которая удовлетворяет этим условиям.

  • Все прибывающие транспортные средства могут выйти из сети.

  • Прибытие транспортного средства представлено Пуассоновским процессом.

  • Транспортные средства отбывают из пересечения как из метода "первым пришел - первым вышел". Время ожидания в пересечении экспоненциально распределяется со средним 1.

  • Транспортное средство, отбывая из пересечения или следует доступным маршрутом или оставляет сеть.

  • Использование каждой перекрестной очереди трафика меньше 1.

В устойчивом состоянии каждая очередь в открытой сети Джексона ведет себя независимо как M/M/1 очередь. Поведение сети является продуктом отдельных очередей в распределениях равновесия. Для получения дополнительной информации о M/M/1 очередях, см. M/M/1 Систему массового обслуживания.

Частота поступления транспортного средства для каждого узла$i$ вычисляется с помощью этой формулы.

$\lambda_i = r_i + \sum_{j=1}^N \theta_{ji} \lambda_j,$

В формуле:

  • $r_i$ уровень внешнего прибытия для узла$i$.

  • $j=1,\ldots,N$ общее количество входящих стрел к узлу$i$.

  • $\theta_{ji}$ вероятность выбора узла$i$ от узла$j$.

  • $\lambda_j$ общая частота поступления транспортного средства к узлу$j$.

Для всех узлов в сети уравнение принимает эту матричную форму.

$\lambda = R(I-\theta)^{-1}$

Здесь,$\theta$ матрица маршрутизации, и каждый элемент представляет вероятность перехода от узла$j$ до узла$i$.

Для сети, исследованной здесь, это - матрица маршрутизации.

$\theta = \left[\begin{array}{cccc} 0 &#38; 0.2 &#38; 0.8 &#38; 0\\ 0 &#38; 0 &#38; 0.7 &#38; 0.3\\ 0 &#38; 0 &#38; 0 &#38; 0.4\\ 0 &#38; 0 &#38; 0 &#38; 0 \end{array}\right]$

$R$ вектор из внешнего прибытия в каждый узел.

$R = \left[\begin{array}{cccc} 0.5 &#38; 0 &#38; 0 &#38; 0.15 \end{array}\right]$

Используя эти значения, средняя частота поступления вычисляется для каждого узла.

$\lambda = \left[ \begin{array}{cccc} 0.5 &#38; 0.1 &#38; 0.47 &#38; 0.368 \end{array}\right]$

Каждый узел ведет себя как независимая M/M/1 очередь, и среднее время ожидания каждого узла$i$ вычисляется этой формулой. См. M/M/1 Систему массового обслуживания.

$\rho_i=\frac{\lambda_i}{1-\lambda_i}$

Среднее время ожидания каждого узла вычисляется путем слияния каждого элемента$\lambda$.

$\rho = \left[\begin{array}{cccc} 1 &#38; 0.11 &#38; 0.88 &#38; 0.58 \end{array}\right]$

Просмотрите результаты симуляции

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

  • Время ожидания очереди в узле 1 сходится к 1.

  • Время ожидания очереди в узле 2 сходится к 0.11.

  • Время ожидания очереди в узле 3 сходится к 0.88.

  • Время ожидания очереди в узле 4 сходится к 0.58.

Ссылки

[1] Джексон, Джеймс Р. Издание 5 исследования операций, № 4 (август 1957), стр 518-521.