Расчет матрицы корреспонденций с использованием параллельных вычислительных технологий

УДК 681.3/ББК 32.973.2 Ильясов Э. Э., Амиров А. М.

РАСЧЕТ МАТРИЦЫ КОРРЕСПОНДЕНЦИЙ С ИСПОЛЬЗОВАНИЕМ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ ТЕХНОЛОГИЙ

Ilyasov E. E., Amirov A. M.

CALCULATION OF MATRIX CORRESPONDENCE WITH THE USE OF PARALLEL COMPUTING TECHNOLOGIES

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

Ключевые слова: транспортные потоки, матрица корреспонденций, параллельные вычисления, гравитационная модель.

Increasing the number of vehicles has led to urban congestion, many hours of traffic jams, obstruction of pedestrian traffic, increase the number of accidents, etc. Therefore, the importance of gaining the optimum network planning, improved traffic management, optimization of the system of public transport routes. The solution of such problems is impossible without mathematical modeling of traffic flows. An important task of modeling is to calculate the trip distribution. In this paper, we develop a program for calculating trip distribution using parallel computing technologies. The application of these technologies will improve the efficiency of simulation, increase accuracy and speed of the algorithm.

Key words: traffic flows, trip distribution, parallel computing, gravity model.

Введение

В настоящее время остро стоит проблема управления транспортными потоками, особенно в больших городах. Увеличение количества транс-

портных средств как личных, так и общественных, привело к перегруженности городских дорог, многочасовым пробкам, затруднению движения пешеходов, увеличению количества аварий и т.д. Кроме того, во многих крупных городах исчерпаны, или близки к исчерпанию, возможности экстенсивного развития транспортных сетей. Поэтому особую важность приобретает оптимальное планирование сетей, улучшение организации движения, оптимизация системы маршрутов общественного транспорта. Решение таких задач невозможно без математического моделирования транспортных сетей. Главная задача математических моделей - определение и прогноз всех параметров функционирования транспортной сети, таких как интенсивность движения на всех элементах сети, объемы перевозок в сети общественного транспорта, средние скорости движения, задержки и потери времени и т.д. Необходимость обработки большого количества параметров усложняет процесс решения транспортных задач на ЭВМ. Применение параллельных вычислительных технологий позволит повысить эффективность моделирования, увеличить точность и скорость работы алгоритма.

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

• прогнозные модели,

• имитационные модели,

• оптимизационные модели.

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

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

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

Постановка задачи

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

• по различию в целях передвижений;

• по различию в выборе способов передвижения;

• по различию в предпочтениях при выборе путей передвижения.

Среди групп передвижений с различными целями наиболее важными

и многочисленными являются

• передвижения от мест жительства к местам приложения труда и обратно (так называемые трудовые корреспонденции);

• передвижения от мест жительства к местам культурно-бытового обслуживания и обратно;

• передвижения, совершаемые между местами приложений труда (деловые поездки);

• передвижения, совершаемые между объектами культурно-бытового обслуживания.

Для каждой группы передвижений рассчитывается своя матрица межрайонных корреспонденций. Входной информацией к модели расчета кор-респонденций являются общие объемы прибытия и отправления в каждом районе ПО. Оценка объема прибытий и отправлений по разным группам связана с пространственным размещением потокопорождающих объектов и подвижностью населения, т.е., средним количеством поездок, совершаемых с теми или иными целями. Эта оценка строится на основе имеющихся демографических и социально-экономических данных и результатов обследований и в основном предшествует собственно математическому моделированию [1].

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

В данной статье рассматривается расчет матрицы корреспонденций на основе гравитационной модели с применением параллельных вычислительных технологий.

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

нить на любые другие затраты, связанные с передвижением. В самой простой форме гравитационная модель имеет вид:

Рц = гЩт, ¿ЕБ^ЕБ

где D - множество районов прибытия, 5 - множество районов отправления,

- общий объем выезжающих из пунктам Е Б, й] - общий объем въезжающих в пункт у Е Б, Сц - удельные затраты на передвижение из iв у, у > 0 — калибровочный коэффициент.

Вместо классической гравитационной модели (1) на практике используют ее модификацию, в которой к условию (1) добавляются дополнительные условия, например, балансовые ограничения на выезд и въезд. Кроме того, квадрат расстояния затрат заменяют на, так называемую, функцию тяготения f(cij), характеризующую предпочтения индивидуумов при выборе пары источник-сток ^у) для передвижения [2]. В результате модифицированная гравитационная модель имеет вид:

