Алгоритмы Оптимизации Маршрутов Движения с Учетом Погодных Условий

International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 3, 2016

Алгоритмы Оптимизации Маршрутов Движения с Учетом Погодных Условий

Е. И. Веремей, М. В. Сотникова

Аннотация—Рассматривается задача формирования оптимальных маршрутов движения подвижных объектов с учетом прогноза погодных условий. Критериями оптимальности маршрута являются время в пути и расход топлива. Поиск маршрута выполняется при наличии статических и динамических ограничений.

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

Ключевые слова—оптимизация по времени и расходу топлива, маршрут движения, динамические ограничения.

I. Введение

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

уменьшение времени в пути имеют существенное значение. Рассматриваемая задача имеет важное практическое значение, в частности, для

контейнеровозов, выполняющих рейсы длительностью в несколько суток, например, через Атлантический океан.

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

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

Статья получена 11 ноября 2015. Работа выполнена при финансовой поддержке РФФИ, грант № 14-07-00083.

Е. И. Веремей, профессор, д.ф.-м.н., Санкт-Петербургский государственный университет

М. В. Сотникова, доцент, к.ф.-м.н., Санкт-Петербургский государственный университет

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

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

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

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

II. Постановка Задачи Формирования Маршрута В дальнейшем под маршрутом движения подвижного объекта будем понимать траекторию и распределение линейных скоростей на отдельных участках этой траектории. С целью сведения задачи к конечномерной оптимизации будем представлять траекторию движения в виде конечного числа локсодромических участков, то есть участков с постоянным значением курсового угла, как показано на рис. 1. На рисунке приняты следующие обозначения: А(ф0,^0) и 5(фр^1) - начальная и конечная точки траектории, M (ф, X) - текущая позиция подвижного объекта с географическими координатами

55

International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 3, 2016

у и X, Mi, i e 1, p +1 - точки поворота траектории,

Mi = A и Mp+1 = B, ф;, Si, Vi, i e 1, p - значения

курсового угла, длины и заданной скорости на i -м локсодромическом участке, p - общее число участков.

Рис. 1. Траектория движения.

Тогда траектория движения объекта у(г) однозначно определяется вектором

г = {(Ф1,^),(ф2,S2),...,^p,Sp)}e E2p а скорости движения по этой траектории - вектором v = (V1,V2,-,Vp)e Ep .

Пара совместно рассматриваемых векторов г и v однозначно определяет маршрут движения объекта.

Далее будем различать заданную и фактическую скорости движения объекта. Значение заданной

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

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

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

f

Здесь w и v - фактическая и заданная скорости объекта соответственно, n(v) - частота вращения движителя, соответствующая заданной скорости v, Pcurr, Pwave ,

Pwind - внешние воздействия, определяемые влиянием течения, волнения и ветра на фактическую скорость движения. Для составления уравнения (1) необходимо задать ряд технических параметров подвижного объекта, в частности, длину, ширину, осадку и др.

Прогноз погоды задается для узлов сетки,

покрывающей зону плавания Q° на земной поверхности и имеющей фиксированный шаг по широте Ay и долготе AX. Погода в узлах сетки задается с фиксированным временным шагом AT, то есть в моменты T°,T° + AT ,...,T1. В каждом узле сетки доступны значения следующих параметров:

а) ветра (направление и скорость);

б) волнения (высота волны, период, направление);

в) течения (направление и скорость).

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

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

плавания Q° будем обозначать Qg , к = 1, N . Тогда

допустимая по отношению к статическим ограничениям область плавания определяется множеством точек N

QS = Q0 \ U Q g . Следовательно, вектор г должен k=1

выбираться так, чтобы выполнялось условие

Y

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

с прогнозом погоды. Пусть QCj (t), j e 1,M - опасные зоны (в пересечении с районом плавания Q°) в фиксированный момент времени t . Каждое из множеств

Qj (t) является замкнутым, ограниченным и связным. Аналогично допустимому множеству Q s , введем в рассмотрение допустимое по погодным условиям множество, зависящее от времени:

M

