Автореферат: Система моделирования Транспортная инфраструктура города

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Транспортный_район - это область города с относительно однородным спросом.

Снимок_спроса - это характеристика соответствующего транспортного района как источника или приемника ТС. В атрибутах Спрос_входящий и Спрос_исходящий хранится количество ТС в час, пересекающих границу транспортного района и имеющих район Источником либо Целью (т.е. “зарождающихся” или “исчезающих” в выбранном транспортном районе).

Объектно-ориентированное проектирование системы моделирования

Система моделирования ТП представляет собой набор классов, помещенных в сборку .NET [5]. “Точкой входа” для прикладного программиста является класс Модель города. Создание экземпляра этого класса в пользовательском приложении дает пользователю доступ к услугам системы имитационного моделирования. Основные компоненты системы - планировщик событий; структуры, хранящие модель УДС и состояние транзактов; структуры, собирающие статистику в ходе процесса моделирования, являются частями класса Модель города, т.е. состоят с ним в отношении композиции и вне этого отношения не существуют.

Класс Модель_Города

На первом этапе декомпозиции в модели города можно выделить планировщик событий, статическую часть модели (описание УДС и ТСОДД) и динамическую часть (парк ТС). Структура класса Модель_Города изображена на рис. 5 и образована следующими компонентами.

ТаймерМодели - это планировщик, отвечающий за ход времени внутри модели. В обязанности планировщика входит пересчет модельного времени по методу “Дt” и отправка уведомлений активным объектам модели о том, что прошел очередной квант времени. Получив уведомление, объекты смогут изменить свое состояние и состояние пассивных объектов модели (например, элементов графа УДС).

Автопарк - это список ТС, осуществляющих движение по УДС. Когда в модели создается новое ТС, оно добавляется в автопарк. ТС, двигаясь по УДС и достигая пункта своего назначения, удаляется из автопарка.

Карта содержит описание структуры и характеристик УДС в виде графа УДС, расположение ТСОДД. Отдельным элементам УДС могут быть поставлены в соответствие “датчики” - компоненты, собирающие статистику о ходе процесса моделирования.

Класс Карта

На рис. 6 изображена статическая диаграмма классов, реализующих модель УДС. Серым цветом на диаграмме выделены классы, образующие структуру УДС: Транспортный_район, Узел, Дуга. Экземпляры этих классов предназначены для хранения в процессе моделирования соответствующих сущностей из БД в оперативной памяти.

К вспомогательным классам относятся Генератор_СП (генератор случайного потока), Дорожный_знак, Светофор, Светофорная_группа, Датчик_на_дуге, Источник_автомобилей.

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

Источники автомобилей распределены по транспортному району и соответствуют местам, где одиночные автомобили могут присоединиться к ТП. Это могут быть выезды из дворов, гаражных массивов, стоянки возле торговых центров (рис. 7).

Источники автомобилей располагаются на дугах графа УДС. Учитывая небольшую протяженность дуг графа УДС в городе и небольшое значение потока, вливающегося в УДС в точках-источниках, по сравнению с потоком, движущимся по дугам УДС, несколько источников, располагающихся на одной дуге, могут быть объединены в один. В системе имитационного моделирования предполагается, что каждая дуга графа УДС может иметь ровно один связанный с ним источник либо не иметь ни одного (например, дуга крупной автомагистрали или дуга, принадлежащая перекрестку, может не иметь связанного с ним источника).

Класс Дорожный_знак. Дорожный знак является статическим объектом модели УДС в том смысле, что в процессе моделирования не создается новых объектов класса Дорожный_знак и не меняются характеристики уже существующих (новые знаки создаются/удаляются в системе дислокации дорожных знаков на УДС). В процессе моделирования дорожные знаки влияют на движение ТС по графу УДС. Так, при прохождении мимо знака, ограничивающего скорость, меняется максимально допустимая скорость ТС. Влияние дорожных знаков учитывается также при определении маршрута движения ТС.

Классы Светофор и Светофорная_Группа. Светофоры не могут быть целиком отнесены ни к статической, ни к динамической части модели транспортной инфраструктуры: хотя в процессе моделирования не создается новых объектов типа Светофор, светофоры меняют свое состояние независимо от других динамических объектов предметной области. Для описания светофоров используются два класса:

- класс Светофорная_Группа описывает группу светофоров на перекрестке, работающих совместно по одной программе (класс инкапсулирует динамические свойства светофора);

- класс Светофор описывает светофор как объект, установленный на дороге (класс инкапсулирует статические характеристики светофора).

Класс Светофор, как и Дорожный_Знак, характеризуется положением и зоной действия и, являясь объектом на карте, привязывается к графу УДС. Светофоры располагаются перед перекрестками, железнодорожными переездами и пешеходными переходами, т.е. на границе участков УДС, и привязка светофоров осуществляется к дугам графа УДС. Объекты класса Светофор пассивны - они не получают уведомления от планировщика модели. Объекты класса Светофорная_Группа активны, они получают уведомления от планировщика и изменяют состояние ассоциированных с ними объектов класса Светофор.

