А.М. Валуев
ЗАДАЧА ВЫЧИСЛЕНИЯСУБОПТИМАЛЬНЫХ ПУТЕЙ НА СЕТИ И ВОЗМОЖНОСТИ ЕЕ ПРИМЕНЕНИЯ ДЛЯ УПРАВЛЕНИЯ ПЕРЕВОЗКАМИ
Рассмотрены методы программного и позиционного выбора рациональных маршрутов на загруженной транспортной сети. Предложен алгоритм исчерпывающего описания множества субоптимальных маршрутов, а также вариант метода ветвей и границ для оптимизации маршрута на сети с изменяющимися во времени характеристиками.
Ключевые слова: транспортная сеть, субоптимальный маршрут, метод ветвей и границ.
Лопрос о рациональном маршруте на транспортной сети тесно -Я-М связан с ее загруженностью. По своему содержанию он может относиться к сети автодорог общего назначения (шоссейных дорог, улиц в городах), к железнодорожной сети и даже к системе трасс, используемых в авиационном сообщении. Прогнозирование транспортной обстановки и даже ее фиксация в определенный момент времени — сложная задача, в отношении которой у перевозчика, как правило, отсутствует актуальная и достаточно полная информационная база. Более того, если в отношении авиа- и железнодорожных перевозок состав участников движения на ближайший период известен, то для автомобильного движения это не так: участники движения появляются в транспортной системе и выходят из нее постоянно и непредсказуемым образом. Правда, в последнем случае влияние наличия или отсутствия отельного участника и его поведение незначительно изменяет состояние сети, а значение имеет степень заполненности отдельных ее участков и распределение участников по направлениям дальнейшего движения на перекрестках, которые обладают определенной степенью устойчивости.
Ввиду высокой степени неопределенности развития транспортной обстановки, при которой даже обязательное декларирование цели движения каждым участником в момент начала движения не дает всей необходимой информации о загружен-
ности сети в ближайшем будущем, для конкретного рейса невозможно ставить цель поиска маршрута, который окажется самым эффективным среди всевозможных маршрутов.
Возможны следующие варианты постановки задачи.
1. Выбор условно оптимального маршрута для текущей транспортной обстановки, которая в дальнейшем условно принимается неизменной.
2. Выбор оптимального маршрута в изменяющейся транспортной обстановке, прогнозируемой на основе экстраполяции ее динамики за прошедший период. При этом необходимо принять определенную экстраполяционную формулу, значение которой будет небессмысленно для достаточно долгого предстоящего периода. Она не должна допускать, следовательно, ни отрицательной загруженности, ни загруженности сверх максимально возможной, когда автомашины стоят «бампер к бамперу». Учитывая отмеченные обстоятельства, целесообразно экстраполировать не плотность потока, а его логарифм, корректируя значение, полученное для этой величины на основе какой-либо формулы, линейной относительно значений в для отдельных моментов времени (каковы интерполяционные многочлены и сплайны), условием насыщения. В простейшем случае экстраполированное значение x просто заменяется на выражение типа min(x, xmax), но целесообразно выбрать более плавную зависимость вместо кусочно-линейной.
3. Вариант предыдущего, когда экстраполяция осуществляется с учетом статистической информации. Фактическое изменение заполненности участков сети в зависимости от времени суток фиксируется на предыдущих наблюдениях и дает поправочные коэффициенты к текущему состоянию. Отметим, что транспортная организация, использующая на постоянной основе ограниченный набор участков сети, но осуществляющая перевозки в течение всего дня (скажем, производитель строительных растворов, снабжающий ими ограниченное количество строек) имеет возможность собирать и использовать собственную статистику.
4. Выбор условно оптимального маршрута при использовании комбинированного способа прогноза, сочетающего вышеописанные способы.
5. Позиционный (ситуационный) способ выбора маршрута: на каждом перекрестке выбирается направление движения, которое, исходя из текущей обстановки является оптимальным.
С перечисленными типами задач тесно связана проблема построения множества субоптимальных маршрутов. Пусть речь идет о выборе оптимального по быстродействию маршрута. В этой задаче участки сети характеризуются минимальным временем его прохождения, которое для ^^-полосного участка длины Lj с общим количеством транспортных сред в нем Nj может быть определено по формуле
• при N^^Nmax/'(NROWjLj, d0, ^шах/Х У0/ Ушах/;
• при N;>Nmax/(NRow/L;, ^о, Упах/), Уо/ — корень уравнения
Nj/ (NROW/L/)=d0+Dmm( У0),
где Nmaxj(NROWjLj, d0, Упах/) NROWjLj/(d0+Dmin(Уmaxj)'), Ушах/ макси-
мальная разрешенная скорость на участке, й0—средняя длина транспортного средства, Dmln(У) — безопасная дистанция при скорости У [1]. В итоге минимальное время прохождения участка сети определяется как Т^^/У/
Пусть в силу изменения транспортной обстановки во времени минимальное время прохождения /-го участка сети есть непрерывная функция времени Тпт/(0, причем для всех участков |Ттт/(0-Ттт;(0)|^(0. Тогда, легко видеть, что оптимальный по быстродействию маршрут между какой-то парой участков, имеющий продолжительность Тшт1, является субоптимальным для статической задачи 0, в которой для каждого (/-го) участка время прохождения равно Тшт;(0). Причем для оптимального значения Тшт(0) продолжительности маршрута в задаче 0 справедливо
Ттт(0)>Ттт1-тахМО | /е[0, Ттт1]}Дпт(0), (1)
где N,^(0) — количество участков оптимального маршрута. В самом деле, если бы условие (1) не имело бы места, то маршрут, оптимальный для задачи 0, и при изменяющейся транспортной обстановке был бы пройден менее, чем за время Тпш1 и следовательно, был бы оптимален и в этом случае.
Сказанное приводит к принципиальному выводу, что оптимальные маршруты для сети с изменяющейся транспортной обстановкой следует искать среди субоптимальных путей для статической сети с транспортной обстановкой на момент начала рейса (или прогнозируемой на какой-то из ближайших мо-
ментов времени). Отметим, что задача поиска оптимального маршрута для сети с изменяющейся транспортной обстановкой даже при точной информации о зависимостях ТШ1П/(/) является сложной и нетрадиционной оптимизационной задаче, задача же построения совокупности субоптимальных путей, хотя в буквальном смысле и не решалась, но может быть решена с помощью модификации существующего метода двойного поиска [2]. Ну, а выбор маршрута из набора субоптимальных, на котором прогнозируется (или точно определяется при знании зависимостей ТШ1П/(/)) оптимальное время движения, представляет собой простой выбор минимального из конечного набора значений, вычисляемых по аналитическим формулам.
Рассмотрим два способа построения субоптимальных маршрутов. Первый из них относится к статической сети и развивает метод решения задачи о К кратчайших (субоптимальных) путях, описанного в [2, с. 83-99]. Оригинальный метод позволяет вычислить всю совокупность из оптимального и К-1 следующих в порядке возрастания возможных значений длин (времен) маршрутов, но лишь некоторые из маршрутов, имеющих такую длину. К тому же гарантировать вычисление К различных су-боптимальных значений длин маршрутов в произвольной сети, в т.ч. имеющей структуру дерева, при которой вообще любые участка можно соединить лишь одной простой цепью, можно, лишь допуская маршруты, содержащие циклы. Однако такие маршруты никакого практического значения не имеют и должны быть отброшены.
Оригинальный метод двойного поиска основан на определении векторной функции Беллмана и расчете своеобразных уравнений — условий оптимальности. Далее для удобства обозначений мы будем говорить о длинах участков, а не о временах их прохождения, как это принято для оригинальный метода, что не меняет формы задачи. Как и в других задачах оптимизации на сети, нужно определять кратчайшие расстояния от выделенной (нулевой) вершины сети до всех остальных. В общем случае задача может решаться для ориентированного графа. Для каждой вершины (с номером /) определены множество смежных вершин 1щ, из которых можно перейти (по одному ребру) в вершину /, и множество смежных вершин 1оиТ/, в которые можно перейти (по одному ребру) из вершины/. Вектор-функция Беллмана Wj имеет
К компонент Wj\,..., ЩК. Для произвольного набора К-мерных векторов определим операцию МАХК{ как опера-
цию выбора среди значений компонент Щ'1'1,...,W'm'l К первых неповторяющихся значений в порядке возрастания и операцию © прибавления скалярной величины ко всем компонентам вектора. С помощью этих операций векторное уравнение Беллмана приводится к виду
Wоl=0, W/=MAXк{Wk©dk/ | ке1щ },/=0, 1, ..., т. (2)
В процессе итерационного решения системы уравнений (2) для компонент векторов допускаются несобственные значения да. Собственно, алгоритм начинается с начальных значений компонент векторов Щ, равных да, за исключением Щ01=0. Предлагаемый модифицированный алгоритм допускает наличие несобственных значений и у финальных значений некоторых компонент (кроме первой) Щ, что будет, например, когда сеть имеет структуру дерева.
Модифицированный алгоритм предполагает также итерационное определение совместно с вектором Щ/ кортежа из К множеств J■1,..., JjK смежных с /-й вершиной вершин, в которых начинается последнее ребро маршрутов, ведущего из 0-й вершины в /-ю и имеющих соответственно длину Щд,..., Щ/К. Множество Jjk пусто в том и только том случае, если Щ/к=да. Для определения множеств Jjk служит операция
ARGMAXK{/(1),W(1),..., /(М),Щ(М)}, выбирающая в Jjk всевозможные /(г), для которых некоторая компонента вектора
щСО
равна *-й
компоненте вектора МАХК{ Щ(1),.,Щ(М)}.
Как уже было отмечено, алгоритм подразумевает, что среди субоптимальных путей могут встречаться пути, содержащие циклы, а для нулевой вершины таковы будут все субоптималь-ные пути, кроме пути нулевой длины. Рассмотрим задачу восстановления всего множества субоптимальных путей, не содержащих циклов. Алгоритм ее решения заключается в следующем. Лексикографически упорядочим тройки (Щ*,/, К) при всех /=0, 1, ..., т, ^1, ..., К, обозначая результат {(^(^), /(я), *(я)), я=1,...,(т+1)К}. Очевидно, что каждый путь длины ^(я), ведущий в вершину /(я), включает в себя в качестве начального участка какой-то путь длины w(l), 1<я, ведущий в вершину /'(/). Таким образом, построение множества Р(я) всевозможных путей
w(s), ведущих в вершину /(я), выполняется рекурсивно при я=1,...,(т+1)К. Очевидно, что множество Р( 1) состоит из единственного пути нулевой длины. В качестве путей, образующих множество Р(я), испытываются всевозможные пути вида (р/(я)), где реР(Г), /'(1)е^(Ж)ед и w(l)+d/(l)/(s)=w(s). Из этого множества путей отбрасываются все пути, в которых уже встречается вершина /(?), т.к. эти пути содержат циклы, остальные и составляют множество Р(я).
В докладе приводятся примеры исчерпывающего описания всех ациклических оптимальных и субоптимальных путей на квадратной сетке улиц, для которой, как легко можно понять, эти множества содержат весьма большое количество путей.
Построение множества всех субоптимальных путей позволяет не только выбирать маршрут в его начале как наилучший среди субоптимальных маршрутов по прогнозу изменения характеристик участков во времени, но и выполнять выбор ситуационно, на каждом перекрестке. Для этого множество су-боптимальных маршрутов должно строиться не от начала, а от конца — от целевой вершины.
Другой подход, который может отличаться большей вычислительной эффективностью, основан на развитии метода оптимизации маршрута самолета гражданской авиации в изменяющейся среде, являющегося реализацией общего метода ветвей и границ [3, 4]. Рассмотрим альтернативы для конкретного перекрестка (]-й вершины). Для всевозможных направлений последующего движения время движения в конечную вершину оценивается снизу как сумма расчетного времени движения по ближайшему участку (ребру графа транспортной сети), заканчивающегося некоторой к-й вершиной и оптимального времени движения из к-й вершины в конечную по незагруженной сети. С этими конкретными оценками построение метода идет по традиционной схеме метода ветвей и границ, т.е. с отбрасыванием как неперспективных (тупиковых) вершин, для которых полученная оценка хуже рекорда, т.е. времени движения по наилучшему из ранее определенных законченных маршрутов. При построении множества субоптимальных путей тупиковыми объявляются не все такие вершины, а только те, для которых оценка хуже рекорда более чем на заданную максимальную разность между оптимальным и субоптимальным значением
целевой функции. Другая особенность состоит в следующем. Одной вершине сети могут соответствовать несколько вершин дерева решений, что означает, что эта вершина сети может быть достигнута разными путями. Однако в задаче о построении собственно оптимального маршрута все эти вершины, кроме одной, отбрасываются. При поиске субоптимальных путей отбрасывание происходит так же, как и при определении тупиковых вершин.
Потенциальные вычислительные преимущества второго подхода состоят в следующем.
1. В расчет вовлекаются не все вершины сети, а только те, которые лежат в сравнительно узкой полосе, ориентированной от начальной вершины к конечной.
2. Значения в каждой вершине не пересчитываются.
Правда, в качестве средства решения задачи используется
решение вспомогательной задачи о быстрейших путях на незагруженной сети. Но эту задачу нужно решать заново лишь тогда, когда изменилась структура сети или пересмотрена максимальная разрешенная скорость на каком-либо участке. Эффективные методы решения этой задачи известны [2, 5, 6] и значительно менее трудоемки, чем метод поиска субоптимальных путей.
В заключение можно отметить, что при нынешнем уровне загруженности транспортных систем расчет рациональных маршрутов может дать значительный эффект экономии времени по сравнению с использованием стандартных или интуитивно выбираемых маршрутов. Даже при использовании приближенной и неполной общедоступной информации типа представленной на сайте Пробки.Яндекс можно ожидать положительного эффекта. По-видимому, предоставление платного информационного обслуживания в части предоставления более детальных сведений о состоянии транспортной системы по разовым запросам и на основе долговременной подписки может быть оправдано увеличением использованием транспортных средств.
1. Иносе Х., Хамада Т. Управление дорожным движением. - М.: Транспорт, 1983. - 248 с.
2. Филлипс Д., Гарсиа-Диас А. Методы анализа сетей. — М.: Мир, 1984. — 496 с.
3. Величенко В.В., Валуев А.М., Зуйков Ю.Г. Интеллектуальный алгоритм выбора маршрута в перспективной системе управления воздушным движением //Интеллектуальные системы. Т. 1. 1996. Вып. 1-4. С. 101-108.
4. Валуев А.М., Величенко В.В. О задаче планирования полета самолета гражданской авиации по свободному маршруту // Известия РАН. Теория и системы управления. — 2002.— №6. — С. 149—157.
5. Аникеич А.А., Грибов А.Б., Сурин С.С. Сменно-суточное планирование работы грузовых автомобилей на ЭВМ. — М.: Транспорт, 1976. — 152 с.
6. Левит Б.Ю., Лившиц В.Н. Нелинейные сетевые транспортные задачи. — М.: Транспорт, 1972. — 144 с. 115 гд=]
— Коротко об авторе -----------------------------------------------------
Bалуев A.M. — профессор кафедры Организации и управления в горной
промышленности, доктор физико-математических наук,
e-mail — [email protected]
Московский государственный горный университет,
Moscow State Mining University, Russia, [email protected]