Qw (t ) = Q°\ UQj (t).

j=1

Положение точки M (y(t, r, v), X(t, r, v)) на траектории в момент времени t зависит от выбора траектории у(г) и вектора заданных скоростей v . Следовательно,

56

International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 3, 2016

определяемое опасными погодными условиями ограничение примет вид

M

где to и fi - моменты отправления из начальной точки A и прибытия в конечную точку B соответственно. Для проверки ограничения (3) следует рассмотреть функцию Tai (г, v), значение которой равно времени нахождения в опасных зонах для выбранного маршрута (г, v). Если для фиксированного маршрута значение данной функции равно нулю, то он удовлетворяет ограничению (3), которое в этом случае можно представить в форме:

Tal

Введем терминальное ограничение

Ц -yfo, г, v))2 +

смысл которого состоит в том, что текущая точка M (у, X), представляющая подвижный объект, должна

попасть в окрестность конечного положения B

в случае оптимизации расхода топлива.

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

Один из возможных подходов к упрощению решения задач оптимизации (7), (8) изложен в работе [6]. Существо этого подхода состоит в построении конечного набора траекторий, допустимых по отношению к статическим ограничениям, с последующей оптимизацией распределения скоростей на каждой из них с целью минимизации времени перехода или расхода топлива. Такой подход позволяет получить, по крайней мере, грубое приближение к решению исходных задач оптимизации при относительно невысоких вычислительных затратах.

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

III. Алгоритмы Оптимизации Маршрутов

не позднее конечного момента задания прогноза T1 .

Рассмотрим также ограничения на величину заданной скорости на каждом участке траектории, определяемые ограниченными ресурсами движителей:

vmin < Vi < vmax, i =1, Р .

С целью решения задач оптимизации (7), (8) представим процесс движения подвижного объекта по заданному маршруту в трехмерном пространстве. В этом пространстве введем систему координат OyXt с началом в точке O и с координатными осями Оу, OX и Of. При этом оси Оу и OX представляют

На базе ограничений (2),(4)-(6) сформируем допустимое множество О с E3Р следующего вида:

О = <!

(г, v) I p(ti,г, v)< е,

У(г)с^5; ^min < Vi \Tal (г v ) = 0

fi < Ti;

< vmax

i e i, p; >

географические координаты, а ось Ot - текущее время.

Рассмотрим статические ограничения, заданные набором замкнутых контуров. Например, замкнутый

контур rg , являющийся границей множества О g , может быть задан в следующем виде

