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

В этом примере показано, как создать модель 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 (Simulink).

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

Сущности имеют 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 Систему массового обслуживания.

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

В формуле:

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

  • общее количество входящих стрел к узлу.

  • вероятность выбора узла от узла.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ссылки

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