Научная статья на тему 'Усовершенствованный подход к выбору маршрутов в условиях ограничения по риску'

Усовершенствованный подход к выбору маршрутов в условиях ограничения по риску Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Куземин Александр Яковлевич, Козлов Евгений Дмитриевич

Производится попытка решения транспортной задачи в условиях ограничения по риску усовершенствованным метаэвристическим методом, основанным на отслеживании движения транспортного средства как частицы в электрическом поле. Производится сравнение с ранее известным «муравьиным» алгоритмом.

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

An improved approach for finding routes with limitations of risk

A dynamic vehicle routing task under risk has been considered. A new enhanced metaheuristic algorithm optimized for low memory usage has been proposed. A comparison between this new kinetic algorithm and the ant pheromone algorithm was given.

Текст научной работы на тему «Усовершенствованный подход к выбору маршрутов в условиях ограничения по риску»

УДК004.8

УСОВЕРШЕНСТВОВАННЫЙ ПОДХОД К ВЫБОРУ МАРШРУТОВ В УСЛОВИЯХ ОГРАНИЧЕНИЯ ПО РИСКУ

КУЗЕМИН А.Я., КОЗЛОВ Е.Д.______________

Производится попытка решения транспортной задачи в условиях ограничения по риску усовершенствованным метаэвристическим методом, основанным на отслеживании движения транспортного средства как частицы в электрическом поле. Производится сравнение с ранее известным «муравьиным» алгоритмом.

1. Введение. Постановка задачи

Задача определения быстрого маршрута сама по себе не нова, по этому вопросу существуют тысячи публикаций, для ее решения разработаны десятки алгоритмов. Однако большая часть этих алгоритмов разработана в предположении, что за время движения по выбранному маршруту окружающая обстановка не претерпевает изменений или же ими можно пренебречь — так называемые «статические транспортные задачи». Если же какие-то параметры все-таки претерпевают заметные изменения и могут отразиться на маршруте — такие задачи получили наименование «динамических транспортных задач» [1], многие из подходящих для статического случая алгоритмов поиска маршрута более не могут дать подходящего решения. Однако в реальности мы имеем дело, как правило, не просто с динамической транспортной задачей, а, вдобавок, еще и с необходимостью гарантированно доставить груз по выбранному нами маршруту. При этом зачастую (представьте себе рабочий день водителя транспортного средства) обстановка на маршруте может измениться резко до такой степени, что потребуется полное перепланирование всего маршрута. Измениться могут не только параметры, характеризующие «удаленность» точек маршрута (здесь имеется в виду эффективная удаленность, выраженная в единицах времени), такие, как наличие «тянучки» на дороге, но и параметры безопасности, как, к примеру, наличие мостовых сооружений, которые в штормовую погоду, из совершенно обычного участка дороги могут превратиться в опасные в считанные часы, а то и минуты. Понятно, что наличие такого участка надо учитывать, причем желательно заранее.

В свете сказанного определим задачу в следующем виде. Требуется в условиях переменчивости обстановки (т. е. в реальном времени) найти оптимальный (кратчайший) маршрут следования из точки А (общее начало маршрута) в точку В (конечный пункт) при продвижении по произвольной дорожной сети, которую можно описать направленным графом G. Каждое его ребро имеет две характеристики: R(t) - риск при прохождении участка и T(t) — время, которое будет затрачено на перемещение между его началом S и концом D, причем t = t0+ £ ti, ti - время, затраченное

на прохождение каждого из ранее пройденных ребер от начала маршрута до S. При этом маршрут надо пройти с риском не более критического уровня Rmax. Пределы изменения риска условно определим как R е (0;1), причем при R=1 пройти данный участок не представляется возможным.

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

2. Анализ исследований и публикаций

В литературе указывается [2], что принято разделять предварительное планирование маршрута и перепланирование в процессе его прохождения (т. е. решение непосредственно динамической транспортной задачи), причем подчеркивается, что при резких изменениях обстановки перепланирование может быть столь глубоким, что усилия по предварительному выбору маршрута могут быть сведены на «нет». Как показано в [2], полное перепланирование, хотя и возможно, всегда является крайне нежелательным, много предпочтительнее локальная оптимизация.

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

