Как SLSQP выполняет одну полную итерацию? - PullRequest
0 голосов
/ 04 августа 2020

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

К сожалению, вышеупомянутый источники знаний не дают мне полностью понять, как на самом деле работает алгоритм.

Короче, я пытаюсь понять, как выполняется одна полная итерация, и ответить на такие вопросы:

  1. Что означает «Последовательный» в этом конкретном методе?
  2. Что делается с использованием метода «наименьших квадратов» в SLSQP?
  3. Как алгоритм избегает завершения в локальном минимуме?
  4. Как он определяет направление поиска и размер шага?

Я был бы очень признателен за небольшую помощь f Для людей, имеющих опыт работы с SLSQP, либо в качестве совета о том, что еще изучить для лучшего понимания, либо ссылки на полезные знания, либо комментария к соответствующим уравнениям из статей Д. Крафт, либо просто пояснения.

Спасибо за заранее.

Документы Д.Крафта, прикрепленные сюда: https://groups.google.com/forum/#! topic / scipy-user / mmsGOqQADJY

...