Научная статья на тему 'Метод отслеживания транспортных средств, перевозящих АХОВ, без использования GPS'

Метод отслеживания транспортных средств, перевозящих АХОВ, без использования GPS Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
494
43
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Пахомов А.А., Волкова Л.Л.

Предлагается решение задачи определения времени нахождения транспортного средства в каждой точке маршрута с помощью расчёта времён на этапе регистрации перевозки. Метод использует данные как минимум о начальном и конечном пунктах перевозки и механизм построения кратчайшего маршрута, рассчитывающий промежуточные точки и общее время в пути. Применяется в задаче оценочного отслеживания местоположения ТС для зарегистрированных перевозок АХОВ при невозможности снятия данных с установленных на них GPS-модулей. Метод поддаётся распараллеливанию. В статье предлагается алгоритм, реализующий разработанный метод.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Пахомов А.А., Волкова Л.Л.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Метод отслеживания транспортных средств, перевозящих АХОВ, без использования GPS»

Метод отслеживания транспортных средств, перевозящих АХОВ, без использования GPS

Метод отслеживания транспортных средств, перевозящих АХОВ,

без использования GPS

Пахомов А.А., Волкова Л.Л., МГТУ им. Н.Э. Баумана a.a.pakhomoff@gmail.com, liliyavolkova@itas.miem.edu.ru

Аннотация

Предлагается решение задачи определения времени нахождения транспортного средства в каждой точке маршрута с помощью расчёта времён на этапе регистрации перевозки. Метод использует данные как минимум о начальном и конечном пунктах перевозки и механизм построения кратчайшего маршрута, рассчитывающий промежуточные точки и общее время в пути. Применяется в задаче оценочного отслеживания местоположения ТС для зарегистрированных перевозок АХОВ при невозможности снятия данных с установленных на них ОРБ-модулей. Метод поддаётся распараллеливанию. В статье предлагается алгоритм, реализующий разработанный метод.

1 Введение

В МЧС существует задача отслеживания перевозок аварийно химически опасных веществ (далее АХОВ) для принятия своевременных мер по устранению последствий аварии при ЧС [1]. Не все транспортные средства (далее ТС) оснащены ОРБ-датчиками или не всегда представляется возможным считать с них показания, поэтому необходимо иметь оценку местоположения водителя в любой момент времени на основании только данных, указанных в путевом листе: ГРЗ автомобиля, пункт отправления, пункт назначения, время отправления, перевозимый груз и т.д.

В случае поступления сигнала о ЧС ставится задача наискорейшего определения возможных транспортных средств с АХОВ, находившихся в окрестности ЧС, поэтому снижение времени расчёта является актуальным. Для достижения этой цели предложен метод, производящий прогнозирование местоположения ТС по заданному в путевом листе маршруту заранее.

Необходимо сразу отметить два существенных допущения:

1. ТС движется без остановок со скоростью 60 км/ч;

2. маршрут зарегистрированной перевозки не может быть изменён.

Если маршрут предусматривает остановки, его можно разбить на несколько и свести задачу к предыдущей.

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

Имея заранее вычисленные данные, можно по необходимости определить время и местонахождение любого ТС.

Таким образом, цель статьи заключается в разработке вспомогательного метода предварительного расчёта стадий перевозки для указанного выше метода определения местонахождения ТС. Маршруты могут быть длинными, а расчёт должен завершиться в пределах времени заполнения оператором путевого листа (примерно от 10 до 40 сек.), поэтому метод должен обеспечивать возможность параллельного выполнения реализующего его алгоритма.

2 Хранение промежуточных стадий

Существуют следующие варианты решения.

1. Сохранять промежуточные данные в таблице базы данных.

2. Для каждой перевозки создавать отдельный файл, в который записывать время и положение транспортного средства.

3. Создавать M файлов по промежутку времени по максимум N записей в каждом.

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

Второй и третий варианты удобнее реализовать на файлах, а не в базе, потому что файлов предполагается много (более 10000), и самые частые операции - запись, создание и удаление, а не чтение. Кроме того, на промежуточные данные не требуется накладывать какие-либо ограничения.

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

С = ©(и * т), где и - количество перевозок, т - среднее количество стадий перевозки (точек типа «широта/долгота», возвращаемых алгоритмом построения маршрута).

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

С = О(к),

где, к - количество стадий перевозок, происходящих в одно время. Такой результат будет получен, если каждый файл будет отражать определённый момент времени, что при расчёте на неделю вперёд (программное ограничение на длительность перевозки) составит максимум 60*24*7 = 10080 файлов, т.к. длительность рассчитывается поминутно, а все стадии, которые старше текущего времени на

