Веремей Е.И. \ Сотникова М.В. 2
^анкт-Петербургский государственный университет, г. Санкт-Петербург, д.ф.-м.н., профессор, заведующий кафедрой компьютерных технологий и систем, е . [email protected]
2 Санкт-Петербургский государственный университет, г. Санкт-Петербург, к.ф.-м.н., доцент кафедры компьютерных технологий и систем, т. [email protected]
АЛГОРИТМЫ ОПТИМИЗАЦИИ ДВИЖЕНИЯ ПО ЗАДАННОЙ ТРАЕКТОРИИ С УЧЕТОМ ПРОГНОЗА ПОГОДНЫХ УСЛОВИЙ
КЛЮЧЕВЫЕ СЛОВА
Маршрут движения, прогноз погоды, оптимизация, поиск пути на графе. АННОТАЦИЯ
Цель работы состоит в формировании эффективных вычислительных алгоритмов оптимизации движения подвижного объекта по заданной траектории на длительных дистанциях, где экономия расхода топлива и уменьшение времени в пути имеют существенное значение. Оптимизация выполняется с учетом прогноза погодных условий, в частности, динамически изменяющихся запретных участков. Предлагаемые алгоритмы оптимизации основаны на представлении маршрута движения по фиксированной траектории в двумерном пространстве. Результаты работы алгоритмов продемонстрированы на примерах.
Введение
Данная работа посвящена задаче оптимального распределения скоростей подвижного объекта на заданной траектории, то есть формированию оптимального маршрута движения с учетом прогноза погодных условий. Рассматриваемая задача имеет важное практическое значение, в частности, для контейнеровозов, выполняющих длительные переходы, например, через Атлантический океан. Критериями оптимальности маршрута являются время в пути и расход топлива. Важно подчеркнуть, что в данной работе траектория движения считается заданной, а оптимизации подлежат только скорости движения на отдельных ее участках. Более общая задача формирования маршрута, включающая как поиск траектории, так и распределения скоростей, рассмотрена, например, в работе [1].
Оптимизация движения объекта по заданной траектории выполняется с учетом параметров подвижного объекта, погодных условий и динамических ограничений, обусловленных опасными для движения участками.
Предлагаемое в статье решение основано на представлении маршрута движения по заданной траектории в двумерном пространстве, измерениями которого являются время и длина пройденного пути. На основе такого представления формируется граф и выполняется поиск кратчайшего пути на этом графе. Уточнение полученного решение достигается посредством решения задачи нелинейного программирования. Результаты работы алгоритмов продемонстрированы на примерах.
Постановка задачи
В дальнейшем под маршрутом движения подвижного объекта будем понимать траекторию его движения и распределение линейных скоростей на отдельных участках этой траектории. С целью сведения задачи к конечномерной оптимизации будем представлять траекторию движения объекта в виде конечного числа локсодромических участков, то есть участков с постоянным значением курсового угла, как показано на рис. 1. На рисунке приняты следующие обозначения: А (, Л0| и В (, Лх| - начальная и конечная точки траектории, М (ф, Л) - текущая
позиция подвижного объекта с географическими координатами ф и X, , Мг, г е 1, р +1 -точки поворота траектории, Мх= А и Мр+х= В , фS^, I £1, р - значения курсового
угла, длины и заданной скорости на i -м локсодромическом участке, р - общее число участков.
N А
(<Р2,$2),У2 .7 Ц
Ур
/1
Рис. 1. Траектория движения подвижного объекта Тогда траектория движения объекта у (Г) однозначно определяется вектором
Г = { (ф1 ), (ф2 , ••• а скорости движения по этой траектории - вектором
V=( У1 ,У 2, ••• ,Ур )е Ер
2р
(1)
(2)
2>"'> ■ р)
Пара совместно рассматриваемых векторов Г и V однозначно определяет маршрут движения объекта.
Подчеркнем, что компонентами У; вектора V являются заданные (желаемые) скорости движения по участкам траектории. Далее будем различать заданную и фактическую скорости движения объекта. Значение заданной скорости напрямую связано с работой движителей, например, с частотой вращения гребного винта и, следовательно, с расходом топлива. Фактическая скорость движения по участку траектории отличается от заданной и зависит от погодных условий и направления движения объекта. Заданная скорость совпадает с фактической при отсутствии внешних воздействий, например, для морских объектов на тихой воде [2].
Фактическую скорость будем определять приближенно как положение равновесия при заданных силе тяги движителя и внешних воздействиях, определяемых погодными условиями, из следующего уравнения
f н>, п (у) ,Р ,Р ,Р . , ) = 0 . (3)
\ I ' сигг' wave' wmd / -1
Здесь w и V - фактическая и заданная скорости объекта соответственно, П (V) -частота вращения движителя, соответствующая заданной скорости V , Рсигг,Р е,Р-
внешние воздействия, определяемые влиянием течения, волнения и ветра на фактическую скорость движения. Уравнение вида (3) служит для определения фактической скорости морских подвижных объектов, однако аналогичная модель может быть сформирована и для других классов подвижных объектов. Дальнейшее изложение будем вести применительно к морским подвижным объектам. Отметим, что для составления уравнения (3) необходимо задать ряд технических параметров подвижного объекта, в частности, длину, ширину, осадку и др.
Прогноз погоды задается для узлов сетки, покрывающей зону плавания Qo на земной
поверхности и имеющей фиксированный шаг по широте Д^ и долготе Д X, . Погода в узлах сетки задается с фиксированным временным шагом Д Т , то есть в моменты Т 0 ,Т 0+ Д Т , • ••, Т1 . В каждом узле сетки доступны значения следующих параметров: а) ветра (направление и скорость);
Sj 1,Sj2
есть пересечение в момент
б) волнения (высота волны, период, направление);
в) течения (направление и скорость).
Кроме указанных параметров, на район плавания Q0 с фиксированным временным шагом Д T задаются опасные по погодным условиям зоны в виде набора замкнутых контуров. Учитывая, что траектория движения объекта у (Г) задана вектором Г и не изменяется, введем запретные участки на этой траектории, определяемые как пересечения контуров опасных зон с траекторией движения. Эти запретные участки, как и прогноз погоды, изменяются динамически с
фиксированным временным шагом Д T . Пусть отрезок
времени T0 + í Д T контура j-ой опасной зоны с траекторией, а S - длина дуги, отсчитываемая от начальной точки. Тогда объединение всех таких отрезков образует запретные участки на
траектории в момент Tо + i Д T . В результате множество
k¡
ñ =U [sj 1 S2] , (4)
j =1
где ki - число опасных зон в момент времени Tо + i Д T , представляет собой множество точек на траектории, в которых не может находиться подвижный объект на интервале времени [То + i Д T ,Tо+(i+1) Д T] .
Введем терминальное ограничение
(^1-ф(t 1,v))2 +(X 1-X(t 1,v))2<£, ti<T 1 , (5)
смысл которого состоит в том, что текущая точка M (ф, X) , представляющая подвижный объект, должна попасть в окрестность конечного положения B (Ф1, Xj не позднее конечного момента задания прогноза Т1 .
Рассмотрим также ограничения на величину заданной скорости на каждом участке траектории, определяемые ограниченными ресурсами движителей:
vmin< Vi< Vmax ' i = ^P . (6)
Наконец, перейдем к рассмотрению ограничений, определяемых погодными условиями. Для этого рассмотрим функцию Ta¡ (v) , значение которой равно времени нахождения на опасных
участках (5) траектории (Г) для выбранного распределения скоростей V . В этом случае подвижный объект не попадает в опасные зоны, если выполняется условие
Tal (V ) = 0. (7)
На основе ограничений (5) - (7) введем допустимое множество распределений заданных скоростей V на траектории у (Г) :
Q = ( V е EP |р( 11, V )< 8,t 1<Т 1; v min<Vi <v _ ,i ehp ; Tal (v ) = 0 ) .
где функция p(t 1, v) определяется в соответствии с ограничением (5). Тогда задачу
оптимизации маршрута можно сформулировать как задачу конечномерной оптимизации следующего вида:
JT (v) — min или JF (v) — min (8)
veñe Ep veficEP
в случае минимизации времени перехода или расхода топлива соответственно. Алгоритмы оптимизации распределения скоростей
С целью решения задач оптимизации (8) представим процесс движения подвижного объекта по заданной траектории в двумерном пространстве. В этом пространстве введем систему координат Ost с началом в точке O и координатными осями Os и Ot . При этом ось абсцисс Os обозначает пройденный по траектории путь s , а ось ординат Ot - текущее время.
Для получения начального приближения к оптимальному решению задач (8) будем полагать, что фактическая и заданная скорости совпадают. Проведем прямые s = v min t и s = vm t , отвечающие движению по траектории с заданной минимальной и максимальной
скоростью соответственно. Эти прямые ограничивают все возможные варианты движения по траектории.
Построим прямые 5 = S¡, 1 = 1, р — 1 , соответствующие точкам поворота траектории. Так как заданная скорость на участке траектории с прямым значением курсового угла не изменяется, то маршрут движения по траектории в рассматриваемом пространстве изображается ломаной линией. При этом точки сопряжения участков ломаной могут находиться только на прямых 5 = S¡.
. Отметим, что только в этих точках сопряжения может изменяться угол наклона к оси участков ломаной, если заданные скорости на соседних участках не совпадают.
40
35
30
23
1f
1 i ■
■ 1
1
......
-- ■
■
и
100 200 303 400 500 600 700 В00 500 10DD Le ngth {I m}
Рис. 2. Опасные зоны и прямые максимальной и минимальной скорости В каждый момент времени T0+Í Д T задания прогноза запретные для движения участки
Sj 1 'Sí 2
. Этим отрезкам на плоскости с введенной
0
траектории определяются отрезками
системой координат Ost соответствуют прямоугольники, длина стороны которых по оси ординат кратна интервалу Д T задания прогноза. На рис. 2 приведен пример ограничивающих прямых и опасных зон на траектории.
В итоге задача поиска оптимального по времени в пути распределения скоростей сводится к поиску такой ломаной с началом в точке O , каждое звено которой имеет тангенс угла наклона к
1 1
оси абсцисс в пределах
v v .
max min
с точками сопряжения на прямых S — S., i — 1, p — 1 ,
причем конечная точка должна лежать на прямой 5 = Sp с минимальным значением времени t . При этом искомая ломаная не должна пересекать прямоугольники, обозначающие запретные для движения зоны.
Для решения поставленной задачи построим граф в соответствии со следующим алгоритмом.
1) Отметить на прямых 5 = S¡., /=1,р — 1 точки, расположенные между прямыми
максимальной и минимальной скорости на равном расстоянии друг от друга Д Г . Вычеркнуть все точки, которые попадают внутрь прямоугольников, определяющих опасные зоны.
2) Соединить отрезками пары точек, расположенные на соседних прямых 5 = Si и 5 = S¡. +1 , если выполняются следующие условия:
1 1
а) угол наклона отрезка к оси абсцисс находится в пределах
vv
max min
зоны.
б) указанный отрезок не пересекает ни один из прямоугольников, определяющих опасные 3) Принять построенные точки и отрезки в качестве вершин и ребер графа. Каждому ребру
графа присвоить вес, равный времени движения по ребру при условии, что фактическая скорость совпадает с заданной.
4) В качестве конечной точки P принять точку на прямой 5 =S ^ с минимальным значением ординаты t = tp . Найти кратчайший путь на графе, соединяющий начальную точку О и конечную точку Р . Если такого пути не существует, то в качестве конечной точки Р принять следующую точку на прямой 5 = 5р со значением ординаты t = tp + Д t и т.д.
5) Использовать найденное распределение скоростей в качестве начального приближения для оптимизации маршрута по времени перехода. Решить задачу оптимизации (8) при помощи методов нелинейного программирования, например, с использованием метода последовательного квадратичного программирования [3].
На рис. 3 показан пример построения графа в соответствии с приведенным алгоритмом. На рис. 4 показана искомая ломаная, соответствующая кратчайшему по времени в пути распределению скоростей на заданной траектории. Для уточнения полученного решения, с учетом влияния погодных условий на скорость движения объекта, необходимо решить задачу оптимизации (8).
40
35
30
25
? —
о
S 20
Oí
Е i—
15
10 5 О
а 101 200 300 400 501 610 710 В00 900 1010 Length (km)
Рис. 3. Граф, представляющий возможные маршруты движения по траектории 40
35
30
2Б
? □;
а
■е 20 0Í Е
- 15
11
5
О 1 СЮ 210 301 401 500 611 701 BOO ЭОС 1101 Length (km}
Рис. 4. Оптимальный маршрут движения по заданной траектории Рассмотрим теперь алгоритм построения оптимального по расходу топлива распределения
скоростей на заданной траектории. Также как и в предыдущем алгоритме, сначала необходимо построить граф и каждому ребру этого графа присвоить вес. Но, в отличие от предыдущего варианта, вес ребра следует принять равным расходу топлива при движении по ребру, который вычисляется по формуле:
w =р(У)t ,
где р (У ) - удельный расход топлива при заданной скорости У , t - время движения по ребру. Далее, в зависимости от постановки задачи, возможны два варианта работы алгоритма. Опишем каждый из них.
1) Требуется минимизировать расход топлива при ограниченном допустимом времени в пути tmax . В этом случае для построения оптимального маршрута будем перебирать последовательно точки P на прямой S =Sp со значением ординаты, не превышающим tmax .
Для каждой из этих точек найдем кратчайший путь на графе с началом в точке O , то есть путь с наименьшим расходом топлива. В качестве результата, среди найденных вариантов, примем ту ломаную, для которой расход топлива минимален.
2) Требуется минимизировать время в пути при заданном ограничении на допустимый расход топлива f max . Для поиска оптимального решения возьмем точку P на прямой S =Бр с наименьшим допустимым значением ординаты. Вычислим кратчайший путь с началом в точке O и с концом в точке P , то есть путь минимизирующий расход топлива. Если при этом расход
топлива не превышает заданного максимального значения f max , то принимаем в качестве результата построенную ломаную. В противном случае, переходим к следующей точке на прямой S =Sp с шагом Дt по оси ординат.
В обоих случаях полученное решение необходимо уточнить, учитывая влияние погодных условий на скорость движения подвижного объекта и, соответственно, несовпадение заданной и фактической скорости. Для этого необходимо решить задачу оптимизации (8), принимая найденное распределение скоростей в качестве начального приближения.
Заключение
Предложены алгоритмы поиска оптимального распределения скоростей на заданной траектории, которые сводятся к построению соответствующего графа и поиску кратчайшего пути на графе. Уточнение полученного решения достигается посредством решения вспомогательной задачи нелинейного программирования. Указанные алгоритмы могут быть перенесены на задачу формирования оптимальных маршрутов, представимых в трехмерном пространстве с препятствиями, определяемыми опасными погодными условиями и статическими ограничениями, например, береговыми линиями.
Работа выполнена при финансовой поддержке РФФИ, грант № 14-07-00083.
Литература
1. Сотникова М.В. Алгоритмы формирования маршрутов движения судов с учетом прогноза погодных условий //
Вестн. С.-Петерб. ун-та. Сер. 10. 2009. - Вып. 2. - С. 181-196.
2. Веремей Е.И., Корчанов В.М., Коровкин М.В., Погожев С.В. Компьютерное моделирование систем управления
движением морских подвижных объектов. СПб.: НИИ Химии СПбГУ 2002. 370 с.
3. Fletcher R. Practical Methods of Optimization. - 2nd ed. - John Wiley & Sons Ltd., 2000. - 450 p.