Ри = аф^Б^Лс^), I Е Б, ] ЕБ,

где и Р] - коэффициенты.

Очевидно, что система будет совместной только тогда, когда суммарные объемы по выезду и въезду равны:

Выбор функции тяготения f осуществляется либо в процессе калибровки модели на основе сопоставления расчетных данных по модели и эмпирических наблюдений, либо на основе некоторых соображений о предпочтениях при выборе пары источник-сток. Одна из аппроксимаций функции имеет следующий вид: f(cij) = ехр(-ус^), где при расчете корре-спонденций трудовых затрат полагают у « 0.065,5 « 1 [1].

Важно отметить, что величины щ и зависят от всего набора и й], а, следовательно, и объемы корреспонденцийр^у зависят от загрузки всей системы.

Вычисление корреспонденций в гравитационной модели сводится к вычислению коэффициентов щ и из системы нелинейных уравнений (2)-(3). Если учесть, что для больших городов |5| = №1 > 1000, необходимо решить систему из более миллиона нелинейных уравнений. Очевидно, что данная задача принадлежит к разряду высокопроизводительных вычислений.

Методы испытаний

Для решения поставленной задачи был разработан алгоритм параллельного расчета матрицы корреспонденций на языке C#. Основой алгоритма является метод балансировки, описанный в работе [3].

Суть метода заключается в следующем: Шаг 1. Присваиваем

Р0 ^

1 ¿ЛСЦ)

I Ей

—

Шаг 2. Вычисляем

ъ

Ри ^

рЫ]

я

1

Л ЕБ

Рц

-1

, если 1 р^ > ^ ,

Ь ЕБ

в противном случае.

Шаг 3. Проверяем равенства

1 Рц и ^=1

Рц.

}Ей IЕБ

В случаем истинности равенств, завершаем алгоритм и матрица р1 содержит искомые корреспонденции. Иначе переходим к шагу 4. Шаг 4. Вычисляем

41 1 ркц , гI

/Ей Ь ЕБ

} Ей

Шаг 5. Вычисляем

Ч] ГЦ

Переходим к шагу 2.

^ Рц + щ-Г

1 пГЫ

И ЕО

-1

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

Шаги 2-5 должны идти именно в той последовательности, в которой представлены в алгоритме, что мешает выполнить данные шаги параллельно на разных процессорах. Однако сами шаги 2-5 являются самостоятельными задачами, которые успешно подлежат распараллеливанию при реализации шаблона Parallelloop.

Программная реализация алгоритма с применением данного шаблона параллельного программирования разработана на языке C# (.NETFramework). Как известно, платформа .NETFramework 4 содержит библиотеку TaskParallelLibrary (TPL), в которой имеется поддержка шаб-

лона Parallelloop через класс Parallel, а также множество других классов, упрощающих процесс разработки параллельных программ [4].

Результаты эксперимента и их обсуждение

Тестирование разработанной программы при ISI = IDI = 200 на процессоре IntelCore 2 Duo показало почти двукратное повышение производительности по сравнению с последовательной реализацией алгоритма, а именно 8471мс против 15322мс. Двукратное ускорение вычисления корре-спонденций связано с тем, что процессор Core 2 Duo имеет два ядра. Тестирование на процессоре Intel Core Í7-3630QM показало почти четырехкратное повышение производительности по сравнению с последовательной реализацией алгоритма, т.к. данный процессор содержит 4 ядра. Выполнение программы на системе с N процессорами и ядрами позволит найти корреспонденции практически в N раз быстрее последовательного алгоритма.

Заключение

В данной статье была разработана программа параллельного расчета матрицы корреспонденций на языке C#. Тестирование программы показало прирост в производительности, кратный числу ядер вычислительной системы.

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

Библиографический список:

1. Швецов В. И. Математическое моделирование транспортных потоков - М.: Журнал «Автоматика и Телемеханика», 2003, №11, с. 3-46.

2. А.В. Гасников и др. Введение в математическое моделирование транспортных потоков: Учебное пособие - М.: МЦНМО, 2012 - 189 с.

3. Arrowsmith G. A. A behavioural approach to obtaining a doubly constrained trip distribution model - Operational Research Quarterly, 1973, V. 24, № 1, p. 101-111.

4. C. Campbell, R. Johnson, A. Miller, S. Toub. Parallel Programming with Microsoft .NET: Design Patterns for Decomposition and Coordination on Multi-core Architectures (Patterns & Practices) - Microsoft Press, 2010 - 217 p.