2 часа (предполагаемое максимальное время получения информации о происшествии), можно удалять. В каждый файл в среднем будет записано по 10 Кб информации, тогда директория, содержащая эти файлы, займёт 100800 Кб (~100 Мб). Определение необходимого файла для поиска перевозки произойдёт со сложностью О(1).

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

3 Расчёт промежуточных стадий

Метод предполагает вычисления в три эта-

па:

таким образом, чтобы каждая стадия длилась примерно минуту;

2. для каждой стадии рассчитывается время, затрачиваемое на переход в неё из предыдущей стадии;

3. результаты предыдущего этапа суммируются и получается массив пар типа ключ/значение, где ключ - это географическая позиция стадии перевозки, значение - время, затрачиваемое на перемещение в эту точку из начальной.

Несмотря на то, что маршруты между соседними стадиями короткие, времени на их построение тратится много, поэтому необходимо строить их в параллельных потоках. Для этого подходит технология map-reduce [2], пример применения которой к исследуемой задаче показан на рис. 1 (над стрелочками одинаковой толщины указаны значения, обрабатываемые одним map-потоком).

Первому потоку передаётся первая стадия, второму - вторая и т.д. После расчёта пере-

}Г, S4 . _ А? 57 57 _ _

Мар-поток 1 Мар-поток 2 Map-поток 3

1.5; 4.2...

2.6; 5.7...

3.4; 6.4...

Keduee-поток -

1.5:4.1:7.5;

Рисунок 11 - Применение технологии тар-

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

Суть распараллеливания [3] заключается в том, что каждый тар-поток генерирует последовательности, у которых ге^се-поток за каждую итерацию забирает по первому элементу, суммирует значения времени и добавляет в результирующий массив.

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

На рис. 2 представлена структурная схема алгоритма предварительного расчёта стадий маршрута, использующего разработанный метод.

На алгоритм должны быть наложены следующие ограничения: количество потоков и количество точек в стадии положительны.

1. рассчитывается длина стадии перевозки (количество точек типа «широта/долгота»)

Метод отслеживания транспортных средств, перевозящих АХОВ, без использования ОРБ

Рисунок 2 - Схема алгоритма предварительного расчёта стадий маршрута

Необходимо протестировать алгоритм на следующих классах эквивалентности:

1. пустой маршрут (не содержащий точек);

2. маршрут, состоящий из одной точки;

3. количество точек маршрута делится на количество точек в стадии;

4. количество точек маршрута не делится на количество точек в стадии.

4 Зависимость времени расчёта промежуточных стадий перевозки от количества потоков

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

ритме расчёта промежуточных стадий перевозки.

На рисунке 3 представлены результаты исследования. Расчёт проведён для маршрутов длиной 100, 500, 1000 и 1500 километров. На оси абсцисс показано количество потоков, используемое при расчёте, на оси ординат - время расчёта в миллисекундах.

Зависимость вида exp(-x) подтверждает оправданность использования технологии map-reduce, позволяющей организовывать параллельные вычисления. На основании результатов исследования оптимальным предлагается использование 20 потоков. Это позволит сократить время расчётов приблизительно в 5 раз.

Рис. 3. Графики зависимости времени расчёта промежуточных стадий перевозки от количества потоков

5 Заключение

Разработанный метод позволяет определить время в пути от начальной точки до каждой из промежуточных путём нахождения маршрутов до них по отдельности, причём расчёт для каждой пары точек проводится только один раз. Описанный алгоритм использует технологию map-reduce для распараллеливания. Таким образом достигается цель, заключающаяся в расчёте промежуточных стадий во время заполнения путевого листа. При помощи данного метода анализ местонахождения ТС в зоне локализованной аварии производится за время, зависящее только от количества стадий перевозки, с линейной сложностью.

Список литературы

Вестник ГЛОНАСС. 2013. URL: http://vestnik-glonass.ru/stati/perevozka_opasnykh_gruzov_i_ passazhirov pod kontrolem glonass/ (Дата обращения: 31.05.2015).

MapReduce или подсчеты за пределами возможностей памяти и процессора (попробую без зауми): [Электронный ресурс] // Хабрахабр. 2010. URL: http://habrahabr.ru/post/103467/ (Дата обращения: 31.05.2015).

Задачи и отмена в .Net — tips & tricks: [Электронный ресурс] // Хабрахабр. 2013. URL: http: //habrahabr. ru/post/168669/ (Дата обращения: 31.05.2015).

i Надоели баннеры? Вы всегда можете отключить рекламу.