Большая часть исследователей компонентов указанной задачи сходится во мнении, что наиболее перспективными методами решения являются «метаэвристические» [1] методы, как то «метод роя частиц», «муравьиный алгоритм», «метод отжига» и т. п. В настоящий момент алгоритмы данной группы активно исследуются в применении к огромному числу проблем, которые сводятся к многокритериальной оптимизации в распределенной системе. Согласно исследованиям Эссекского университета [3], число исследований по оптимизации «методом роя частиц» растет с начала нынешнего века в экспоненциальной зависимости ежегодно. Уже в 2007 году число публикаций превысило 1000. Причина в большой гибкости и относительно небольшой вычислительной сложности данной группы алгоритмов как таковых. И хотя из этого множества порядка 2% работ посвящено непосредственно оптимизации в логистике [2] и еще порядка 3% - разработке алгоритма безотносительно отрасли, из анализа тематики задач смежных областей [3], в том числе планирования и составления графиков работы (около 6% общего числа работ) можно сделать вывод о популярности и перспективности алгоритмов стохастической группы. Из общего числа

работ можно выделить несколько, рассмотренных ниже.

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

В работе [6] шведских авторов под руководством П. Свенсона произведен анализ применительно к нескольким случаям использования алгоритмов «роя частиц» и «муравьиного», причем авторы приходят к выводу о большей перспективности именно последнего в задачах логистики.

Работы [7-8] посвящены уже динамической транспортной задаче. Обобщенно предлагаемый авторами этих работ подход можно охарактеризовать как решение статической транспортной задачи с разделением по времени. Для решения применяется все тот же «муравьиный алгоритм».

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

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

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

3. Неразрешенные части проблемы

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

Известно, что «муравьиный алгоритм» работает, выполняя итерации по схеме «разослать муравьев -пометить ребра - вычислить испарение феромона». При этом формула для выбора маршрута имеет вид (см., к примеру, [7]):

ь (Tij(t))a (Уу)Р

Plj(t) = Ile№(t))a(j. (1)

Здесь к - номер муравья; i - точка, в которой муравей находится; j - точка, в которую может перейти муравей; рк- вероятность выбора перехода i - j для

муравья к; t - момент (этап) развития колонии муравьев, фактически, номер итерации; т - концентрация феромона на ребре; v - скорость муравья на переходе i - j, обратно пропорциональная длине перехода; Jk -список разрешенных для перехода узлов; a и р -коэффициенты, показывающие вес количества феромона и расстояние при выборе перехода.

Выражение для подсчета испарения феромона имеет, в свою очередь, вид

Tij(t +1) = (1-P)Tij(t), (2)

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

Алгоритм предусматривает многократное выполнение итераций для получения оптимального решения, причем малое число итераций может дать решение, весьма далекое от оптимального. Таким образом, алгоритм становится ресурсоемким. Для стационарной современной ЭВМ, подобные затраты ресурсов не критичны на задачах даже в 1000 точек, однако несколько иначе дело обстоит с бортовыми системами. Отдельным вопросом является ОЗУ, выделяемое под хранение маршрута «муравья», потребление памяти растет в пропорции n2, что даже для современной бортовой системы может быть проблемой, не говоря уж об относительно низкой скорости работы памяти.

В плане нахождения глобального оптимума, «муравьиный» алгоритм, безусловно, вне конкуренции, так

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

В работах на (1) и (2) отсутствуют какие бы то ни было характеристики системы, кроме эффективной длины ребра. Все остальные параметры являются подстроечным ресурсом алгоритма. Здесь, тем не менее, нет ограничения на единственный параметр, однако множество критериев выражены неявно.

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

4. Результаты исследования

По аналогии с муравьиным алгоритмом, учитывая работу П. Свенсона [10], посвященную определению (и избежанию) путей появления угрозы, в которой поле риска определено как потенциальное, а также с учетом явной недостаточности возможностей учета дополнительных факторов движения транспортного средства по системе, предлагается отследить его перемещение как движение заряженной частицы в электрическом поле. В самом деле, имеется необходимость в достижении узла В, т. е. можно сказать, что узел В «отрицательно заряжен», а положительный заряд имеет элемент, перемещающийся по системе и стремящийся достичь узла В. В момент выхода из узла А мы получим электрическое поле, исходящее из узла В и притягивающее к нему частицу. По мере продвижения частицы по системе мы будем отслеживать движение заряда в электрическом поле. Это движение может быть описано с помощью системы уравнений Максвелла-Больцмана [11]:

ао . qi

—L + divrfj + — dt m;

divE = 4np,rotE

1 dB

c dt ,

(3)

„ „1 dE 4n .

divB = 0, rotB =--1-]

