Последовательное квадратичное программирование
-
Основы метода SQP
- SQP — это итерационный метод нелинейной оптимизации с ограничениями.
- Используется для задач с дважды непрерывно дифференцируемыми функциями, но не обязательно выпуклыми.
- Решает последовательность подзадач оптимизации с использованием квадратичной модели объекта и линеаризации ограничений.
-
Алгоритм SQP
- Решение ищется методом Ньютона, повторяя уравнение с матрицей Гесса.
- Матрица Гесса обычно сингулярна, поэтому шаг Ньютона вычисляется через решение подзадачи квадратичного программирования.
- Алгоритм запускается с начальной итерации, вычисляет гессиан и градиент, решает подзадачи QP для обновления итераций.
-
Практическая реализация
- Сложности в реализации SQP связаны с возможностью невыполнимых подзадач, неудачных шагов и отклонений от квадратичных моделей.
- Используются стратегии оценки качества, фильтрации, поиска по регионам и специальные этапы восстановления выполнимости.
-
Альтернативные подходы
- Существуют другие методы оптимизации, такие как последовательное линейное программирование и расширенный метод Лагранжа.
-
Реализации и библиотеки
- SQP реализован в популярных вычислительных средах и библиотеках, включая MATLAB и GNU Octave.
- Существуют специализированные библиотеки для различных языков программирования.
-
Ссылки и рекомендации
- Статья содержит ссылки на дополнительные ресурсы и рекомендации по методу SQP.
Полный текст статьи: