Ви шукаєте діаграми потоків алгоритму верхнього рівня. Деякі окремі етапи діаграми потоку можуть заслуговувати на власні детальні діаграми потоку. Однак у опублікованих працях, що роблять акцент на стислість, багато деталей часто опускаються. Деталі щодо стандартних проблем із внутрішньою оптимізацією, які вважаються "старими капелюшками", можуть взагалі не надаватися.
Загальна ідея полягає в тому, що алгоритми оптимізації можуть вимагати вирішення ряду загальнопростіших задач оптимізації. Не рідкість наявність 3 або навіть 4 рівнів алгоритмів оптимізації в алгоритмі верхнього рівня, хоча деякі з них є внутрішніми для стандартних оптимізаторів.
Навіть вирішення питання щодо припинення роботи алгоритму (на одному з ієрархіальних рівнів) може зажадати вирішення проблеми побічної оптимізації. Наприклад, проблема негативно обмежених лінійних найменших квадратів може бути вирішена для визначення множників Лагранжа, які використовуються для оцінки показника оптимальності KKT, використовуваного для визначення, коли оголосити про оптимальність.
Якщо проблема оптимізації є стохастичною або динамічною, можливі ще додаткові ієрархічні рівні оптимізації.
Ось приклад. Послідовне квадратичне програмування (SQP). Початкова проблема оптимізації трактується шляхом ітеративного вирішення умов оптимальності Каруша-Куна-Таккера, починаючи з початкової точки з метою, що є квадратичним наближенням лагранґана задачі, і лінеаризацією обмежень. Отримана квадратична програма (QP) вирішена. QP, який було вирішено, або має обмеження в області довіри, або пошук рядків ведеться від поточного ітерату до рішення QP, що є самою проблемою оптимізації, щоб знайти наступну ітерацію. Якщо використовується метод Квазі-Ньютона, необхідно вирішити проблему оптимізації, щоб визначити оновлення Квазі-Ньютона до гессея Лагранжана - зазвичай це оптимізація закритої форми за допомогою формул закритих форм, таких як BFGS або SR1, але це може бути чисельна оптимізація. Тоді новий QP вирішується і т. Д. Якщо QP колись нездійсненний, у тому числі для початку, вирішується проблема оптимізації, щоб знайти можливу точку. Між тим, всередині QP вирішувача можуть бути викликані один або два рівні внутрішніх проблем оптимізації. В кінці кожної ітерації може бути вирішена негативна проблема лінійних найменших квадратів для визначення показника оптимальності. І т.д.
Якщо це змішана ціла задача, то весь цей шебанг може виконуватися на кожному вузлі розгалуження, як частина алгоритму вищого рівня. Аналогічно глобальному оптимізатору - локальна проблема оптимізації використовується для створення верхньої межі глобально оптимального рішення, тоді послаблення деяких обмежень робиться для створення задачі оптимізації нижньої межі. Тисячі або навіть мільйони проблем «легкої» оптимізації з галузей і зв'язаних можуть бути вирішені для вирішення однієї змішаної цілочислової або глобальної оптимізації.
Це має почати, щоб дати вам уявлення.
Редагувати : У відповідь на запитання з куркою та яйцем, яке було додане до запитання після моєї відповіді: Якщо є проблема з куркою та яйцями, то це не дуже чітко визначений практичний алгоритм. У наведених нами прикладах немає курки та яєць. Алгоритм вищого рівня викликає рішення оптимізації, які або визначені, або вже існують. SQP ітеративно викликає вирішувач QP для вирішення субпроблем, але вирішувач QP вирішує більш просту задачу, QP, ніж вихідну проблему. Якщо існує алгоритм глобальної оптимізації ще більш високого рівня, він може викликати вирішувач SQP для вирішення локальних підпроблем нелінійної оптимізації, а вирішувач SQP в свою чергу викликає вирішувач QP для вирішення підпрограм QP. Ніяких чікен і яєць.
Примітка. Можливості оптимізації є "скрізь". Експерти з оптимізації, як-от ті, хто розробляє алгоритми оптимізації, швидше бачать ці можливості оптимізації та розглядають їх як такі, ніж середні Джо чи Джейн. Будучи алгоритмічно схильними, цілком природно вони бачать можливості для створення алгоритмів оптимізації з алгоритмів оптимізації нижчого рівня. Формулювання та рішення задач оптимізації служать складовими блоків для інших (більш високого рівня) алгоритмів оптимізації.
Редагування 2 : У відповідь на запит на винагороду, який щойно додав ОП. У статті, що описує нелінійний оптимізатор SQP SNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdf, конкретно згадується вирішувач QQ SQOPT, який окремо задокументовано, як використовується для вирішення підпроблем QP у SNOPT.