rg = {

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

Таким образом, задачу формирования маршрута можно представить как задачу конечномерной оптимизации вида

Jt

(r,v)eOc E3 p

в случае минимизации времени перехода или

Jf

(г^)еОс E3 p

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

координат OyXf запретная область О g , ограниченная

контуром (9), представляет собой множество точек, ограниченное цилиндрической поверхностью с образующей, параллельной оси Ot .

Перейдем к рассмотрению запретных зон,

определяемых погодными условиями. Пусть для i -го шага задания прогноза, соответствующего интервалу времени [T0 + (i - i)AT ,T0 + i AT ], определены опасные

зоны Oj, j e i,Mi . Аналогично статическим

ла

ограничениям, каждое множество О j описывается замкнутым контуром Tj вида (9). Тогда каждой

57

International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 3, 2016

плоской области О соответствует в трехмерном пространстве в системе координат OyXt множество точек, ограниченное цилиндрической поверхностью с образующей, параллельной оси Ot. Но, в отличие от статических запретных зон, для динамических ограничений указанное множество точек ограничено также сверху и снизу плоскостями t =70 + (i — 1)ЛТ и t = T0 + ^Т . На рис. 2 приведен пример отображения статических и динамических опасных зон в трехмерном пространстве.

Рис. 2. Представление статических и динамических запретных зон в трехмерном пространстве.

пути маршрута сводится к поиску такой ломаной с началом в точке O и с конечной точкой на прямой p с

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

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

Для того, чтобы построить ребра, соединяющие вершины графа, рассмотрим один из его узлов - точку с координатами (yi, X j, tk), где i е [l, Ny ], j e [l, NX ],

k e [l, Nt — l]. Будем соединять ребрами только те точки, которые расположены в соседних плоскостях по оси аппликат, то есть в плоскостях t = tk и t = tk +1. Ввиду ограничения (6), определим минимальное и максимальное расстояния, которое может пройти объект за время ЛТ :

pmin = ^minЛТ, pmax = ^maxЛТ .

Для получения начального приближения к оптимальному решению задач (7), (8) будем полагать, что фактическая и заданная скорости совпадают. Построим в рассматриваемом трехмерном пространстве сеть в следующих пределах изменения координат:

Vе ^V1], Хе [xOXlL tе [t0,T1],

Тогда для узла (Vi, X j ,tk ) следует рассматривать только те точки (yr, Xs, tk+1) в плоскости t = tk +1, которые входят в область достижимости, то есть

Р е [Р min , Pmax ] , P = -J

где t0 = T0 - время отправления из начальной точки A(vo, Xo ). Выберем некоторый шаг сетки по каждой из координат: Лvs, ЛХs и Лts, причем шаг Лts удобно определить кратным периоду ЛТ смены прогноза погодных условий, то есть ЛТ = lAts, где l > 1 - целое число. В итоге получим трехмерную сеть (решетку), число узлов которой равно NyNxNt, где

Ny =

V1 —vo

ЛУ s

+ 2, Nx =

X1 — X0 ЛХ s

+ 2, Nt = Т—^ +1. 1 Лts

Построим прямую p в пространстве с уравнением: V = V1, X = X1. Отметим, что конечная точка маршрута

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

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

Соединим отрезками пары точек (yi, X j, tk) и

(yr, Xs, tk+1), если выполняются следующие условия:

1) отрезок с концами в указанных точках не

пересекает и не содержится внутри ни одного из

контуров rg , определяющих статические ограничения;

2) отрезок с концами в указанных точках не

пересекает ни одно из множеств в трехмерном пространстве, определяющих динамические

ограничения.

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

Действительно, найдем сначала все точки пересечения отрезка с концами в вершинах

и контура Г опасной зоны О. . Пусть (yh,Xh),

h = 1, nh - координаты точек пересечения. Для каждой из этих точек найдем соответствующий момент времени

58

International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 3, 2016

попадания объекта в эту точку по формуле th = tk + Ats (Vh "Vi)•

Vr -Vi

Если хотя бы для одной из этих точек выполняется условие th е [tf1, tfl ], то ребро между рассматриваемыми узлами (vi,кj,tk) и (yr,кs,tk+1) не устанавливается.

Здесь [tfl, tfl ] - интервал времени, на котором задана опасная зона Of .

Если условия 1 и 2 выполняются, то между вершинами (уу, к j, tk) и (yr, ks, tk+1) устанавливается

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

Заметим, что чем меньшие значения имеют шаги трехмерной сетки Ays, Дкs и Ats, тем более близким к оптимальному маршруту будет найденное решение. Но, с другой стороны, уменьшение шага сетки означает увеличение числа узлов графа и размерности матрицы смежности вершин. Следовательно, увеличивается и время вычислений, которое должно быть как можно меньшим и не может превышать интервала смены прогноза погодных условий AT . Однако, приведенный алгоритм построения графа очевидным образом распараллеливается, что позволяет существенно

уменьшить время его работы.

Для нахождения оптимального по времени в пути маршрута необходимо в качестве начальной принять вершину графа, соответствующую точке А(у0, к0), а в качестве конечной - вершину графа, соответствующую точке в(у^к1), расположенную на прямой p с минимальным возможным значением аппликаты t = tf .

Далее, найти кратчайший путь на графе, соединяющий эти две точки. Если такого пути не существует, то в качестве конечной точки принять следующую точку на прямой p со значением аппликаты t = tf +Ats и т.д.

Отметим, что минимальное возможное время попадания в конечную точку равно tmin = Р(AВ) , где р(A, B) -

^max

расстояние между точками A и B. Соответственно индекс f для момента времени t = t f равен

Найденный таким образом маршрут будем использовать в качестве начального приближения для решения исходной оптимизационной задачи (7). Улучшить этот маршрут можно при помощи численных методов нелинейного программирования, в частности с использованием последовательного квадратичного

Ats

+1.

^min

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

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

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

w = p(V)t,

где p(V) - удельный расход топлива при заданной скорости V , t - время движения по ребру. Далее, в зависимости от постановки задачи, возможны два варианта работы алгоритма. Опишем каждый из них.

1) Требуется минимизировать расход топлива при ограниченном допустимом времени в пути tmax . В этом

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

