Дифференциальное динамическое программирование
Дифференциальное динамическое программирование ( ДДП ) — алгоритм оптимального управления класса оптимизации траектории . Алгоритм был представлен в 1966 году Мэйном. [1] и впоследствии проанализированы в одноименной книге Джейкобсона и Мейна. [2] Алгоритм использует локально-квадратичные модели динамики и функции стоимости и отображает квадратичную сходимость . Он тесно связан с пошаговым методом Ньютона Пантойи. [3] [4]
Задачи дискретного времени на конечном горизонте
[ редактировать ]Динамика
( 1 ) |
описать эволюцию государства учитывая контроль со времени ко времени . Общая стоимость это сумма текущих расходов и окончательная стоимость , возникший при старте из состояния и применяя управляющую последовательность пока не будет достигнут горизонт:
где и для даны уравнением 1 . Решением задачи оптимального управления является минимизирующая управляющая последовательность Оптимизация траектории означает нахождение для конкретного , а не для всех возможных начальных состояний.
Динамическое программирование
[ редактировать ]Позволять быть частичной управляющей последовательностью и определите себестоимость как частичная сумма затрат от к :
Оптимальная себестоимость или функция ценности во времени – это себестоимость с учетом минимизирующей последовательности управления:
Параметр , принцип динамического программирования сводит минимизацию всей последовательности элементов управления к последовательности минимизаций одного элемента управления, идущей назад во времени:
( 2 ) |
Это уравнение Беллмана .
Дифференциальное динамическое программирование
[ редактировать ]DDP итеративно выполняет обратный проход по номинальной траектории для создания новой управляющей последовательности, а затем прямой проход для вычисления и оценки новой номинальной траектории. Начинаем с паса назад. Если
является аргументом оператор в уравнении 2 , пусть будет изменение этой величины вокруг -й пара:
и расшириться до второго порядка
( 3 ) |
The Используемые здесь обозначения представляют собой вариант обозначений Моримото, где индексы обозначают дифференцирование в расположении знаменателя. [5] Удаление индекса для удобства чтения штрихи обозначают следующий временной шаг , коэффициенты расширения равны
Последние члены в последних трёх уравнениях обозначают сжатие вектора тензором. Минимизация квадратичного приближения (3) по у нас есть
( 4 ) |
давая термин разомкнутого цикла и коэффициент усиления обратной связи . Подставив результат обратно в (3) , мы теперь имеем квадратичную модель значения во времени. :
Рекурсивное вычисление локальных квадратичных моделей и модификации управления , от вплоть до , представляет собой обратный проход. Как указано выше, значение инициализируется с помощью . После завершения обратного прохода прямой проход вычисляет новую траекторию:
Обратные и прямые проходы повторяются до сходимости.
Регуляризация и поиск строк
[ редактировать ]Дифференциальное динамическое программирование — это алгоритм второго порядка, подобный методу Ньютона . Поэтому он делает большие шаги в направлении минимума и часто требует регуляризации и/или линейного поиска для достижения сходимости. [6] [7] Регуляризация в контексте DDP означает обеспечение того, что матрица в уравнении 4 положительно определен . Поиск линии в DDP представляет собой масштабирование модификации управления с разомкнутым контуром. некоторыми .
Версия Монте-Карло
[ редактировать ]Выборочное дифференциальное динамическое программирование (SaDDP) — это вариант дифференциального динамического программирования Монте-Карло. [8] [9] [10] Он основан на рассмотрении квадратичной стоимости дифференциального динамического программирования как энергии распределения Больцмана . Таким образом, количества DDP могут быть сопоставлены со статистикой многомерного нормального распределения . Статистику можно пересчитать по выборочным траекториям без дифференциации.
Выборочное дифференциальное динамическое программирование было расширено до улучшения интегральной политики пути с помощью дифференциального динамического программирования. [11] Это создает связь между дифференциальным динамическим программированием и интегральным управлением по траектории. [12] который представляет собой основу стохастического оптимального управления.
Ограниченные проблемы
[ редактировать ]Дифференциальное динамическое программирование внутренней точки (IPDDP) представляет собой обобщение метода DDP внутренней точки , которое может решать задачу оптимального управления с нелинейным состоянием и входными ограничениями. [13]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Мейн, DQ (1966). «Градиентный метод второго порядка оптимизации нелинейных систем с дискретным временем». Внутренний J-контроль . 3 : 85–95. дои : 10.1080/00207176608921369 .
- ^ Мейн, Дэвид К.; Джейкобсон, Дэвид Х. (1970). Дифференциальное динамическое программирование . Нью-Йорк: Американский паб Elsevier. компании ISBN 978-0-444-00070-5 .
- ^ де О. Пантоха, JFA (1988). «Дифференциальное динамическое программирование и метод Ньютона». Международный журнал контроля . 47 (5): 1539–1553. дои : 10.1080/00207178808906114 . ISSN 0020-7179 .
- ^ Ляо, LZ; В. Сапожник (1992). «Преимущества дифференциального динамического программирования перед методом Ньютона для задач оптимального управления с дискретным временем» . Корнеллский университет . hdl : 1813/5474 .
- ^ Моримото, Дж.; Г. Зеглин; К.Г. Аткесон (2003). «Минимаксное дифференциальное динамическое программирование: применение к двуногому шагающему роботу». Интеллектуальные роботы и системы, 2003 г. (IROS 2003). Слушания. 2003 Международная конференция IEEE/RSJ по . Том. 2. стр. 1927–1932.
- ^ Ляо, LZ; В. Сапожник (1991). «Сходимость в дифференциальном динамическом программировании без ограничений в дискретном времени». Транзакции IEEE при автоматическом управлении . 36 (6): 692. дои : 10.1109/9.86943 .
- ^ Тасса, Ю. (2011). Теория и реализация биомиметических контроллеров двигателей (PDF) (Диссертация). Еврейский университет. Архивировано из оригинала (PDF) 4 марта 2016 г. Проверено 27 февраля 2012 г.
- ^ «Выборочное дифференциальное динамическое программирование». Международная конференция IEEE/RSJ по интеллектуальным роботам и системам (IROS) , 2016 г. дои : 10.1109/IROS.2016.7759229 . S2CID 1338737 .
- ^ Раджамяки, Йоосе; Хямяляйнен, Пертту (июнь 2018 г.). Регуляризация выборочного дифференциального динамического программирования — Публикация конференции IEEE . Ежегодная Американская конференция по контролю (ACC) 2018 г. п.п. 2182–2189. дои : 10.23919/ACC.2018.8430799 . S2CID 243932441 . Проверено 19 октября 2018 г.
- ^ Раямяки, Йоосе (2018). Алгоритмы случайного поиска для оптимального управления . Университет Аалто. ISBN 978-952-60-8156-4 . ISSN 1799-4942 .
- ^ Лефевр, Том; Кревекёр, Гийом (июль 2019 г.). «Путь интегрального улучшения политики с помощью дифференциального динамического программирования» . Международная конференция IEEE/ASME по передовой интеллектуальной мехатронике (AIM) 2019 . стр. 739–745. дои : 10.1109/AIM.2019.8868359 . hdl : 1854/LU-8623968 . ISBN 978-1-7281-2493-3 . S2CID 204816072 .
- ^ Теодору, Евангелос; Бухли, Йонас; Шааль, Стефан (май 2010 г.). «Укрепление двигательных навыков в больших измерениях: интегральный подход» . 2010 Международная конференция IEEE по робототехнике и автоматизации . стр. 2397–2403. дои : 10.1109/РОБОТ.2010.5509336 . ISBN 978-1-4244-5038-1 . S2CID 15116370 .
- ^ Павлов, Андрей; Позор, Иман; Манзи, Крис (2020). «Дифференциальное динамическое программирование внутренних точек». arXiv : 2004.12710 [ math.OC ].