Класс Датчик_на_дуге. К некоторым выбранным пользователем дугам графа УДС прикреплены “датчики” - компоненты, собирающие статистику о ходе процесса моделирования. Совокупность значений датчиков представляет собой результаты моделирования. Класс Датчик_на_дуге накапливает статистику об интенсивности и средней скорости ТП, прошедшего по дуге за время моделирования. В зависимости от заданных параметров датчик может аккумулировать как одно значение (среднюю интенсивность за все время моделирования), так и историю значений с заданным шагом (например, для построения графика зависимости интенсивности движения ТП, проходящего по дуге, от времени).

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

Класс Модель_Транспортного_Средства

Транспортное_Средство в разрабатываемой системе моделирования - сложный (составной) объект. ТС характеризуется:

- постоянными характеристиками: номинальной скоростью, ускорением, замедлением;

- постоянными характеристиками конкретного ТС (маршрутом следования, который не меняется на протяжении всего времени жизни автомобиля в модели);

- динамическими характеристиками (положением ТС на графе УДС, его текущей скоростью, совершаемым маневром, положением относительно других участников дорожного движения).

Эти характеристики представлены различными программными классами, связанными с классом Транспортное_Средство отношением композиции. Каждый экземпляр класса Транспортное_Средство включает в себя экземпляры классов (рис. 8).

Маршрут - хранит последовательность дуг графа УДС, по которым должно проехать ТС, и текущую дугу в этой последовательности; маршрут определяется при внедрении автомобиля в модель.

Динамика - содержит в себе скорость, ускорение и расстояние от ТС до начала текущей дуги графа УДС.

Тактика - содержит текущую тактику поведения (свободное движение, следование за лидером, маневр слияния, приближение к перекрестку), параметры тактики (ссылку на автомобиль-лидер или узел графа стоп-линии перекрестка) и алгоритмы определения ускорения ТС для различных тактик поведения.

Обстановка - содержит в себе ряд формальных признаков (флаги “близость перекрестка”, “близость светофора”, “наличие автомобиля-лидера”, величины расстояния до лидера, до ближайшего перекрестка, до светофора) и алгоритмы формирования признаков по текущему состоянию УДС (по характеристикам УДС, ТСОДД и других ТС).

Блок_принятия_решения - формализует зависимость тактики движения ТС от текущей обстановки; алгоритм [6] определения тактики ТС показан на рис. 9.

Датчик_на_автомобиле - необязательный компонент, выполняющий ту же функцию, что и Датчик_на_дуге - сбор статистики о движении ТС; датчик определяет среднюю скорость и величину транспортной задержки и сообщает их экземпляру класса Датчик_на_дуге, когда ТС покидает дугу.

Динамика процесса моделирования

Для управления динамикой процесса моделирования служит таймер системы моделирования, или планировщик. Планировщик реализован в виде класса ТаймерМодели - один экземпляр на модель. В обязанности планировщика входит пересчет модельного времени и отправка сообщений (или выделение квантов времени) активным компонентам модели. Сообщения от планировщика достигают цели по связям, совпадающим с ассоциациями, которые изображены на рис. 5 и рис. 6; активация составного объекта также влечет за собой активацию составляющих его компонентов. Например, выделение квантов времени всем объектам класса Транспортное_Средство происходит путем активации объектов-синглтонов классов Модель города и Автопарк (рис. 5). На рис. 10 изображены три последовательности сообщений, формирующих жизненный цикл экземпляра класса Транспортное_Средство. Каждая из них начинается со срабатывания таймера модели.

Первая последовательность соответствует “холостому ходу” - в отсутствии ТС в модели происходит лишь пересчет модельного времени и активация генераторов случайного потока - до тех пор, пока не сработает один из них. Вторая соответствует срабатыванию одного из генераторов и созданию нового экземпляра класса Транспортное_Средство.

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

Модуль отображения результатов в ГИС

Импорт данных в MapInfo - процедура достаточно трудоемкая. В первую очередь это обусловлено особенностью работы MapInfo с внешними данными - связь с внешними данными, обычно реализуемая в современных СУБД операцией JOIN, в MapInfo осуществляется добавлением к существующим таблицам дополнительных временных полей. Для облегчения импорта данных в MapInfo разработан специальный модуль, основное назначение которого - связать различные форматы хранения данных (база данных, CSV-файл) с элементами графа УДС, хранящегося в виде карты в MapInfo (с дугами и узлами графа УДС).

Основные операции, которые поддерживаются модулем:

- импорт из файла снимка значений интенсивностей ТП на дугах графа и величины транспортного спроса (отдельно входящего, исходящего либо суммарного);

- добавление внешних по отношению к MapInfo данных (распределения скорости, транспортной задержки, уровня шума) в виде временных столбцов к элементам графа УДС, хранящимся в таблицах MapInfo;

- импорт из БД из выбранного пользователем снимка значений интенсивностей ТП на дугах графа и величины транспортного спроса, значений абсолютной погрешности процедуры восстановления интенсивностей и меры достоверности.

Источник: https://otherreferats.allbest.ru/download/1188630/