А.М. Валуев
ВЫЧИСЛЕНИЕ ОПТИМАЛЬНЫХ МАРШРУТОВ В СЕТИ С ЗАДАННОЙ ДИНАМИКОЙ ЕЕ ЗАГРУЖЕННОСТИ ДЛЯ ЭВОЛЮЦИОННОГО РЕШЕНИЯ ЗАДАЧИ О РАВНОВЕСНОМ РАЦИОНАЛЬНОМ РАСПРЕДЕЛЕНИИ ПЕРЕВОЗОК
Рассмотрена постановка задачи программного выбора оптимальных маршрутов на транспортной сети в сети с заданной динамикой и методы ее решения. Предлагаются способы эволюционного решения задачи о равновесном распределении маршрутов при известной динамике транспортного спроса.
Ключевые слова: транспортная сеть, оптимальный маршрут, метод ветвей и границ, равновесное распределении маршрутов.
1[Эопрос о рациональном маршруте на транспортной сети
М.М тесно связан с ее загруженностью, которая обычно изменяется во времени. Однако задачи об оптимальных маршрутах традиционно рассматриваются в статической постановке (характеристики участков, в частности, время их прохождения, постоянны). Фактически: во многих случаях имеется закономерное изменение во времени (суток, недели и т.п.) загруженности транспортных сетей, примерами чего являются:
1. Перевозки внутри горного предприятия — в силу эффектов начала и завершения смены [1], неодинаковости транспортной нагрузки для разных смен.
2. Транспортные сети общего назначения (авиационное сообщение, пригородное железнодорожное сообщение).
3. Городские транспортные сети (часы пик и часы пониженной нагрузки).
Важность учета закономерного изменения характеристик при выборе маршрута несомненна, когда характеристики отдельных участков существенно изменяются в течение маршрута. Такая ситуация типична для приведенных примеров.
Если речь идет о частной рекомендации по выбору рационального маршрута, ее реализация не может существенно изменить динамику нагрузки на сеть. Однако при массовом следовании участников движения таким рекомендациям динамика нагрузки изме-
нится, сами выбранные маршруты перестанут быть оптимальными. Естественно ожидать, что в результате многократного повторения комбинации операции выбора оптимальных маршрутов (при известной динамике загрузки сети) и реализации сделанного выбора всеми участниками движения (что приведет к новой динамике загрузки сети) установится равновесное распределение маршрутов, при котором реализуемый всеми участниками оптимальный выбор не изменяет динамику загрузки сети. При этом возможны два случая:
1. Транспортный спрос неизвестен, но возможна регистрация изменения во времени средней скорости движения на участках сети. В этом случае необходима вещественная реализация выбора маршрутов, и равновесное распределение приближенно установится только через ряд временных циклов.
2. Динамика транспортного спроса известна или может быть вычислена. Для систем технологического транспорта, сетей железных дорог или авиационного сообщения дело обстоит именно так. В этом случае вместо вещественной реализации целесообразно применить математическое моделирование реализации вычисленных маршрутов. Повторение комбинации вычислений оптимальных маршрутов и моделирования их реализации как раз и составляет эволюционный решения метод задачи о равновесном распределении маршрутов в динамической сети. Для моделирования должны быть использованы микроскопические или макроскопические модели транспортных потоков.
Следует отметить, что постановка задачи равновесного распределения маршрутов на статической сети известна [2]. Методы ее решения как раз и основаны на эволюционном принципе.
Рассмотрим постановку и свойства задачи вычисления оптимальных маршрутов в сети с заданной динамикой. Характеристикой сети и ее динамики служат:
1. J\j — множества вершин — начал ребер, входящих в у-ю вершину.
2. J2j —множества вершин — концов ребер, исходящих из у-й вершины (такие обозначения применимы к сетям с участками одностороннего и двустороннего движения).
3. у) — время прохождения ребра (у), если движение началось в момент времени t.
Естественно предположить, что Ту(0=+%(0 — неубывающая функция (в силу дискретного характера задержек на светофорных перекрестках и железнодорожных переездах монотонное возрастание будет иметь место, только если будем учитывать временную задержку в очереди перед переездом).
Как и для статических сетей, ограничимся задачей об оптимальном маршруте между парой вершин сети. Задачи об оптимальном маршруте для различных начальных вершин могут решаться независимо и параллельно. Будем считать начальную вершину первой. В задаче для каждого 7=1,..., т требуется определить 7](0— минимальное время достижения /-й вершины графа при начале движения в 1-й вершине в момент времени t.
В силу сделанных предположений справедливы соотношения, обобщающие условия оптимальности для статической сети
т^н, (1)
ТХ0=тт{Т/(0+^{Т/(0)|iеJl]},7=1,..., т,7*1. (2)
На основе этих соотношений предлагается обобщение метода Дейкстры [3] (время t считаем заданным). Наряду с Т;(0=Т', для каждой вершины вычисляется предшествующая вершина У) на оптимальном маршруте из 1-й в 7-ю, что позволяет восстановить оптимальный маршрут. Кроме того, запоминается последовательность вершин в порядке завершения вычисления Т() — {/1,..., /и}.
Алгоритм модифицированного метода Дейкстры
1. Положить Т^, К=0. К'={1}, /=0.
2. Если К'=0, остановиться. Иначе определить /еК' для которой достигается минимум Т() для уеК' , положить /=/+1, /р/, и перевести / из К в К.
3. Добавить в К' множество вершин J2Д(KUK' и определить для них т;(0=тг^^у(тг(0), Щ=1.
Для прочих вершин из К П J2/ положить вычислить Т'=Т({)+Ц(Т^У). Если Т<Т(0, положить Т;(0=Т', У)=/.
4. Перейти к п. 2.
Рассмотрим вопросы повышение вычислительной эффективности решения задачи о быстрейшем маршруте. Сложность алгоритма Дейкстры зависит от способа нахождения вершины V, а также способа хранения множества непосещенных вершин и способа обновления меток. Обозначим через п количество вершин, а через т — количество ребер в графе G.
В простейшем случае, когда для поиска вершины с минимальным Т() просматривается все множество вершин, а для хранения величин Т() — массив, время работы алгоритма есть 0(П +т). Основной цикл выполняется порядка п раз, в каждом из них на нахождение минимума тратится порядка п операций, плюс количество релаксаций (смен меток) не более т.
Модификация Грибова [4] состоит в следующем: множество непосещенных вершин разбивается на несколько диапазонов по значению Т;(0, оптимальное количество диапазонов 0(пт). При этом поиск минимума состоит из двух этапов: 1) определение первого непустого диапазона (0(пт) сравнений) и 2) определение минимума в нем (в среднем диапазон содержит также 0(пт) вершин и требует 0(пт) сравнений для выбора минимума), что дает среднюю трудоемкость 0(п3/2+т). В худшем случае почти все вершины попадают в один диапазон и преимуществ модификация Грибова не дает.
Наиболее эффективным способом хранения списка непосе-щенных вершин является двоичная куче, а в качестве ключа использовать значения Т() (двоичная куча — форма организации данных в виде двоичного АВЛ-дерева [5, с. 254]). Тогда поиск новой непосещённой вершины занимает не более log2n. Общая трудоемкость 0(п^2п+т)
Ввиду того, что алгоритм для динамической сети принципиально не отличается от алгоритма для статической сети, программа для исследования алгоритмов маршрутизации была разработана для статической сети. Она была создана магистрантом МФТИ А.А. Якухновым под руководством автора и выполняет следующие функции:
1. Обеспечение интерактивного режима и соответствующего интерфейса для отображения и редактирования транспортной сети.
2. Генерация случайной сети (данные по вершинам для каждого запуска программы создаются случайным образом в коде класса PointsAPI).
3. Построение таблицы коммутации для заданной сети (таблица коммутации — квадратная матрица пхп, содержащая информацию о том, какова длина/продолжительность маршрута из /-й вершины в 7-ю).
Статистика вычислительных экспериментов
N | Емкость | Время | Объем, | Высота де- | Высота дерева ~
БД расчета, сек Мб рева (средняя) (максимальная)
100 548 13,4 47,4 5,49 10
100 586 13,9 48,9 5,62 13
100 838 14,1 52,71 6,13 11
100 791 14 51,63 6,02 13
625 3594 50,99 256,3 9,64 20
625 4352 55,67 312,6 10,3 22
1024 8153 120,9 568,1 18,45 40
1024 7946 115,33 549,15 18,63 38
1024 8394 131,84 598,2 18,7 39
4. Статистическая обработка результатов вычислительных экспериментов.
Внешний вид окна программы показан на рисунке, а статистика вычислительных экспериментов приведена в таблице.
Для ряда применений предложенного подхода необходимо рассчитывать Т() многократно, в идеале для всевозможных t. Для более эффективных расчетов нужно учесть взаимосвязь решений при разных значениях t. Если для заданного t на каждом шаге алгоритма номер / определяется однозначно (случай общего положения), то при малых Дt он будет тем же и для t+Дt. Расположение вершин двоичной кучи на каждой итерации для t+Дt будет то же, что и для t.
Условие сохранения совокупности значений совокупности оптимальных маршрутов при t >t состоит в сохранении совокупности значений всех &у. Для каждой вершины сети окончательное значение определяется в момент перевода вершин во множество К Убеждаться в этом можно, проверяя, что в последовательности вершин {//, /=1,..., п} для каждой вершины7=/ будет справедливо условие
У)=ащ тт{Тг(Г^у(Тг(Г)) | 1^уп{1/, /=1,..., /-1}}.
При этом для вычисления значения Т ) будет применена формула Т^')= Т(')+tг^(T/(t')), /=k7■(t). При разумной организации алгоритма все проверки и вычисления потребуют 0(п+т), а не O(nlog2n+m) вычислительных операций.
Окно программы
Заметим, что если последовательность выполнения алгоритма при t и ^ совпадает, совпадает и на [^ ^]. Поэтому для описания системы оптимальных маршрутов для произвольного t достаточно определить ее на дискретной последовательности. Задача вычисления значений t, при которых система оптимальных маршрутов меняется, родственно задаче поиска корней функции скалярного аргумента и может решаться теми же методами.
Эволюционное определение равновесной динамики распределения маршрутов требует использования математической модели транспортных потоков, в которой явно учитывается транспортный спрос и выбор маршрута участниками движения. Во-вторых, такая модель должна позволять вычисление величин ^). В зависимости от характера транспортной системы такие модели могут разниться.
Для городских дорожных сетей может быть применена математическая модель квазистационарных транспортных потоков с условно-оптимальным выбором маршрутов, подобная предложенной в работе [6]. Модель построена в следующих предположениях.
Автомобильные транспортные средства (АТС) имеют одинаковые размеры (длина ^, ширина в пределах полосы). Предполагается, что при наличии возможности они движутся с максимальной разрешенной скоростью.
Количественным выражением транспортного спроса служат величины:
Q7k(0 — среднее количество АТС, отправляющихся за единицу времени из окрестности 7-й вершины с целью достигнуть пункта назначения в окрестностях к-й вершины, на временном интервале [7-Д^ t+Дt]. Далее будем рассматривать лишь основную часть маршрута таких АТС — между 7-й и к-й вершинами.
Участок транспортной сети (/-е ребро графа дорожной сети) — совокупность однорядных однонаправленных полос, для которого известны:
• длина L/,
• количество полос ^0щ,
• максимальная разрешенная скорость ¥тгх/-.
• номера начальной BEGj) и конечной ENDj) вершины /-го ребра.
Топологию сети выражают: и Лощ/ — множества «входя-
щих» и «исходящих» участков, смежных с/-м.
Считается известной Dшm(F) — безопасная дистанция при скорости V [7].
В модели для участка сети вычисляется временя его прохождения в зависимости от плотности потока, которое для ^0щ-полосного участка длины Lj с общим количеством транспортных сред в нем N может быть определено по формулам
• при N/^Nmax/'(NROW/L/, d0, Vшaxj) V0J Vшaxj;
• при N]>Nmaxj(NROWjLj, do, Vmaxj) Voj -- корень уравне-
ния
Щ (NROW^L^)=d0+Dmm( V0),
где Nшax/'(NROW/L/, d0, Vmaxj) NROWjLj/(d0+Dmin( Vшaxj)').
В итоге время прохождения участка сети определяется как
Тшщ/=Ц^0].
На основе таких предпосылок формируется модель квазиди-намических потоков [7].
Пусть рациональная реализация транспортного спроса выражается набором булевых переменных I/) — признаков выбора /го участка, начинающегося в 7-й вершине в качестве участка маршрута АТС, проходящего через эту вершину в момент времени t с целью достигнуть к-й вершину.
Для определения 1/) используются следующие взаимосвязи. Во-первых, в силу принципа оптимальности все оптимальные (в смысле настоящей работы) маршруты, проходящие в момент времени 7 через 7-ю вершину с целью достижения к-й вершины, где бы и когда бы они не начинались, с этого момента совпадают. Поэтому для вычисления 7^(0 достаточно определить оптимальные маршруты из 7-й в к-ю вершину, начинающиеся в момент времени 7. Первые участки этих маршрутов и определят однозначно искомые величины.
Транспортные потоки описываются величинами Njk(t), выражающими количество АТС, находящихся в момент времени 7 на /-м участке и с целью достижение к-го участка. Уравнения динамики потоков представляют собой уравнения баланса в вершинах и ребрах дорожной сети:
dNJk/Л = 1ВЕот(7)• X V (хN(0/(^ода/А))1 ^(О/А 1 +
ВЕв(/) V V г = 1 У У
+7в/ (7) • QвE0(J)k - К/ (7) /(^о^/ / )) • NJk (7)/, (3)
г=1
k = 1,..., П NJBEG(J)(0 = 0, / = и*. П.
В предположении о выборе маршрутов на основе уравнений (1)-(2) имеем:
• Для ранее рассчитанных зависимостей N/(0 определяем время прохождения /-го участка при старте в момент как время движения по нему со скоростью
Ро(^('/(^ош/А/), Ло, ^тах/).
• Решая задачи (1)-(2), определяем условно оптимальные маршруты и тем самым 7й/(0.
• Подставляя зависимости 1/) в уравнения (3), получаем новые зависимости N/(0.
• Равновесное распределение маршрутов получаем методом последовательных приближений.
Модель (3) предполагает, что задержки на перекрестках нет или их время пренебрежимо мало по сравнению с временем прохождения участков, что характерно для магистральных сетей. Для представления общего случая она должна быть дополнена описанием динамики очередей перед перекрестками.
Тдгееп тдгееп ~\~тГЄ(і
Выделение линейной компоненты дискретного потока
t
В основу альтернативного способа определения равновесного распределения маршрутов положена имитационное моделирование на основе комбинации модели дискретного потока с вышеописанными методами решения задачи (1)-(2).
Модель дискретного потока следует предположению, что на однородной полосе АТС-лидер или АТС-преследователь в отсутствии близкого лидера увеличивает скорость до максимальной разрешенной скорости для места, в котором она находится, выражаемой кусочно-постоянной зависимостью Ду). В рассматриваемом потоке обозначим через в7 (ї) координату 7-го АТС в момент времени ї. Дистанцию между АТС с номерами 7 и 7+1 обозначим через А7+1 (ї) = в7 (ї) - в7+1 (ї) и свяжем ее со скоростями частиц. Дифференциально-функциональные уравнения дискретного потока в однородном канале представляются в следующем виде:
SL(t) = / (SL(t)),
L(ї+0)=L(ї)+1, если SL(t) = Ls.
Краевые условия на левом конце определяют изменения М(ї). Представленные уравнения обобщаются на случай прохождение перекрестков. На основе их решения выделяются усредненные характеристик прохождения потоков через участки сети.
Имитационное моделирование дискретного потока включает в себя случайное порождением стартующих АТС в соответствии с транспортным спросом. Определение условно-оптимальных маршрутов и эволюционное установление равновесного спроса выполняются по той же схеме, как и для модели квазистационарных потоков.
'тах{і,.+1(ї), (ї)},
+1(ї) = < (їX
тІп{ вг +1(їX вг (їЖ
Аг+1 (ї) > ф& (ї)),
Аг+1 (ї) = ф(вг (ї)), г=,(ї),...,М(ї)-1.
Ам(ї) < ф(вг (ї)).
1. Ганицкий В.И. Организация производства на карьерах. — М.: Недра. — 1983. —
2. Швецов В.И., Алиев А.С. Математическое моделирование загрузки транспортных сетей. — М.: УРСС, 2003.
3. Филлипс Д., Гарсиа-Диас А. Методы анализа сетей. — М.: Мир, 1984. — 496 с.
4. Аникеич А.А., Грибов А.Б., Сурин С.С. Сменно-суточное планирование работы грузовых автомобилей на ЭВМ. — М.: Транспорт, 1976. — 152 с.
5. Новиков Ф.А. Дискретная математика для программистов.—СПб:Питер, 2003.—
6. Valuev A.M. Mathematical Model of Quasy-Stationary Traffic Flows Dynamics in a City Road Network // Труды Третьей международной конференции «Математическое моделирование социальной и экономической динамики (MMSED-2010), 23-25 июня 2010 г. М.: ЛЕНАНД, 2010.— С. 52-53. — ISBN 978-5-9710-03222-9.
7. Иносе Х., Хамада Т. Управление дорожным движением. - М.: Транспорт, 1983. -
248 с.
КОРОТКО ОБ АВТОРЕ ----------------------------------------------
Валуев Андрей Михайлович — профессор кафедры Организации и управления в горной промышленности, доктор физико-математических наук, e-mail — amvaluev@online. ru
Московский государственный горный университет,
Moscow State Mining University, Russia, [email protected]
2З2 c.
304 с.