Я изучаю магистерскую диссертацию, в настоящее время работаю с основанным на python инструментом моделирования для оптимизации ветряных электростанций, в котором рекомендованным методом оптимизации является SLSQP. У меня есть некоторый базовый опыт в оптимизации, однако SLSQP - это что-то новое для меня, и я очень хочу узнать, как он работает. Я провел небольшое исследование в области inte rnet, изучил работы Д. Крафт «Программный пакет для последовательного квадратичного c программирования» 1998 г., «Алгоритм 733: TOMP - модули Fortran для вычислений оптимального управления» 1994 г., прочитал о SLSQP здесь: http://degenerateconic.com/slsqp/ и обработал коды, представленные здесь: http://jacobwilliams.github.io/slsqp/ (только интуитивно, я ничего не знаю о Фортране).
К сожалению, вышеупомянутый источники знаний не дают мне полностью понять, как на самом деле работает алгоритм.
Короче, я пытаюсь понять, как выполняется одна полная итерация, и ответить на такие вопросы:
- Что означает «Последовательный» в этом конкретном методе?
- Что делается с использованием метода «наименьших квадратов» в SLSQP?
- Как алгоритм избегает завершения в локальном минимуме?
- Как он определяет направление поиска и размер шага?
Я был бы очень признателен за небольшую помощь f Для людей, имеющих опыт работы с SLSQP, либо в качестве совета о том, что еще изучить для лучшего понимания, либо ссылки на полезные знания, либо комментария к соответствующим уравнениям из статей Д. Крафт, либо просто пояснения.
Спасибо за заранее.
Документы Д.Крафта, прикрепленные сюда: https://groups.google.com/forum/#! topic / scipy-user / mmsGOqQADJY