c at c

Здесь f — функция распределения частиц; i - номер типа частицы (если их много, в нашем случае его можно опустить); v - вектор скоростей; r - координаты пространства; q и m — заряд и масса частицы; Е и B — электрическая и магнитная компоненты поля, в котором происходит движение частиц

В данной системе присутствует функция распределения частиц f, изменяющаяся во времени и в пространстве. Для принятия решения о направлении движения частицы мы можем, после первой же итерации поиска

df

производной —

вычислить проекцию изменения

данной функции по координатам, которыми в данном случае будут выступать ребра графа, выходящие из данной точки S, и принять в качестве направления движения то направление, в котором данная производная будет иметь максимальный прирост. Тогда рабочая формула для итераций будет иметь вид (4):

W = gradr — r at ’

f = f - ft-1 = -v • divf -—E • gradvf . (4)

dt m

В качестве возможного направления движения выбирается то, в котором измененная проекция вектора W максимальна. На практике достаточно воспользоваться только (см. [11]) «продольной» компонентой уравнения Больцмана и опустить его правую часть (4).

Отметим, что пространство, в котором рассматривается движение заряженной частицы, многомерное, количество измерений соответствует максимальной связности узлов. Для определения скорости частицы мы воспользуемся данными о времени ее перемещения вдоль каждого из ребер в данный момент T (t), для определения распределения поля вокруг частицы условимся, что риск на каждом ребре является его

электрическим сопротивлением Rn(t) = (1 _ R(t)) ,

R(t) e (0;1). Возможно и более сложное определение Rn(t), с учетом отнесения частицы к тому или иному виду траффика, выделяемому в [9]. Здесь вспомним, что мы можем располагать сведениями обо всей системе. Тогда распределение «электрического поля» вокруг частицы можно легко вычислить по методу узловых потенциалов, который, с точки зрения вычислений, сводится к решению СЛАУ конечного размера с разреженной матрицей. Можно утверждать, что частица выберет наиболее быстрый путь из существующих, естественным образом обойдя участки с высоким уровнем риска, так как их сопротивление будет равно бесконечности и узлы за ними будут полностью отсечены от возможного маршрута. Единственным ограничением является предположение о том, что риск R(t) не является функцией Хевисайда или ее производной. Как показало исследование имитационной модели, на практике достаточно, чтобы риск не изменялся скачком от 0 до величины выше Rmax.

Сравнительная характеристика рассмотренных выше подходов может быть произведена по нескольким факторам. Основными были скорость поиска оптимального решения и вычислительные затраты. Для сравнения работы алгоритмов была построена про-

граммная модель (на языке С), моделирующая прохождение между точками А и В с базовой топологией графа, показанной на рисунке. При запуске на 16 точках добавлялись дополнительные ребра для создания возможной альтернативы маршрутов, на 1024 точках использовались 4 подобных базовых графа, объединенные в один. На каждом ребре функции R(t) (и, аналогично, T(t)) задавались при первом запуске как R(t)=R0+ a cos( ю t), при повторном для кинетического алгоритма — рандомно в интервале R0 ± a , при этом R(t) е (0;1). В табл. 1 показано время вычисления пути на графе, содержащем n точек, м/с (ПК с ЦП Intel Celeron, 1.6ГГц) для стохастических функций R(t) и T(t). Табл. 2 содержит найденное время прохождения маршрутов (выраженное в условных единицах времени).

Базовый элемент графа, на котором производилась проверка алгоритмов

Таблица 1

n «Муравьиный» алгоритм (2n/3 итераций) «Кинетический» алгоритм

16 15 16

256 4132 4297

1024 425857 365087

Таблица 2

n «Муравьиный » алгоритм, n/4 итераций «Муравьиный» алгоритм, 2n/3 итераций Кинетический алгоритм

16 38.16 24,14 25.91

256 357,92 267,64 285,08

1024 4100,37 1340,32 1125,18

К приведенным таблицам стоит еще добавить, что в случае кинетического алгоритма память расходуется только на хранение информации о состоянии ребер графа.

5. Заключение и перспективы дальнейших разработок

