На стадион прибывают зрители с некоторой интенсивностью. Время прибытия очередного зрителя (интервал после прихода предыдущего) - случайная величина, распределена по закону Пуассона.
На стадионе имеются несколько входов (ворот) с несколькими турникетами в каждых, время прохода через каждый вход случайная величина (своя для каждого входа) с равномерным распределением.
При этом:
Время прохода может регулироваться путем варьирования количества турникетов и контролеров.
Ожидается, что на конкретное мероприятие придет определенное прогнозируемое количество зрителей.
Все зрители, пришедшие к стадиону за Т минут до начала мероприятия, должны успеть попасть на стадион к началу.
Цели моделирования (анализируемые параметры).
1. Параметры (целевые), подлежащие анализу:
а) количество входов, которое должно быть задействовано;
б) количество турникетов, которое должно быть открыто на каждом входе.
2. Модель должна позволить устанавливать зависимость значений целевых параметров от следующих управляемых параметров:
а) прогнозируемое количество зрителей;
б) интенсивность прибытия зрителей;
в) Т - время гарантированного прохода.
Выполнение
На стадион прибывают зрители с некоторой интенсивностью. Время прибытия очередного зрителя (интервал после прихода предыдущего) - случайная величина, распределена по закону Пуассона (заведём в модели параметр intens_zrit изпользующийся для установки времени между прибытием заявок как exponential(intens_zrit)).
На стадионе имеются несколько входов (предположим, что их три, одни открыты всегда, а две других мы сможем открывать/закрывать в процессе моделирования с помощью управляющих логических переменных seco и third_). Каждый вход имеет несколько турникетов, время прохода через каждый вход случайная величина (для этого введём параметры характеризующие входы) с равномерным распределением для задержки в соответствующих блоках delay, delay1, delay2. (Рисунок 1).
|
Рисунок 1
Кроме того будем использовать сеть(Network) для моделирования передвижения болельщиков. Для передвижения по сети воспользуемся экземплярами блоков networkMoveTo. При этом правила выбора, к какому входу идти, реализуется через связку объектов типа SelectOutput на основе последовательности проверки следующих условий:
1. Иди к первому входу, если остальные два входа закрыты или очередь у первого входа меньше, чем у остальных
2. Иди ко второму входу, если очередь меньше чем в третьем или третий вход закрыт
3. На вход 3 попадают только тогда, когда очередь меньше, чем во втором или второй закрыт
Для анализа максимального времени прохода при появлении и при удалении из системы (прибытие на посадочное место) фиксируется время и разность заносится в набор данных garant_time.
Для моделирования движения на схеме также создаются элементы в виде геометрических примитивов с соответствующими названиями (Рисунок 2). Так большой прямоугольник слева на анимации имеет название entrance и задаёт точку входа в специальном объекте типа networkEnter. Также создаются примитивы, моделирующие ворота, и блоки типа Polyline, моделирующие направления движения к соответвующим блокам. Все необходимые для моделирования движения примитивы объединяются в группу, на которую ссылается объект типа Network.
|
Рисунок 2
Для данной модели можно также создать анимацию. Время прохода может регулироваться путем варьирования количества турникетов и контролеров соответствующими экземплярами slider и checkbox. Интенсивность задаётся посредством editbox. На анимации также предусмотрено изменение цвета в воротах, при блокировании (красный цвет) и разблокировании (зелёный). Максимальное время прохождение через систему выводится в элементе barIndicator (из параметра garant_time вызывается функция garant_time.max()).
На Рисунке 3 изображена анимация данной модели в конкретный момент времени, болельщики обозначаются квадратиками разного цвета. Управляющие и управляемые параметры вынесены над изображением проигрывания системы на карте с помощью передвижения и задержек болельщиков при движении по сети.
Рисунок 3