Numerical Methods for Solving the Pursuit Optimization Problems
Problems in programming 2013; 4: 74-85
Збережено в:
Дата: | 2025 |
---|---|
Автори: | , |
Формат: | Стаття |
Мова: | rus |
Опубліковано: |
Інститут програмних систем НАН України
2025
|
Теми: | |
Онлайн доступ: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/743 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Problems in programming |
Репозитарії
Problems in programmingid |
pp_isofts_kiev_ua-article-743 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/ba/98e973fb1b394fe8045df4f4d865aaba.pdf |
spelling |
pp_isofts_kiev_ua-article-7432025-04-16T13:52:57Z Numerical Methods for Solving the Pursuit Optimization Problems Численные методы решения задач оптимизации преследования Pashko, C.V. Yalovets, A.L. УДК 518.9 УДК 518.9 Problems in programming 2013; 4: 74-85 Рассмотрены дифференциальные игры преследования на плоскости, в которых для каждого убегающего создается группа преследователей. Сформулированы задачи оптимизации групп преследования. Построены численные методы решения таких задач, выполнены вычислительные эксперименты и сделаны выводы об эффективности методов.Problems in programming 2013; 4: 74-85 Інститут програмних систем НАН України 2025-04-16 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/743 PROBLEMS IN PROGRAMMING; No 4 (2013); 74-85 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 4 (2013); 74-85 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 4 (2013); 74-85 1727-4907 rus https://pp.isofts.kiev.ua/index.php/ojs1/article/view/743/795 Copyright (c) 2025 PROBLEMS IN PROGRAMMING |
institution |
Problems in programming |
baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
datestamp_date |
2025-04-16T13:52:57Z |
collection |
OJS |
language |
rus |
topic |
УДК 518.9 |
spellingShingle |
УДК 518.9 Pashko, C.V. Yalovets, A.L. Numerical Methods for Solving the Pursuit Optimization Problems |
topic_facet |
УДК 518.9 УДК 518.9 |
format |
Article |
author |
Pashko, C.V. Yalovets, A.L. |
author_facet |
Pashko, C.V. Yalovets, A.L. |
author_sort |
Pashko, C.V. |
title |
Numerical Methods for Solving the Pursuit Optimization Problems |
title_short |
Numerical Methods for Solving the Pursuit Optimization Problems |
title_full |
Numerical Methods for Solving the Pursuit Optimization Problems |
title_fullStr |
Numerical Methods for Solving the Pursuit Optimization Problems |
title_full_unstemmed |
Numerical Methods for Solving the Pursuit Optimization Problems |
title_sort |
numerical methods for solving the pursuit optimization problems |
title_alt |
Численные методы решения задач оптимизации преследования |
description |
Problems in programming 2013; 4: 74-85 |
publisher |
Інститут програмних систем НАН України |
publishDate |
2025 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/743 |
work_keys_str_mv |
AT pashkocv numericalmethodsforsolvingthepursuitoptimizationproblems AT yalovetsal numericalmethodsforsolvingthepursuitoptimizationproblems AT pashkocv čislennyemetodyrešeniâzadačoptimizaciipresledovaniâ AT yalovetsal čislennyemetodyrešeniâzadačoptimizaciipresledovaniâ |
first_indexed |
2025-07-17T09:37:35Z |
last_indexed |
2025-07-17T09:37:35Z |
_version_ |
1837886400106594304 |
fulltext |
Прикладні засоби програмування та програмне забезпечення
© С.В. Пашко, А.Л. Яловец, 2013
74 ISSN 1727-4907. Проблеми програмування. 2013. № 4
УДК 518.9
С.В. Пашко, А.Л. Яловец
ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ
ОПТИМИЗАЦИИ ПРЕСЛЕДОВАНИЯ
Рассмотрены дифференциальные игры преследования на плоскости, в которых для каждого убегающе-
го создается группа преследователей. Сформулированы задачи оптимизации групп преследования. По-
строены численные методы решения таких задач, выполнены вычислительные эксперименты и сдела-
ны выводы об эффективности методов.
Введение
В данной работе рассматриваются
методы решения задач оптимизации пре-
следования на плоскости, применяемые в
разрабатываемом программном обеспече-
нии.
Одно из центральных мест в теории
динамических игр занимают задачи пре-
следования и убегания. Динамические иг-
ры, согласно [1], разделяются на игры ка-
чества и игры степени. В играх качества
представляют интерес два исхода игры.
Например, требуется определить, могут ли
преследователи захватить цель до опреде-
ленного момента времени или нет. В играх
степени требуется построить оптимальные
стратегии игроков, для которых достигает-
ся минимакс функции платы. В настоящей
работе задача преследования в пределах
одной группы рассматривается как игра
степени.
Следует отметить достигнутые
успехи в построении роботизированных
систем преследователей на практике, в ко-
торых несколько роботов преследуют не-
которое количество целей [2].
В работе [3] изучается сложность
задач преследования, в которых число
преследователей и число преследуемых
больше одного. В этих задачах критерием
качества является время окончания игры,
т. е. время захвата всех целей. Движения
игроков считаются простыми, при этом
предполагается, что максимальная ско-
рость каждого преследователя превосхо-
дит максимальную скорость любого убе-
гающего. Каждому преследователю раз-
решается захватить не более одного убе-
гающего. Множество преследователей
разбивается на группы, причем для каждой
цели создается одна группа [4]. В любой
момент времени группы могут быть пере-
формированы. После захвата цели вся
группа вместе с целью выбывают из игры.
Все цели должны быть захвачены. Требу-
ется найти оптимальный состав групп, т. е.
такой, для которого момент захвата по-
следней цели минимален. В каждой группе
преследователи и убегающий игрок при-
меняют оптимальные или близкие к ним
стратегии движения; такого рода стратегии
изучались в [1, 5–9].
В работе [3] показано, что задача
оптимизации состава групп преследования
является NP-трудной в сильном смысле.
Из этого сделаны выводы о том, какие
численные методы следует применять для
ее решения.
В настоящей работе описаны метод
случайного поиска с локальной оптимиза-
цией и метод ветвей и границ для оптими-
зации групп преследования. Выполнены
численные эксперименты, из которых сле-
дуют выводы об эффективности этих ме-
тодов.
1. Преследование одного
убегающего
Рассмотрим задачу оптимального
преследования одного убегающего груп-
пой преследователей. Пусть на плоскости
в точке 0X находится преследуемый игрок
E, а в точках iX находятся преследующие
его игроки iP , ki ,...,2,1 . Обозначим iV
скорости игроков, ki ,...,2,1,0 (нулевое
Прикладні засоби програмування та програмне забезпечення
75
значение индекса i относится к игроку E);
здесь iV – двумерные векторы. Уравнения
движения игроков имеют вид
ii VX , ki ,...,2,1,0 . (1)
Будем считать, что выполняются ограни-
чения
ii wV , ki ...,,2,1,0 , (2)
где iw – максимальная величина скорости,
22 yxX – длина вектора ),( yxX .
Кроме того, скорость iV считается кусоч-
но-непрерывной функцией от времени.
Это означает, что в каждом ограниченном
временном интервале существует не
больше конечного числа точек разрыва
первого рода.
Игрок i управляет своими коорди-
натами, выбирая в каждый момент време-
ни скорость iV . Функция )(tVi – управ-
ление i-го игрока. Движение, осуществля-
емое таким образом, называется простым.
Игра начинается в момент времени 0t и
считается законченной, когда координаты
одного из преследователей в некоторый
момент Tt совпадают с координатами E,
случай T не исключается. Преследо-
ватели стремятся уменьшить время T, пре-
следуемый стремится его увеличить. Счи-
таем, что
iww 0 , ki ,...,2,1 . (3)
Стратегию игрока i можно опреде-
лить как функцию ))(,( tItSi , где )(tI –
информация, доступная игроку в момент t.
Значением этой функции является управ-
ление )(tVi ; игрок i вычисляет свое управ-
ление по формуле ))(,( tItSV ii . Пусть
))(),...,(),(()( 10 tXtXtXtX k
u – фазовый
вектор, содержащий координаты игроков,
зависящие от времени. Далее считается,
что стратегия убегающего зависит только
от времени и фазового вектора, а стратегии
преследователей зависят еще и от скорости
убегающего игрока. Управления )(tVi вы-
числяются по формулам:
))(,()( 00 tXtStV u , (4)
))(),(,()( 0 tVtXtStV u
ii , ki ,...,2,1 . (5)
Используя уравнения (1), (4), (5),
приходим к системе дифференциальных
уравнений
)),(,()( 00 tXtStX u (6)
))),(,(),(,()( 0 tXtStXtStX uu
ii
ki ,...,2,1 , (7)
Tt 0 , 0)0( uu XX . (8)
Здесь 0uX – заданное начальное значение
вектора uX . Решением системы (6)–(8)
считается абсолютно непрерывная функ-
ция ))(),...,(),(()( 10 tXtXtXtX k
u , произ-
водная которой всюду удовлетворяет
соотношениям (6), (7) за исключением,
быть может, конечного числа моментов
времени в каждом ограниченном
временном отрезке.
Пусть ),...,,( 21 kSSSS – страте-
гия преследования. Пара стратегий убега-
ния и преследования ),( 0 SS называется
совместной, если существует единствен-
ное решение )(tX u системы уравнений
(6)–(8), причем управления )(tVi , вычис-
ляемые по формулам (4), (5), являются ку-
сочно-непрерывными функциями от t и
удовлетворяют соотношениям (2). Приве-
денное определение совместной пары
стратегий аналогично определению, дан-
ному в [6].
Пусть величина ),),0(( 0 SSXT u
равна времени захвата цели, если страте-
гии 0S и S совместны, и равна в про-
тивном случае. Оптимальным временем
преследования назовем число
),),0((supinf 0
0
SSXTt u
SS
. (9)
Ясно, что из соотношений (3) сле-
дует t . Назовем стратегию S опти-
Прикладні засоби програмування та програмне забезпечення
76
мальной стратегией преследования, если
для каждой стратегии 0S выполняется не-
равенство tSSXT u ),),0(( 0 . Назовем
стратегию
0S оптимальной стратегией
убегания, если для каждой стратегии S
справедливо неравенство:
tSSXT u ),),0(( 0 .
Обозначим ),...,,( 21 kVVVV управ-
ление преследования, соответствующее
стратегии S. Предположим, преследуемый
объект и преследователи применяют оп-
тимальные стратегии
0S и S . Получаю-
щиеся при этом управления назовем
парой оптимальных управлений ),( 0
VV .
В случае 2k оптимальные управ-
ления
0V и V указаны в [1] (раздел 6.8).
Для произвольных значений k задачи
оптимального преследования изучаются
в [5, 6].
Если имеется только один пресле-
дователь, т. е. 1k , то оптимальное время
преследования вычисляется по формуле:
)/( 01 wwdt ,
где d – расстояние между игроками.
Рассмотрим подробнее игру с двумя
преследователями, т. е. при условии
2k . Обозначим iA окружность Аполло-
ния, относящуюся к паре игроков E, iP ,
2,1i . Она представляет собой геометри-
ческое место точек, в которых могут
встретиться игроки E и iP , если они дви-
гаются равномерно и прямолинейно с мак-
симальными скоростями. Пусть iQ – за-
мкнутый круг Аполлония, соответствую-
щий окружности iA . Тогда 21 QQQ –
множество таких точек плоскости, до ко-
торых игрок E успевает дойти не позже
каждого преследователя. Внутренность
множества Q представляет собой множе-
ство точек, до которых игрок E успевает
дойти раньше любого преследователя.
Пусть QX – наиболее удаленная точка
от точки 0X из множества Q, т. е. для каж-
дого QX справедливо неравенство
0XX 0XX .
Обозначим
0S стратегию убегаю-
щего игрока, которая состоит в том, что он
двигается равномерно и прямолинейно с
максимальной скоростью по направлению
к точке X . До момента времени, равного
00 / wXX , захват произойти не может,
поэтому
00 / wXXt .
В данной игре каждый из преследовате-
лей может применить стратегию парал-
лельного сближения [8]. В работе [9] до-
казано, что применение каждым пресле-
дователем этой стратегии приводит к
захвату цели за время, которое не пре-
восходит величины 00 / wXX , откуда
следует неравенство:
00 / wXXt .
Из двух последних неравенств вытекает
соотношение
00 / wXXt .
Управление убегающего игрока,
при котором он движется равномерно и
прямолинейно с максимальной скоростью
по направлению к точке X , обозначим
0V . Управление преследователей, при ко-
тором они движутся равномерно и прямо-
линейно с максимальной скоростью по
направлению к той же точке X , обозна-
чим V . Пара ),( 0
VV – это пара оптима-
льных управлений.
2. Задача оптимизации групп
преследования
Рассмотрим задачу формирования
оптимальных групп преследования. Пусть
на плоскости имеются m преследователей
Прикладні засоби програмування та програмне забезпечення
77
и n убегающих, причем 1 nm . Все
игроки обладают простым движением,
максимальная скорость каждого пресле-
дователя больше максимальной скорости
любого убегающего. Для каждого убега-
ющего образуется группа преследовате-
лей, которая после его захвата выбывает
вместе с ним из игры. Цель считается за-
хваченной, если ее координаты совпадают
с координатами одного из преследовате-
лей, входящих в группу. Для каждой це-
ли заданы минимальное и максимальное
количества игроков, которые могут при-
надлежать группе. Все цели должны быть
захвачены. Требуется составить группы
преследования таким образом, чтобы об-
щее время завершения игры принимало
минимальное значение.
Как и в [3], считаем, что в каждой
группе игроки применяют оптимальные
(или почти оптимальные) стратегии, а
время захвата t вычисляется по формуле
(9).
Пусть целочисленный вектор
),...,,( 21 mjjjJ задает распределение
преследователей по группам. Число ij
означает номер цели, которую преследует
i-й преследователь, },...,2,1{ mi ,
},...,2,1,0{ nji ; если 0ij , то i-й пре-
следователь не принимает участия в по-
гоне. Обозначим )(Jt j
оптимальное вре-
мя преследования в j-й группе (относя-
щейся к j-й цели). Пусть натуральное чис-
ло )(Jk j равно количеству преследовате-
лей в j-й группе. Задачу оптимизации
групп преследования можно записать сле-
дующим образом:
min,)(max
,...,2,1 J
j
nj
Jt
(10)
)2()1(
)( jjj kJkk , nj ,...,2,1 . (11)
Здесь
)2()1(
, jj kk задают соответственно ми-
нимально возможное и максимально воз-
можное число преследователей в j-й
группе.
Входными данными этой задачи
являются координаты на плоскости всех
игроков в начале игры, их максимальные
скорости, числа )1(
jk ,
)2(
jk , m, n. Считаем,
что входные данные представляют собой
целые числа; максимальные скорости и
числа )1(
jk ,
)2(
jk , m, n считаются положи-
тельными. Предполагаем, что система
ограничений (11) совместна, т. е. выпол-
няются соотношения )2()1(
jj kk ,
nj ,...,2,1 ;
n
j jkm
1
)1(
.
Задачу (10), (11) назовем ОПТИ-
МИЗАЦИЯ ГРУПП ПРЕСЛЕДОВАНИЯ
(сокращенно ОГП). В задаче требуется
найти оптимальное значение вектора J,
состоящего из целых чисел. Поскольку
входные данные также являются целыми
числами, то имеет смысл вопрос о том,
какова алгоритмическая сложность задачи
ОГП. В работе [3] доказана следующая
теорема.
Теорема. Задача ОГП – NP-трудная
в сильном смысле.
Заметим, что в [3] эта теорема до-
казана при условии, что },...,2,1{ nji (все
преследователи назначаются на цели).
Однако такая задача тривиальным обра-
зом сводится по Тьюрингу к рассматри-
ваемой здесь задаче ОГП. Поэтому теоре-
ма остается справедливой при условии
},...,2,1,0{ nji .
Задача ОГП – NP-трудная в силь-
ном смысле уже в случае, когда для каж-
дого убегающего необходимо назначить
ровно двух преследователей.
Из приведенной теоремы можно
сделать выводы о том, какие методы сле-
дует применять для решения задачи ОГП.
В общем случае задача ОГП не может
быть решена полиномиальным или псев-
дополиномиальным алгоритмом (при
условии P NP). Для решения подобных
задач применяются эвристические алго-
ритмы, методы полного перебора, ветвей
и границ, случайного поиска с локальной
оптимизацией.
Прикладні засоби програмування та програмне забезпечення
78
3. Методы оптимизации групп
преследования
Опишем методы поиска оптималь-
ного решения J задачи ОГП: метод
ветвей и границ и методы случайного
поиска с локальной оптимизацией. Изло-
жение общих схем этих методов имеется
в [10].
Метод ветвей и границ в процес-
се работы разбивает все множество до-
пустимых решений задачи ОГП на под-
множества. Каждое подмножество реше-
ний определяется вектором J, отождеств-
ляющимся с некоторой вершиной дерева
ветвления. Корневой вершине дерева со-
ответствует множество всех допустимых
решений; все компоненты соответст-
вующего вектора J равны нулю. Листу
дерева соответствует одно допустимое
решение задачи ОГП.
В процессе ветвления вершина
дерева, не являющаяся листом, порождает
несколько вершин. Считаем, что в
исходной вершине (не являющейся корнем
дерева) полностью сформированы группы
преследования для целей с номерами
1,2,…, 0n , где )(00 Jnn , nn 01 .
Порожденная вершина отличается тем, что
в ней полностью сформирована группа
преследования для )1( 0 n -й цели.
Рассмотрим пример. Пусть для задачи
ОГП выполняются условия 4m , 2n ,
1
)1(
2
)1(
1 kk , 2
)2(
2
)2(
1 kk . Корневая
вершина )0,0,0,0(J порождает десять
вершин )0,0,0,1( , )0,0,1,0( , )0,1,0,0( ,
)1,0,0,0( , )0,0,1,1( , )0,1,0,1( , )1,0,0,1( ,
)0,1,1,0( , )1,0,1,0( , )1,1,0,0( . Первая из этих
вершин означает, что для поимки первой
цели сформирована группа, состоящая из
одного преследователя (первого). Послед-
няя вершина означает, что группу для
первой цели составляют третий и четвер-
тый преследователи. Первая вершина
)0,0,0,1( порождает шесть вершин
)0,0,2,1( , )0,2,0,1( , )2,0,0,1( , )0,2,2,1( ,
)2,0,2,1( , )2,2,0,1( , являющихся листьями.
Последний лист )2,2,0,1( означает, что на
первую цель назначен первый преследо-
ватель, а вторую цель преследует группа,
состоящая из третьего и четвертого
преследователей. Заметим, что число 0n
равно значению максимальной компо-
ненты вектора J.
В процессе работы метода ветвей и
границ для вершин, не являющихся
листьями, вычисляются оценки )(00 Jtt ,
)(11 Jtt , )(22 Jtt .
Оценка 0t для вершины J строится
следующим образом. Пусть },...,2,1{ 0n –
множество целей, для которых вектором J
сформированы группы преследования,
},...,,{ 21 siii – множество всех задейство-
ванных преследователей. Из этих мно-
жеств образуем новую задачу ОГП в
форме (10), (11), заменяя число m числом
s, а число n числом 0n . Найдем
допустимое, близкое к оптимальному
решение J этой задачи, применяя
алгоритм локальной оптимизации 0A ,
который описан далее. Значение целевой
функции в точке J выбирается в качестве
оценки 0t . Ясно, что при условии
)(max
0,...,2,1
0 Jtt j
nj
множество допустимых
решений, определяемое вектором J, не
содержит оптимального решения и вер-
шину J можно исключить из рассмот-
рения.
Величина 1t – оценка снизу значе-
ния целевой функции (10) на множестве
допустимых решений, заданных вектором
J. Она вычисляется следующим образом.
Для каждой цели j из множества
},...,2,1{ 00 nnn выбираем группу пре-
следователей из числа незадействованных
такую, что выполняются условия (11) и
время захвата
jt принимает минимальное
значение. Полагаем
},...,,),(max{ 211 00
nnn tttJtt .
Величина 2t – оценка сверху зна-
чения целевой функции (10) на множестве
допустимых решений, заданных вектором
J. Она получается следующим образом.
Используя множество незадействованных
преследователей, вектор J преобразуем в
Прикладні засоби програмування та програмне забезпечення
79
допустимый вектор задачи ОГП с по-
мощью эвристического алгоритма 1A ,
формирующего оставшиеся несформиро-
ванными группы преследователей с
номерами nnn ,...,2,1 00 . Этот алгоритм
описан далее. Затем выполняем алгоритм
0A локальной оптимизации, в результате
работы которого получаем точку ло-
кального минимума J , представляющую
собой допустимое решение задачи ОГП.
Значение целевой функции (10) в точке J
принимаем в качестве оценки 2t .
Текущее множество векторов J,
рассматриваемых методом, обозначим Q.
Пусть J – оптимальное решение задачи
ОГП, t – оптимальное значение целевой
функции. Обозначим 1)()( 011 JnJnn .
Метод ветвей и границ состоит из
следующих шагов.
1. Полагаем )0,...,0(J , )(2 Jtt ,
JJ , где J – точка локального мини-
мума, соответствующая значению )(2 Jt .
2. Если множество Q пусто, то
вычисления прекращаем; величина t
равна минимуму общего времени
преследования, а соответствующий ей
вектор J определяет оптимальное
распределение преследователей по
группам.
3. Из множества Q выбираем вектор
J с минимальным значением )(1 Jt . Вектор
J удаляем из множества Q. Если вы-
полняется соотношение tJt )(1 , пере-
ходим к шагу 2.
4. Выполняем шаг ветвления. Век-
тор J преобразуем во множество векторов
},...,,{ 21 rJJJR следующим образом. Из
всех незадействованных преследователей
составляем всевозможные группы
преследования для цели с номером 1n ,
удовлетворяющие условиям (11). Пусть
количество таких групп равно r. Каждая
группа представляет собой множество
номеров преследователей },...,,{ 21 kiii .
Используя вектор J и s-ю по порядку
группу преследования },...,,{ 21 kiii , об-
разуем вектор sJ из множества R. Ком-
поненты вектора sJ равны компонентам
вектора J, за исключением того, что
компоненты с номерами kiii ,...,, 21 вектора
sJ равны числу 1n .
5. Предположим, nn 1 (все группы
сформированы). Для каждого вектора sJ
из множества R вычисляем значение
)(max)(
,...,2,1
sj
nj
s JtJt
целевой функции
(10) и, если это значение меньше t , вы-
полняем присвоения )( sJtt , sJJ .
Переходим к шагу 2.
6. Предположим, nn 1 . Для каж-
дого вектора sJ из множества R выпол-
няем следующие действия.
6.1. Если согласно вектору sJ
число незадействованных преследователей
меньше нужного количества, требуемого
ограничениями (11), удаляем вектор sJ из
множества R.
6.2. Если )(max)(
1,...,2,1
0 sj
nj
s JtJt
,
удаляем вектор sJ из множества R.
6.3. Если )(max)(
1,...,2,1
2 sj
nj
s JtJt
,
удаляем вектор sJ из множества R. Если
tJt s )(2 , полагаем )(2 sJtt , sJJ ,
где sJ – точка локального минимума,
соответствующая значению )(2 sJt .
6.4. Если tJt s )(1 , удаляем вектор
sJ из множества R.
Все оставшиеся во множестве R
векторы добавляем к множеству Q. Пере-
ходим к шагу 2. □
Алгоритм локальной оптимиза-
ции 0A , использующий начальное допус-
тимое решение J задачи ОГП, состоит из
следующих шагов.
1. Находим номер 0j группы, время
преследования в которой максимально
среди всех групп.
Прикладні засоби програмування та програмне забезпечення
80
2. Поочередно для групп ,...,2,1j
njj ,...,1,1 00 выполняем следующее.
Пусть },...,,{
0002010 kiiiI – множество
преследователей, составляющих группу
0j , а },...,,{
1112111 kiiiI – множество
преследователей, составляющих группу j.
Перераспределяя преследователей
множества 10 II между группами 0j и j
всеми возможными способами, удовлетво-
ряющими ограничениям (11), образуем
множество пар групп. В каждой паре пер-
вая группа преследует цель 0j , а вторая –
цель j. Пусть время преследования в пер-
вой группе равно 0t , а во второй – 1t . Вы-
берем пару, в которой общее для обеих
групп время преследования ),max( 10 ttt
минимально. Пусть первая группа образо-
вана множеством преследователей 2I
},...,,{
222221 kiii , а вторая – множеством
},...,,{
3332313 kiiiI ; при этом 10 II
32 II . Если время t меньше времени
преследования в исходной группе 0j , то
группу 0I заменим группой 2I , а группу
1I заменим группой 3I . Произведем соот-
ветствующие изменения в векторе J и
перейдем к шагу 1.
Если не найдена группа j,
позволяющая уменьшить максимальное
время преследования в группах 0j и j,
вычисления прекращаем. □
Рассмотрим эвристический алго-
ритм 1A построения близкого к оптималь-
ному допустимого решения задачи ОГП.
Предполагается, что имеется начальный
вектор J, в котором первые 0n групп
преследования уже сформированы. Алго-
ритм 1A формирует только группы пресле-
дования nnn ),...,2(),1( 00 . В частности,
возможно 00 n , т. е. алгоритм форми-
рует все группы. Алгоритм 1A состоит из
следующих шагов.
1. Просматриваем все группы от
)1( 0 n -й до n-й. Если в j-й группе число
преследователей меньше величины
)1(
jk ,
входящей в (11), то в эту группу
добавляется незадействованный преследо-
ватель, обеспечивающий наибольшее
уменьшение времени преследования в
группе. В модифицированной таким
образом группе время преследования
определяется согласно формуле (9). Шаг 1
выполняется до тех пор, пока имеется хотя
бы одна цель j, число преследователей
которой меньше, чем )1(
jk .
2. Просматриваем все группы от
)1( 0 n -й до n-й. Если в j-й группе число
преследователей меньше величины
)2(
jk ,
входящей в (11), то в эту группу
добавляется незадействованный преследо-
ватель, обеспечивающий наибольшее
уменьшение времени преследования в
группе. Шаг 2 выполняется до тех пор,
пока имеется хотя бы одна цель j, число
преследователей которой меньше, чем
)2(
jk , и есть незадействованные пресле-
дователи. □
Метод случайного поиска с
локальной оптимизацией состоит из
следующих шагов.
1. Случайным образом формируем
допустимое решение J задачи ОГП.
Используя решение J в качестве началь-
ного, с помощью алгоритма локальной
оптимизации 0A вычисляем локальный
оптимум J .
2. Из всех полученных локальных
оптимумов J запоминаем наилучший.
Если выполняется критерий останова,
прекращаем вычисления, иначе переходим
к шагу 1. □
На шаге 1 решение J выбирается
согласно равномерному (или близкому к
нему) распределению вероятностей на
множестве допустимых решений.
В качестве критерия останова
можно выбрать достижение заранее за-
данного числа повторения шага 1 или
достижение заранее заданного числа ша-
гов, на протяжении которых наилучшее
достигнутое значение целевой функции не
изменяется.
Прикладні засоби програмування та програмне забезпечення
81
4. Результаты численных
экспериментов
Рассмотрим результаты численных
экспериментов с методами полного пере-
бора, ветвей и границ, случайного поиска с
локальной оптимизацией. Ограничимся
случаем, когда в каждой группе преследо-
вания допускается участие не более двух
преследователей, т. е. справедливы соот-
ношения
21
)2()1(
jj kk , nj ,...,2,1 . (12)
Для этого имеются две причины. Во-
первых, в задачах преследования на плос-
кости такой численный состав групп
представляется актуальным. Во-вторых,
в случае, если число преследователей
в группе больше двух, алгоритм расчета
оптимального времени согласно соотно-
шению (9) известен не для всех способов
взаимного расположения преследователей
и цели.
Оценим количество допустимых
решений задачи ОГП при условиях (12).
Пусть число 1N равно количеству допу-
стимых решений при условиях 1
)1(
jk ,
1
)2(
jk , nj ,...,2,1 ; число 2N равно ко-
личеству допустимых решений при усло-
виях 2
)1(
jk , 2
)2(
jk , nj ,...,2,1 ; число
3N равно количеству таковых при услови-
ях 1
)1(
jk , 2
)2(
jk , nj ,...,2,1 . Нетрудно
вывести формулы
)!(
!
1
nm
m
N
,
nnm
m
N
2)!2(
!
2
,
n
j jnjnm
m
N
03
2)!2(
!
.
Значения величин 1N , 2N , 3N при
некоторых значениях m и n приведены в
табл. 1.
Вычислительные эксперименты
проводились на персональном компьютере
с процессором Pentium® Dual-Core 2,5
GHz. Задачи ОГП формировались случай-
ным образом. При этом все координаты (т.
е. x или y) целей и преследователей счита-
лись независимыми случайными величи-
нами, равномерно распределенными на
отрезке [–1;1]. Величины скоростей целей
и преследователей считались независимы-
ми случайными величинами, равномерно
распределенными на отрезках [1; 1,9] и [2;
2,9] соответственно.
Задачу ОГП при условиях 10m ,
5n , 1
)1(
jk , 2
)2(
jk , nj ,...,2,1 , метод
полного перебора решил за 2,5 сек. про-
цессорного времени. При условиях 12m ,
6n , 1
)1(
jk , 2
)2(
jk , nj ,...,2,1 , этим
методом для решения использовано боль-
ше, чем 5 минут. Эти данные и табл. 1 поз-
воляют приблизительно оценить количе-
ство времени, необходимое для работы ме-
тода полного перебора. Метод пригоден
только для задач малой размерности и зна-
чительно уступает методу ветвей и границ
по скорости.
В табл. 2 приведены характери-
стики работы метода ветвей и границ в
зависимости от количества участников.
Для каждой пары значений m и n реше-
но сто задач ОГП, после чего вычислены
данные, приведенные в табл. Символами
E, M, обозначены соответственно
среднее время решения задачи, макси-
мальное время решения задачи и стан-
дартное отклонение времени решения в
секундах. Символом S обозначено среднее
число решений, помещенных методом
ветвей и границ во множество Q в про-
цессе решения задачи.
Вычислительные эксперименты го-
ворят о том, что среднее время решения
задачи ОГП методом ветвей и границ
быстро растет с ростом чисел m и n, что
подтверждается данными табл. 2. Величи-
ны M и , приведенные в данной таблице,
свидетельствуют о нестабильном характе-
ре работы метода. При фиксированных
значениях величин m и n время решения
задачи сильно зависит от входных данных
и колеблется в широких пределах.
Прикладні засоби програмування та програмне забезпечення
82
В табл. 3 приведены результаты ис-
пытаний метода случайного поиска с ло-
кальной оптимизацией, описанного в раз-
деле 3. Для каждой пары значений m и n
решено сто задач ОГП. Для каждой задачи
методом ветвей и границ вычислялось
точное оптимальное значение целевой
функции t . Затем эта же задача решалась
методом случайного поиска с локальной
оптимизацией.
Пусть 0C – количество шагов, вы-
полненных методом случайного поиска с
локальной оптимизацией в процессе реше-
ния задачи ОГП, т. е. количество выпол-
ненных шагов 1 данного метода. Пусть
1C – суммарное количество выполненных
алгоритмом локальной оптимизации 0A
шагов 1 этого метода в процессе решения-
задачи ОГП. Далее символами 0E , 0M ,
0 обозначены соответственно среднее,
максимальное значение и стандартное от-
клонение величины 0C , а символами 1E ,
1M , 1 обозначены аналогичные характе-
ристики величины 1C .
Данные табл. 3 показывают, что
для получения оптимального решения
методу случайного поиска с локальной
оптимизацией достаточно небольшого
количества итераций. Количество ис-
пользованного процессорного времени
по сравнению со временем метода ветвей
и границ незначительно. Стабильность
работы этого метода по сравнению с ме-
тодом ветвей и границ выше, так как ве-
личины ii E/ меньше величин E/ из
табл. 2.
Опишем еще один вычислитель-
ный эксперимент. Случайным образом
генерировались задачи ОГП при условии
nm 2 . После этого для каждой задачи
координаты n преследователей полага-
лись равными координатам целей, так что
оптимальное значение целевой функции
каждой задачи ОГП оказывалось равным
нулю. Задачи решались методом случай-
ного поиска с локальной оптимизацией.
Для каждой пары значений m и n решено
сто задач ОГП. Отличие от предыдущего
эксперимента заключается в больших
значениях чисел m и n, при которых ре-
шить задачу методом ветвей и границ не
удается. Результаты приведены в табл. 4.
Данные табл. 4 говорят о стабильной ра-
боте метода при указанных размерностях
задач. Во всех случаях найдено опти-
мальное решение. Среднее время решения
одной задачи при условиях 400m ,
200n равно 1,0 сек.
Из результатов экспериментов
можно сделать вывод о высокой точности
и скорости метода случайного поиска с
локальной оптимизацией даже при значи-
тельных размерностях решаемых задач
ОГП.
Таблица 1. Зависимость количества допустимых решений задачи ОГП от чисел m и n
№ m n 1N 2N 3N
1 10 5 30240 113400 824040
2 12 6 665280 7484400 5.5×10
7
3 14 7 1.7×10
7
6.8×10
8
5.0×10
9
4 16 8 5.1×10
8
8.1×10
10
6.0×10
11
5 18 9 1.7×10
10
1.2×10
13
9.2×10
13
6 20 10 6.7×10
11
2.3×10
15
1.7×10
16
7 100 50 3.0×10
93
8.2×10
142
6.1×10
143
Прикладні засоби програмування та програмне забезпечення
83
Таблица 2. Зависимость времени решения задачи ОГП методом ветвей и границ
от чисел m и n
№ m n E M S
1 12 6 0.2 8.3 0.9 1069
2 13 6 0.4 13.6 1.5 1225
3 13 7 1.0 27.7 3.6 4072
4 14 7 4.5 108.3 15.7 13262
Таблица 3. Зависимость количества итераций метода случайного поиска с локальной
оптимизацией от чисел m и n
№ m n 0E 0M 0 1E 1M 1
1 12 6 1.3 6 0.8 10.4 50 7.9
2 13 6 2.2 17 2.5 18.1 150 22.9
3 13 7 1.9 15 2.2 18.3 196 26.6
4 14 7 1.5 17 1.8 15.8 217 22.2
Таблица 4. Зависимость трудоемкости метода случайного поиска с локальной
оптимизацией от чисел m и n
№ m n 0E 0M 0 1E 1M 1
1 100 50 2.2 12 2.2 501.0 2493 452.1
2 200 100 5.0 32 5.4 2650.2 15573 2748.7
3 400 200 38.1 275 51.0 46769.2 327643 61905.4
5. Применение оптимизации
групп преследования в
программной системе
”Навигация”
Программная система ”Навигация”
предназначена для моделирования пове-
дения множества реактивных агентов в
сложной динамической среде. В частно-
сти, система позволяет решать задачи оп-
тимизации преследования на плоскости, в
том числе оптимизировать состав групп
преследования. Приведем пример вычис-
ления оптимальных траекторий и групп
преследования. Предположим, имеется
четыре преследователя и два убегающих.
Скорости преследователей превышают
скорости убегающих. Считаем, что в каж-
дой группе количество преследователей
должно быть не меньше одного и не
больше двух. Следует решить задачу ОГП
в форме (10), (11) при условиях 4m ,
2n , 1
)1(
jk , 2
)2(
jk , 2,1j .
На рисунке два убегающих распо-
ложены выше четырех преследователей.
Оптимальные траектории игроков при-
надлежат прямым линиям. В каждой
группе объекты двигаются с максималь-
ными скоростями по направлению к точ-
ке X , которая является наиболее уда-
ленной от убегающего игрока точкой
в пересечении кругов Аполлония (см.
раздел 1).
Прикладні засоби програмування та програмне забезпечення
84
Рисунок. Оптимальные траектории преследования и убегания
Заключение
В данной работе рассмотрены игры
преследования на плоскости с простым
движением, в которых принимают участие
несколько преследователей и убегающих.
Считается, что количество преследовате-
лей больше числа убегающих, и скорости
преследователей больше скоростей убега-
ющих.
Для захвата целей множество пре-
следователей разбивается на группы, при-
чем для каждого убегающего создается
одна группа. После захвата цели все пре-
следователи группы и убегающий выбы-
вают из игры. Считается, что в каждой
группе игроки используют оптимальные
стратегии. В качестве критерия использу-
ется время захвата.
Приведена теорема о NP-трудности
задач оптимизации групп преследования.
Эти задачи являются NP-трудными в
сильном смысле уже в случае, когда для
каждого убегающего необходимо назна-
чить ровно двух преследователей. На ос-
нове этой теоремы сделаны выводы о том,
какие методы следует применять для ре-
шения задачи оптимизации групп пресле-
дования.
Описаны методы ветвей и границ и
случайного поиска с локальной оптимиза-
цией. Выполнены численные эксперимен-
ты, на основании которых сделаны выво-
ды о высокой скорости и точности метода
случайного поиска с локальной оптимиза-
цией для рассматриваемых задач.
1. Айзекс Р. Дифференциальные игры. – М.:
Мир, 1967. – 480 с.
2. Marcos A. M. Vieira and Ramesh Govindan
and Gaurav S. Sukhatme. "Scalable and
Practical Pursuit-Evasion with Networked
Robots" // Journal of Intelligent Service
Robotics. Special Issue on Networked Robots.
– 2009. – N 2. – P. 247–263.
3. Пашко С.В. Сложность задач оптимизации
преследования на плоскости // Проблемы
управления и информатики. – 2013. – № 3.
– С. 27–39.
4. Чикрий А.А. Конфликтно управляемые
процессы. – Киев: Наук. думка, 1992. –
384 с.
5. Иванов Р.П., Ледяев Ю.С. Оптимальность
времени преследования в дифферен-
Прикладні засоби програмування та програмне забезпечення
85
циальной игре многих объектов с
простыми движениями // Труды МИАН
СССР. – 1981. – 158. – C. 87–97.
6. Рихсиев Б.Б. Дифференциальные игры с
простыми движениями. – Ташкент: ФАН,
1989. – 232 с.
7. Ибрагимов Г.И., Рихсиев Б.Б. О некоторых
достаточных условиях оптимальности
времени преследования в дифферен-
циальной игре со многими пресле-
дующими // Автоматика и телемеханика. –
2006. – № 4. – С. 16–24.
8. Петросян Л.А., Томский Г.В. Геометрия
простого преследования. – Новосибирск:
Наука, 1983. – 140 с.
9. Пашко С.В. Квазиоптимальные стратегии в
дифференциальных играх преследования
на плоскости // Проблемы управления и
информатики. – 2012. – № 6. – С. 30– 43.
10. Пападимитриу Х., Стайглиц К.
Комбинаторная оптимизация // Алгоритмы
и сложность. – М.: Мир, 1985. – 510 с.
Получено 04.02.2013
Об авторах:
Пашко Сергей Владимирович,
кандидат физико-математических наук,
старший научный сотрудник,
Яловец Андрей Леонидович,
доктор технических наук,
заместитель директора института.
Место работы авторов:
Институт программных систем
НАН Украины,
03187, Киев-187,
проспект Академика Глушкова, 40.
Тел.: (044) 526 6025,
E-mail: pashko55@yahoo.com
Тел.: (044) 526 1538,
E-mail: yal@isofts.kiev.ua
mailto:pashko55@yahoo.com
mailto:yal@isofts.kiev.ua
|