Patrzysz na schematy blokowe algorytmu najwyższego poziomu. Niektóre z poszczególnych kroków na schemacie blokowym mogą wymagać własnych szczegółowych schematów blokowych. Jednak w publikowanych artykułach, które kładą nacisk na zwięzłość, wiele szczegółów jest często pomijanych. Szczegóły dotyczące standardowych problemów z optymalizacją wewnętrzną, które są uważane za „stary kapelusz”, mogą w ogóle nie zostać dostarczone.
Ogólna idea jest taka, że algorytmy optymalizacji mogą wymagać rozwiązania szeregu ogólnie łatwiejszych problemów optymalizacji. Często zdarza się, że 3 lub nawet 4 poziomy algorytmów optymalizacji w algorytmie najwyższego poziomu, chociaż niektóre z nich są wewnętrznymi standardowymi optymalizatorami.
Nawet podjęcie decyzji o zakończeniu algorytmu (na jednym z poziomów hierarchicznych) może wymagać rozwiązania problemu optymalizacji bocznej. Na przykład problem nieliniowo ograniczonego liniowego najmniejszego kwadratu może zostać rozwiązany w celu ustalenia mnożników Lagrange'a użytych do oceny wyniku optymalizacyjnego KKT użytego do podjęcia decyzji, kiedy zadeklarować optymalność.
Jeśli problem optymalizacji jest stochastyczny lub dynamiczny, mogą istnieć dodatkowe hierarchiczne poziomy optymalizacji.
Oto przykład. Sekwencyjne programowanie kwadratowe (SQP). Początkowy problem optymalizacji rozwiązuje się iteracyjnie rozwiązując warunki optymalne Karusha-Kuhna-Tuckera, zaczynając od punktu początkowego z celem, którym jest kwadratowe przybliżenie Lagrangiana problemu, i linearyzacja ograniczeń. Powstały Program Kwadratowy (QP) został rozwiązany. Rozwiązanie QP, które zostało rozwiązane, ma ograniczenia regionu zaufania lub przeszukiwanie linii jest przeprowadzane z bieżącego iteratu do rozwiązania QP, które samo w sobie jest problemem optymalizacji, w celu znalezienia następnego iteratu. Jeśli stosowana jest metoda Quasi-Newtona, należy rozwiązać problem optymalizacji, aby określić aktualizację Quasi-Newtona dla Hesjan z Lagrangian - zwykle jest to optymalizacja formy zamkniętej przy użyciu formuł zamkniętych, takich jak BFGS lub SR1, ale może to być optymalizacja numeryczna. Następnie nowy QP zostaje rozwiązany itp. Jeśli QP jest kiedykolwiek nieosiągalny, w tym na początek, problem optymalizacji zostaje rozwiązany, aby znaleźć wykonalny punkt. Tymczasem wewnątrz solvera QP może być wywołany jeden lub dwa poziomy wewnętrznych problemów optymalizacyjnych. Na końcu każdej iteracji można rozwiązać nieujemny problem liniowych najmniejszych kwadratów w celu ustalenia wyniku optymalizacyjnego. Itp.
Jeśli jest to problem z mieszaną liczbą całkowitą, wówczas ten cały shebang można wykonać w każdym węźle rozgałęzienia, jako część algorytmu wyższego poziomu. Podobnie w przypadku globalnego optymalizatora - lokalny problem optymalizacyjny jest wykorzystywany do utworzenia górnej granicy globalnie optymalnego rozwiązania, następnie rozluźnia się niektóre ograniczenia w celu wygenerowania dolnego problemu optymalizacyjnego. Tysiące lub nawet miliony „łatwych” problemów optymalizacyjnych z gałęzi i powiązań można rozwiązać, aby rozwiązać jeden problem optymalizacji mieszanej liczby całkowitej lub globalnej.
To powinno zacząć dać ci pomysł.
Edycja : W odpowiedzi na pytanie dotyczące kurczaka i jaj, które zostało dodane do pytania po mojej odpowiedzi: Jeśli występuje problem z kurczakiem i jajkiem, to nie jest to dobrze zdefiniowany praktyczny algorytm. W podanych przykładach nie ma kurczaka i jajka. Kroki algorytmu wyższego poziomu wywołują solwery optymalizacyjne, które są albo zdefiniowane, albo już istnieją. SQP iteracyjnie wywołuje solver QP w celu rozwiązania podproblemów, ale solver QP rozwiązuje łatwiejszy problem, QP, niż problem pierwotny. Jeśli istnieje jeszcze wyższy poziom globalnego algorytmu optymalizacji, może on wywołać solver SQP w celu rozwiązania lokalnych nieliniowych podproblemów optymalizacji, a solver SQP z kolei wywołuje solver QP w celu rozwiązania podproblemów QP. Bez chiicken i jajka.
Uwaga: Możliwości optymalizacji są „wszędzie”. Eksperci od optymalizacji, tacy jak ci, którzy opracowują algorytmy optymalizacji, częściej widzą te możliwości optymalizacji i postrzegają je jako takie, niż przeciętny Joe lub Jane. Ponieważ są skłonni algorytmicznie, całkiem naturalnie dostrzegają możliwości budowania algorytmów optymalizacji z algorytmów optymalizacji niższego poziomu. Formułowanie i rozwiązywanie problemów optymalizacyjnych służą jako elementy składowe innych (wyższego poziomu) algorytmów optymalizacyjnych.
Edycja 2 : W odpowiedzi na prośbę o nagrodę, która została właśnie dodana przez PO. Artykuł opisujący nieliniowy optymalizator SQP SNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdf konkretnie wspomina o rozwiązaniu SQOPT QP, które jest oddzielnie dokumentowane, jako stosowane do rozwiązywania podproblemów QP w SNOPT.