Касательно времени работы алгоритмов можно отметить следующее. Поскольку в «кинетическом» алгоритме используется вычисление функции в окрестностях всего лишь одной точки (в которой в данный момент находится частица), основным ресурсоемким процессом является вычисление потенциалов, что, в свою очередь, требует O(n3) действий. «Муравьиный» же алгоритм имеет зависимость O(n2), однако на каждом шаге выполняется полный прогон алгоритма по всем точкам, тогда как вычисление потенциалов производится на каждом шаге лишь один раз. В результате получаем, что «муравьиный» алгоритм начинает отставать по производительности уже на сотнях узлов, к тому же расходуя дополнительную память («своя» память выделяется каждому «муравью» или каждой «частице роя», но не требуется в случае кинетического метода, эта разница сказывается на быстродействии алгоритма в целом). Точность его работы зависит от количества итераций, в то время как кинетический алгоритм находит приемлемое решение сразу же. Однако оно не подлежит улучшению без подстройки параметров работы алгоритма, но, в отличие от «муравьиного» алгоритма, параметров и возможностей по подстройке у кинетического алгоритма достаточно, так как для этого могут быть задействованы все параметры (в том числе константы, как и в «алгоритме роя частиц»), которые входят в уравнение Больцмана. Оба рассмотренных алгоритма показали достаточную скорость работы и точность. Однако кинетический алгоритм представляется более перспективным для бортовых систем, где по сей день используются (и, в силу ряда причин, еще долго будут) ЭВМ с достаточной производительностью ЦП, но ограниченные по объему ОЗУ.

Литература: 1. Емельянова Т.С. Эвристические и метаэвристические методы решения динамической транспортной задачи // Перспективные информационные технологии и интеллектуальные системы. 2007. №3(31). 2. Minimizing logistics risk through real-time vehicle routing and mobile technologies Research to date and future trends. G.M. Giaglis, I. Minis, A. Tatarakis, V. Zeimpekis // International Journal of Physical Distribution & Logistics Management 2004. Vol. 34. No. 9. Р. 749-764. 3. Poli R. An Analysis of Publications on Particle Swarm Optimisation Applications. Technical Report CSM-469. University ofEssex. 2007. 57 p. 4. Sheetal, Venayagamoorthy G.K. Unmanned vehicle navigation using swarm intelligence // Intelligent Sensing and Information Processing (IClSlP), Proceedings of International Conference on. 2004. Р. 249 - 253. 5. Distributed Pheromone-Based Swarming Control of Unmanned Air and Ground Vehicles for RSTA. J. A. Sauter, R. S. Mathews, A. Yinger, J. S. Robinson, J. Moody, S. Riddle // Proceedings of SPIE Defense & Security Conference. Orlando. 2008. 6. Swarm Intelligence for logistics: Background. Svenson P., Mertenson Ch., Sidenbladh H, MalmM. Linkaping, 2004. 46 p. 7. A new algorithm for a Dynamic Vehicle Routing Problem based on Ant Colony System. Montemanni R, Gambardella L.M., Rizzoli A.E., Donati A.V. Technical Report IDSIA-23-02, IDSIA. 2002. 8. Pintea C.M, PopP.C., DumitrescuD. An

Ant-based Technique for the Dynamic Generalized Traveling Salesman Problem // Proc. of the 7th WSEAS International Conference on Systems Theory and Scientific Computation. Greece. 2007. Р. 255-259. 9. An analytical dynamic traffic assignment model with probabilistic travel times and travelers’ perceptions. Liu H.X., Ban X., Ran B., Mirchandani P. Institute of Transportation Studies, University of California. Irvine. 2002. 10. Svenson, P., Sidenbladh, H. Determining possible avenues of approach using ANTS // 6th International Conference on Information Fusion. Cairns. 2003. Р. 11101117. 11. Власов А. А. О вибрационных свойствах электронного газа. // Журнал экспериментальной и теоретической физики. 1938. Т. 8 (3). С. 291.

Поступила в редколлегию 04.06.2010

Рецензент: д-р техн. наук, проф. Петров Э.Г.

Куземин Александр Яковлевич, д-р техн. наук, проф. каф. информатики, начальник инновационно-маркетингового отдела ХНУРЭ. Научные интересы: системный анализ чрезвычайных природных ситуаций. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, e-mail:

kuzy@kture .kharkov.ua.

Козлов Евгений Дмитриевич, преподаватель каф. программного обеспечения автоматизированных систем Восточноукраинского филиала Международного Соломонова университета. Научные интересы: физика плазмы. Украина, 61166, Харьков, пр. Ленина, 14, e-mail: [email protected].

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