УДК 519.6
А. И. Дивеев1'2, С. В. Константинов2
Федеральный исследовательский центр «Информатика и управление» Российской академии наук 2Российский университет дружбы народов
Исследование эволюционных алгоритмов для решения задачи оптимального управления
Приведен экспериментальный анализ наиболее популярных эволюционных и градиентных алгоритмов для решения задачи оптимального управления. Для корректного сравнения в градиентные методы включен многоточечный поиск, и параметры алгоритмов подобраны так, чтобы все алгоритмы в процессе поиска вычисляли целевую функцию приблизительно одинаковое количество раз. Вычислительный эксперимент проведен на решении задачи оптимального управления мобильным роботом с четырьмя фазовыми ограничениями. В качестве критериев сравнения алгоритмов использованы лучшее найденное значение целевой функции, среднее значение и среднеквадратичное отклонение.
Ключевые слова: оптимальное управление, эволюционные вычисления, алгоритм ADAM, метод роя частиц, пчелиный алгоритм.
A. I. Diveev1'2, S. V. Konstantinov2
1Federal Research Center «Computer Science and Control», Russian Academy of Sciences 2Peoples' Friendship University of Russia (RUDN University)
Study of evolutionary algorithms for the optimal control
problem
Experimental analysis of the most popular evolutionary and gradient-based algorithms for the optimal control problem is presented. For correct comparison, the multisolution search is included in the gradient-based methods and the parameters of all algorithms are chosen so that the number of fitness function calculations in the search process by each algorithm is approximately equal. The computational experiment of the optimal control search with four phase constraints is carried out using mobile robot model. As criteria for comparison of algorithms the best found value of the fitness function, the mean value and standard deviation are used.
Key words: optimal control, evolutionary computations, ADAM method, particle swarm optimization, bees algorithm.
1. Введение
Основной подход к численному решению задачи оптимального управления состоит в редукции к задаче нелинейного программирования [1]. Следует отметить некоторые особенности данного подхода. В полученной в результате редукции задаче нелинейного программирования вычисление одного значения целевой функции требует интегрирования системы дифференциальных уравнений, что в большинстве прикладных задач занимает гораздо больше времени, чем преобразование искомого вектора на итерации в процессе поиска. Отсюда следует, что сложность алгоритма в задачах оптимального управления
© Дивеев А. И., Константинов С. В., 2017
© Федеральное государственное автономное образовательное учреждение высшего образования «Московский физико-технический институт (государственный университет)», 2017
целесообразнее оценивать по количеству вычислений значений целевой функции, а не по количеству поисковых итераций. Заметим, что в градиентных методах на одной итерации количество вычислений целевой функции равно размерности искомого вектора, а в методах второго порядка - квадрату размерности. Часто в прикладных задачах оптимального управления вычисление одного элемента Гессиана занимает намного больше времени, чем вычисление обратной матрицы для всего Гессиана. Второй важной особенностью задачи оптимального управления является отсутствие сведений о топологических свойствах целевой функции в пространстве искомых параметров. Если целевая функция содержит большое количество локальных экстремумов, то методы нелинейного программирования будут скорее всего находить локальные экстремумы, значение которых не дает информацию о месте расположения глобального оптимума в пространстве искомых параметров. Третьей особенностью поиска численного решения задачи оптимального управления является высокая размерность пространства искомых параметров. Простейшая редукция задачи оптимального управления к задаче нелинейного программирования состоит в дискретизации компонент вектора управления по времени. При таком подходе чем больше точек дискретизации. тем точнее численное решение задачи оптимального управления, но тем больше размерность пространства искомых параметров. Достаточно сложно определить топологические свойства целевой функции, каждое значение которой вычисляется интегрированием системы дифференциальных уравнений, в пространстве большой размерности, равной произведению количества точек дискретизации и размерности вектора управления. Применение для численного решения задачи оптимального управления методов глобальной оптимизации [2] требует покрытия пространства поиска областями и их перебора для анализа. Количество областей с г точками разбиения по каждой оси в пространстве размерности р равно величине (г + 1)р. Заметим, что «неподъемная» для перебора на любой вычислительной машине с любым распараллеливанием величина 2100 соответствует одной точке разбиения на каждой оси в пространстве искомых параметров размерности 100, которая может быть получена дискретизацией по времени всего пятьюдесятью точками вектора управления из двух компонент.
В конце XX века появились эволюционные алгоритмы, которые создаются до сих пор и имеют достаточно экзотические названия [3]. С вычислительной точки зрения все эволюционные алгоритмы имеют два общих признака: они используют первоначальное множество возможных решений, которое генерируется, как правило, случайно, далее на последующих этапах выполняется изменение или эволюция этого множества за счет создания новых возможных решений на основе использования информации о ранее вычисленных значениях целевой функции для элементов множества возможных решений. При данном определении эволюционных алгоритмов все градиентные методы возможно преобразовать к эволюционным, если использовать в них начальное множество возможных решений, так как для получения нового возможного решения требуется вычисление значения градиента, которые включает вычисление значения целевой функции для текущего возможного решения.
В настоящей работе мы сравниваем наиболее популярные эволюционные и многоточечные градиентные алгоритмы на примере решения одной прикладной задачи оптимального управления, наибыстрейшего перемещения мобильного робота из одной точки плоскости в другую с учетом четырех фазовых ограничений.
2. Задача оптимального управления
Рассмотрим задачу оптимального управления в наиболее часто используемой для численных решений постановке:
х = Г(х, и).
где х е Мп, х = [ х1 ... хп }т — вектор состояния, и е Мт, и = [ и1 ... ит }т -вектор управления, Г(х, и) = [ /1(х, и) ... /п(х, и) ]т.
Заданы ограничения на управление:
u ^ u ^ u
+
где u , u1 — заданные постоянные векторы ограничении, u =
i+ u+ ]T
- IT
um ]
u+ = [ u+ ... um .
Заданы начальные условия:
x(0) = x°,
где x° — заданный вектор начальных значении, x°
x° x {
ХП
°]T n]
Заданы терминальные условия: f
x
(tf )
= xf
где X — заданный вектор терминального состояния, х ченное время процесса управления:
f=
[ x{ ... Xfn]T , tf
ограни-
, _ . t, если I и \\х^) — х?|| ^ е, * ' t+ — иначе,
где t+, е — заданные положительные величины, норма разности векторов может выбираться из особенностей задачи, для модели объекта с соизмеримыми компонентами вектора состояния целесообразно выбрать евклидову норму:
\x(t) - xf || =
\
X>(t) - xf )2.
i={
Заданы фазовые ограничения:
hi(x) ^ 0, i = l,...,r.
Задан функционал качества:
ftf r
J = \\x(tf) - xf \\ + / (f°(x, u) + V \iti(hi(x))hi(x))dt ^ min,
°
i={
где ai — заданные коэффициенты штрафа, i = l,...,r, $(A) — функция Хэвисайда:
$(A) =
1, если A > 0, 0 иначе.
Результатом решения задачи оптимального управления является вектор управления с компонентами в форме функций времени й(-) _ [ 11\(-) ... ит(■) ]Т, поэтому данная задача относится к классу задач бесконечномерной оптимизации. Для применения к решению задачи оптимального управления методов нелинейного программирования необходимо аппроксимировать искомые функции щ (■), г _ 1,...,т, функциональными зависимостями от конечного числа параметров. Для этой цели часто используют полиномы, ортогональные ряды или кусочно-функциональную аппроксимацию.
Приведем редукцию задачи оптимального управления к задаче нелинейного программирования с помощью кусочно-линейной аппроксимации. Зададим малый интервал At > 0 и определим количество интервалов:
M =
At
Значение управления u(t) = [ U{(t) ношения
U(t) =
Um(t) ]T в момент времени t определяем из соот-
если q(t,j,i, At) < u-, если q(t,j,i, At) > u+,
q(t,j, i, At) — иначе,
u
з
где iAt ^ t < (i + 1)At,
(t - (i - 1)At)
q(t,j,i,At) = q(j-i)M+i + (q(j-i)M+i+i - q(j-i)M+i)
At
г = 1,..., М, у = 1,...,т.
В результате поиск управления в задаче оптимального управления заменяем поиском вектора постоянных параметров
Я = [ 91 ... Яр ]Т,
где р = т(М + 1).
При поиске значения параметров ограничиваем
9- < 9 < 9+, г = 1,...,р,
где Я- , 9+ — заданные значения ограничений на параметры, Я- ^ и-/(м+1)]+1' и+Км+1)]+1 ^ 9+, г = 1,...,Р, А] — целая часть числа А.
3. Численные методы решения задач оптимального управления
Для решения задачи оптимального управления используем многоточечные градиентные методы и популярные эволюционные алгоритмы. Для градиентных и эволюционных методов первоначально генерируем множество возможных решений:
Qo = {q°'1 ,...,q0H }, (1)
где q°.< = [ q°°'i ... q0/ ]T,
j = £(q+ -q-) + q-, i = i,...,H,j = i,...,p, (2)
величина H зависит от алгоритма и определяется по общему количеству вычислений значений целевой функции в процессе поиска, £ — случайная равномерно распределенная в интервале от 0 до 1 величина. Среди градиентных методов используем известные методы [4]: наискорейшего градиентного спуска, метод Ньютона-Рафсона, метод Марквардта и новый метод ADAM, который был предложен в 2015 году [5] для решения задачи обучения больших искусственных нейронных сетей. Приведем описание метода ADAM. После генерации начального множества возможных решений (1), (2) задаем векторы m = [ 0 ... 0]T и v = [ 0 ... 0]T размерностью p. Задаем параметры алгоритма: малые величины ei
и e2, максимальное число итераций W, константы a ~ 0.001, Д ~ 0.9, ^2 ~ 0.999, счет-
г т T
чик итераций w = 1. Вычисляем градиент целевой функции VJ(q) = Вычисляем новые значения векторов m и v по формулам
dJ dJ\2
dqi ' ' ' dq
p
mi ^ fiimi + (1 - ei) dq.,Vi ^ ^2Vi + (1 - в2 ) ^ dq.) , i = 1,...,p.
Формируем вектор s = [ si ... sp]T по формуле
Ami . л Si =-:—, i = 1,...,p,
ei + yV
/i—в w
где A = a i_, w G [1; W] — номер текущей итерации. Вычисляем значение нового
вектора параметров:
qra = q - s.
Проверяем выполнение условий: если условие — qn|| < £2 выполнено, то достигнута заданная точность, завершаем вычисления; если условие и> = Ш выполнено, то достигнуто максимальное число итераций и завершаем вычисления; если оба условия не выполнены, то q ^ qra; и> ^ и> + 1. Среди эволюционных методов используем генетический алгоритм [6, 7], метод роя частиц [8] и пчелиный алгоритм [9,10]. Приведем описание метода роя частиц и пчелиного алгоритма, которые не так популярны, как генетический алгоритм. В методе роя частиц на подготовительном этапе задаем размер множества возможных решений Н, размер подмножества информаторов N, максимальное число итераций Ш. Генерируем начальное множество векторов параметров qj = [ д— ... др]т , у = 1,...,Н, по формулам (1), (2). Задаем начальный вектор V7 = [ у— ... ур]т направления изменения векторов параметров:
у7 =0, г = 1,...,р, у = 1,...,Н.
Эволюционный процесс поиска оптимального решения продолжаем до достижения максимального числа итераций Ш. На каждой итерации производим вычисление вектора qb. доставляющего лучшее значение функционала
3 ^ь) = шт{3 ^) : у = 1,...,Н},
-
и вычисление опорного вектора qjг, являющегося лучшим среди N случайно отобранных векторов qj1,..., q-w:
3) = шт{ 3) : к = 1,...,Щ,
к
где ]!,..., уN — случайные целые числа в диапазоне от 1 до Н .С учётом найденных лучшего qb и опорного qjг векторов строим новое значение вектора V7 для каждого вектора параметров qj:
у7 ^ ау7 + Се{д\— д{) + ^{д—г — д{), г = 1,...,p, у = 1,...,H,
где а, в, 7 — заданные параметры, значение которых подбирают в зависимости от решаемой задачи, Св € [0; в] и Су € [0; 7] — случайные величины. Для каждого вектора параметров qj вычисляем новый вектор qj = [ д— ... др ]т по формуле
д-, если д7 + 5у7 < д-, - = { д+, если д— + ёь1 >д+, , г = 1,...,р, у = 1,..., Н, д7 + 5у- — иначе,
где 5 — заданный параметр, 5 & 1.
Если 3) > 3(а—), то qj ^ qj, у = 1,...,Н. Завершаем вычисления при выполнении Ш итераций. Решением считаем вектор с наилучшим значением целевой функции в итоговом множестве возможных решений.
Пчелиный алгоритм был предложен в 2005 году [10]. В пчелином алгоритме первоначально выявляем определенное число подобластей пространства поиска, в которых значение целевой функции меньше. Данные подобласти исследуем более интенсивно, при этом радиус отбираемых подобластей с каждой итерацией уменьшаем.
В качестве параметров алгоритма задаем размер множества возможных решений Н, максимальное число итераций Ш, количество N элитных возможных решений, N ~ 0.2Н, и количество Ь перспективных возможных решений, Ь ~ 0.5Н, количество Е новых элитных векторов, Е ~ Н, и количество 5 новых отобранных векторов, 5 ~ 0.5Н.
Задаем начальные значения векторов радиусов областей поиска ге = [ т1 ... тр]т и г5 = [ т| ... Г]т , те > 0, т1 > 0, г = 1,...,р.
Генерируем множество векторов параметров qj = [ д- ... др]т , у = 1,...,Н, по формуле (1).
Далее на каждой итерации производим вычисление значений функционала для всех возможных решений 3(я3), у = 1,...,Н, и производим сортировку векторов параметров по возрастанию значения целевой функции
3(я1) < 3(я2) < ... < 3(ЧН).
Отбираем первые N элитных векторов я3, у = 1,...,Ы. Для каждого элитного вектора я3, 1 ^ у ^ N, строим набор из Е векторов ge = [ д\ ... др]т :
9+, если 93 + Се < 9-, де = { 9+ , если + £1 >9+, , г = 1,...,Р, е = 1,...,Е, 91 + £е - иначе,
где £е € [—'ге; ге\ — величина, случайно распределенная на интервале от —гее до г|, ге — заданный вектор радиусов области поиска вокруг элитного вектора параметров, Е — число новых векторов ge в области элитного вектора я3.
Если какой-либо вектор ge доставляет значение функционала лучше, чем вектор я3, то заменяем элитный вектор я3:
если 3^е) < 3(я3), то я3 ^ ge, 3(я3) ^ 3^е), е = 1,...,Е.
Векторы я3, у = N + 1 ,...,Ь называются отобранными.
Производим эволюцию параметров для каждого из отобранных векторов. Для каждого я3, у = N + 1,...,Ь, строим набор из Б векторов gs = [ д1 ... др]т по формуле
9- , если 93 + £| < 9-
3 + £1
д\ = { 9+, если 93 + £| >9+, , 8 = V.. ^ 93г + £1 - иначе,
где £S € [—гS; г|] — величина, случайно распределенная на интервале от —г\ до г?, rs — заданный вектор радиусов области поиска вокруг отобранного вектора параметров.
Если какой-либо вектор gs доставляет значение функционала лучше, чем вектор я3, то его помещаем во множество возможных решений вместо вектора я3:
если 3^) < 3(я3), то я3 ^ gs, 3(я3) ^ 38 = 1,...,Б.
Для остальных векторов я3, у = Ь + 1,...,Н, производим генерацию новых случайных значений по формуле (1).
Далее производим уменьшение радиусов области поиска вокруг элитных и отобранных векторов:
ге ^ аеГе, г\ ^ asГsi, г = 1,...,р,
где ае, as — заданные параметры уменьшения областей поиска, ае ~ 0.95, as ~ 0.95.
Процесс поиска вектора параметров продолжаем до достижения максимального числа итераций Ш. Лучший вектор в итоговом множестве возможных решений считаем решением задачи.
4. Вычислительный эксперимент
Для теста методов выбрана задача оптимального управления мобильным роботом с фазовыми ограничениями.
Задана математическая модель мобильного робота [11,12]:
х 1 = 0.5(и + и2) еов(х3), х2 = 0.5(и1 + и2) 8т(х3), хз = 0.5(и1 — и2),
где х = [ х1 х2 х3 ]т — вектор состояния, и = [ и1 и2 ]т — вектор управления.
Заданы ограничения на управление: —10 ^ u\ ^ 10, —10 ^ ^ 10 условия: ж0 = 10, ж'2 = 10. ж0 = 0. Заданы терминальные условия: ж{ Заданы четыре фазовых ограничения:
hi(x) = 1.5 — yj(xi — 2.5)2 + (ж2 — 2.5)2 < 0, Н2(ж) = 1.5 — л/(ж1 — 7.5)2 + (ж2 — 7Т5)2 < 0, ha (ж) = 3 — ^(ж1 — 2)2 + (ж2 — 8)2 < 0, НА(ж) = 3 — sj(ж1 — 8)2 + (ж2 — 2)2 < 0.
Задан функционал качества:
J = tf + yj ziiWtf) — ж{ )2+
+ Jof (^(Мж^Н^ж) + д(Н2(ж))Н2(ж) + ^(ha(ж))ha(ж) + §(Н4(ж))Н4(ж))ЛЬ — min,
где tf = 1 t+если ^Y^Hs^dt)-f < е
[ t+ — иначе.
Заданы параметры модели: t+ = 2.5, е = 0.01, At = 0.25, M = [4/0.25J = 16, p = 2(M + 1) = 34, q- = —20, q+ = 20, i = 1,.. .,p, X3 = 1, j = 1,...,4.
Необходимо найти управление в виде
{u-, если qi+M(k-i) + (qi+M(k-i)+i — qi+M(fc-i}) (— — i + 1) <u-, u+, если qi+м(k-i) + (q»+M(k-i)+i — qi+м(k-i)K — — i + ^ > u+, qi+м(k-i) + (q»+M(k-i)+i — qi+M(k-i)) (— — i + ^ — иначе,
где iAt ^ t< (i + 1)At, i = 1,...,M, j = M + 1,.. .,2M, к = 1, 2, q- ^ qi ^ q+, i = 1,...,p.
Решением задачи является вектор параметров q = [ qi ... qp ]T.
Для всех методов был проведен вычислительный эксперимент с общим числом вычислений целевого функционала около 130 000. Параметры алгоритмов для экспериментов имели следующие значения: в методе наискорейшего градиентного спуска количество одномерных поисков W = 60, размер множества возможных решений H = 50; в методе Ньютона-Рафсона количество итераций W = 5, H = 10; в методе метод Марквардта W = 10, H = 5; в методе ADAM 5q = 0.0001, ei = 0.0001, е2 = 0.0001, a = 0.001, pi = 0.9, в2 = 0.999, W = 200, H = 16; в генетическом алгоритме H = 256, вероятность мутации 0.7, число бит под целую часть числа 4, под дробную часть 16, число возможных скрещиваний W = 530; в методе роя частиц H = 32, a = 0.7278, в = 0.5, y = 0.1, S = 1, W = 4000; в пчелином алгоритме ae = 0.95, af = 0.95, re = 4, rf = 4, i = 1,...,p, W = 400, H = 30, N = 6, L = 15, E = 30, S = 15.
В эксперименте также использовали случайный поиск, в котором генерировали случайно 130 000 векторов и определяли из них лучший. В каждом эксперименте выполняли по 10 запусков. Результаты эксперимента приведены в табл. 1, где использованы следующие обозначения: GA — генетический алгоритм, PSO — метод роя частиц, BA — пчелиный алгоритм, FGD — метод наискорейшего градиентного спуска, NR — метод Ньютона-Рафсона, MQ — метод Марквардта, AD — метод ADAM, RS — случайный поиск, Ср. — среднее значение, СКО — среднеквадратичное отклонение. Во всех экспериментах определяли наилучшее, среднее и среднеквадратичное значения. В каждой колонке указаны места, занятые алгоритмом по каждому показателю. В последней колонке представлена сумма мест по трем показателям.
По результатам экспериментов по всем трем показателям лучшим оказался пчелиный алгоритм. Все эволюционные алгоритмы нашли решения лучше, чем случайный поиск. Из градиентных алгоритмов многоточечные методы Марквардта и ADAM дали приемлемые результаты по значениям целевой функции.
На рис. 1 представлена траектория движения робота на плоскости для лучшего найденного решения. Значение функционала для полученного возможного решения составляет 2.5100, число вызовов целевой функции — 132 032.
. Заданы начальные = 0, ж{ = 0, ж3 = 0.
Т а б л и ц а 1
Сравнительный анализ результатов эксперимента
Алгоритм Лучший результат Среднее значение СКО Сумма
БЛ 2.5100 1 2.7306 1 0.0911 1 3
РБО 2.5302 2 2.8506 2 0.1827 3 7
ЛБАМ 2.8185 4 3.0375 3 0.1198 2 9
СЛ 2.5304 3 3.0671 4 0.3988 5 12
мд 2.8852 5 3.3991 5 0.3412 4 14
ЕСБ 3.0267 6 3.8374 6 0.6052 7 19
3.3242 7 4.4672 7 0.5515 6 20
6.1135 8 8.3549 8 1.7682 8 24
1- о- 987 654321 01
_ У
\
-1 01 23456759 10 11 Рис. 1. Траектория движения мобильного робота на плоскости
Найденный наилучший вектор параметров имеет следующее значение:
q =[1.8824 —18.5686 —2.7510 —19.4642 18.1277 19.2901 12.7768 —5.6104
—15.9746 —7.3604 —5.5767 16.4129 4.4010 —11.9245 —6.0492 —18.3288 2.8640 —7.8236 —11.8720 —18.2929 15.5538 13.1515 15.1281 —12.5568 —6.5)664 —3.4499 —15.7867 13.4663 4.2882 —4.4374 —16.7430 4.0273 —16.1006 —19.2252 ]т.
5. Заключение
В результате анализа задачи оптимального управления, редуцированной к задаче нелинейного программирования, определены основные особенности и проблемы численного решения задачи оптимального управления методами нелинейного программирования, которые заключаются в сложности вычисления целевой функции, неопределенности топологических свойств целевой функции в пространстве искомых параметров и большой размерностью пространства поиска.
Сравнительный вычислительный эксперимент решения различными эволюционными и многоточечными градиентными алгоритмами задачи оптимального управления с фазовыми ограничениями для математической модели мобильного робота третьего порядка показал, что популярные эволюционные алгоритмы, метод роя частиц, пчелиный алгоритм и
генетический алгоритм дают результаты лучше, чем многоточечные классические градиентные методы при том же количестве вычислений целевой функции. Многоточечный новый градиентный метод ADAM дает результаты, сравнимые с результатами, полученными эволюционными алгоритмами. Лучшим из всех используемых в эксперименте алгоритмов оказался пчелиный алгоритм по всем оцениваемым показателям, наилучшему найденному значению целевой функции, по среднему значению и среднеквадратичному отклонению. Все эволюционные алгоритмы показали значительно лучшие результаты, чем алгоритм случайного поиска при том же количестве вычислений значений целевой функции.
Работа выполнена при поддержке гранта РФФИ №17-08-01203-а.
Литература
1. Евтушенко Ю.Г. Оптимизация и быстрое автоматическое дифференцирование. М.: ВЦ РАН, 2013.
2. Евтушенко Ю.Г. Численный метод поиска глобального экстремума функций (перебор на неравномерной сетке) // Ж. вычисл. матем. и матем. физ. 1971. Т. 11, № 6. С. 13901403.
3. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы, вдохновленные природой. М.: МГТУ им. Н. Э. Баумана, 2014.
4. Пантелеев А.В., Летова Т.А. Методы оптимизации в примерах и задачах. М.: Высшая школа, 2005.
5. Kingma D.P., Ba J. Adam: A Method for Stochastic Optimization // 3rd International Conference for Learning Representations. arXiv:1412.6980v8 [cs.LG]. 2015.
6. Holland J.N. Adaptation in Natural and Artificial Systems. — Michigan: Univ. Michigan Press, 1975.
7. Goldberg D.E. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 1989.
8. Kennedy J., Eberhart R. Particle Swarm Optimization // Proceedings of IEEE International Conference on Neural Networks IV. 1995. P. 1942-1948.
9. Карпенко А.П., Селиверстов Е.Ю. Глобальная оптимизация методом роя частиц. Обзор // Информационные технологии. 2010. № 2. С. 25-34.
10. Pham D.T. [et al.]. The Bees Algorithm — A Novel Tool for Complex Optimisation Problems // 2nd I*PROMS Virtual International Conference «Intelligent Production Machines and Systems». 2006. P. 454-459.
11. Рапопорт Л.Б. Оценка области притяжения в задаче управления колесным роботом // АиТ. 2006. № 9. С. 69-89.
12. Пестерев А.В. Синтез линеаризующего управления в задаче стабилизации движения автомобилеподобного робота вдоль криволинейного пути // Изв. РАН. ТиСУ. 2013. № 5. С. 153-165.
References
1. Yevtushenko Yu.G. Optimization and rapid automatic differentiation. Moscow: Computing Center of RAS, 2013. (in Russian).
2. Yevtushenko Yu.G. A numerical method for searching for a global extremum of functions (search on an uneven grid). Journal of Computational Mathematics and Mathematical Physics. 1971. V. 11, N 6. P. 1390-1403. (in Russian).
3. Karpenko A.P. Modern algorithms of searching optimization. Algorithms inspired by the nature. Moscow: MSTU named after N. E. Bauman, 2014. (in Russian).
4. Panteleev A.V., Letova T.A. Optimization methods in examples and tasks. Moscow: Higher School, 2005. (in Russian).
5. Kingma D.P., Ba J. Adam: A Method for Stochastic Optimization. 3rd International Conference for Learning Representations. arXiv:1412.6980v8 [cs.LG]. 2015.
6. Holland J.N. Adaptation in Natural and Artificial Systems. Michigan: Univ. Michigan Press, 1975.
7. Goldberg D.E. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 1989.
8. Kennedy J., Eberhart R. Particle Swarm Optimization. Proceedings of IEEE International Conference on Neural Networks IV. 1995. P. 1942-1948.
9. Karpenko A.P., Seliverstov E.Yu. Global optimization by the particle swarm optimization method. Overview. Information technology. 2010. N 2. P. 25-34. (in Russian).
10. Pham D.T. [et al.]. The Bees Algorithm — A Novel Tool for Complex Optimisation Problems. 2nd I*PROMS Virtual International Conference «Intelligent Production Machines and Systems». 2006. P. 454-459.
11. Rapoport L.B. Evaluation of the attraction domain in the control problem of the wheeled robot. Automation and Telemechanics. 2006. N 9. P. 69-89. (in Russian).
12. Pesterev A.V. Synthesis of Linearizing Control in the Problem of Stabilizing Motion of an Automobile-like Robot along a Curved Path. Proceedings of the RAS. Theory and Control Systems. 2013. N 5. P. 153-165. (in Russian).
Поступила в редакцию 10.07.2017