2) Требуется минимизировать время в пути с заданной экономией топлива от номинального значения. В этом случае также будем перебирать последовательно конечные точки пути на прямой p , начиная с

наименьшего возможного значения времени t = t f . Но,

в отличие от предыдущего варианта, будем увеличивать значение аппликаты t = tf + kAts

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

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

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

59

International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 3, 2016

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

IV. Пример работы алгоритмов

Рассмотрим пример работы алгоритма формирования оптимального по времени маршрута. Примем следующие значения координат начальной и конечной точек: A(10,20), 5(200,1000). Максимальная и

минимальная скорость подвижного объекта равна 12.5 м/с и 2.5 м/с соответственно. Ограничения, определяющие статические и динамические опасные зоны для района плавания, показаны на рис. 2.

Зададим параметры алгоритма: Дуs = AXs = 30 км, Ats = 3 часа. На рис. 3 показан результат работы алгоритма в виде ломаной в трехмерном пространстве.

них внешней среды.

Библиография

[1] R. W. James, Application of wave forecast to marine navigation. Washington, D.C.: US Navy Hydrographic Office, 1957. 78 p.

[2] H. Hagiwara, “Weather routing of (sail-assisted) motor vessels,” PhD Thesis. Delft: Technical University of Delft, 1989. 337 p.

[3] S. J. Bijlsma, “A Computational Method for the Solution of Optimal Control Problems in Ship Routing,” Navigation. Journal of The Institute of Navigation, vol. 48, pp. 145-154, 2001.

[4] H. Chen, “A dynamic program for minimum cost ship routing under uncertainty,” PhD Thesis. Massachusetts: Massachusetts Institute of Technology, 1978, 163 p.

[5] Е. И. Веремей, В. М. Корчанов, М. В. Коровкин, С. В.

Погожев. Компьютерное моделирование систем

управления движением морских подвижных объектов. СПб.: НИИ Химии СПбГУ, 2002. 370 с.

[6] М.В. Сотникова. Алгоритмы формирования маршрутов движения судов с учетом прогноза погодных условий // Вестн. С.-Петерб. ун-та. Сер. 10. 2009. - Вып. 2. - С. 181-196.

[7] Fletcher R. Practical Methods of Optimization. - 2nd ed. - John Wiley & Sons Ltd., 2000. - 450 p.

Рис. 3. Оптимальный маршрут движения.

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

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

V. Заключение

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

Разработанные алгоритмы могут быть адаптированы для оптимизации маршрутов движения подвижных объектов различных классов с учетом воздействия на

60

International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 3, 2016

Optimal Routing Based on Weather Forecast

E. I. Veremei, M. V. Sotnikova

Abstract— The problem of optimal weather routing is considered. The purpose is to find an admissible route providing minimal voyage time or minimal fuel consumptions. The route is accepted as admissible if it allows to avoid static and dynamic alarm zones. Static zones include, for example, coastlines, different forbidden areas and shallow waters. Dynamic zones is the moving areas with a bad weather conditions, for example, strong wind.

The proposed computational algorithm is based on a threedimensional representation of the problem, where third dimension is a time axis. In this case the initial task is transformed to a problem of path finding in 3D-space, which avoid obstacles and finish with a minimal value of third coordinate. The results of the simulation experiments for a given weather forecast and alarm zones are presented.

Keywords —optimal weather routing, fuel economy, route, dynamic constraints.

61