Vous recherchez des organigrammes d'algorithme de niveau supérieur. Certaines des étapes individuelles de l'organigramme peuvent mériter leurs propres organigrammes détaillés. Cependant, dans les articles publiés mettant l'accent sur la brièveté, de nombreux détails sont souvent omis. Les détails des problèmes d'optimisation interne standard, qui sont considérés comme des «vieux casquettes», peuvent ne pas être fournis du tout.
L'idée générale est que les algorithmes d'optimisation peuvent nécessiter la solution d'une série de problèmes d'optimisation généralement plus faciles. Il n'est pas rare d'avoir 3 ou même 4 niveaux d'algorithmes d'optimisation dans un algorithme de niveau supérieur, bien que certains d'entre eux soient internes aux optimiseurs standard.
Même décider quand mettre fin à un algorithme (à l'un des niveaux hiérarchiques) peut nécessiter la résolution d'un problème d'optimisation secondaire. Par exemple, un problème de moindres carrés linéaires non contraint négativement pourrait être résolu pour déterminer les multiplicateurs de Lagrange utilisés pour évaluer le score d'optimalité KKT utilisé pour décider quand déclarer l'optimalité.
Si le problème d'optimisation est stochastique ou dynamique, il peut y avoir encore des niveaux hiérarchiques supplémentaires d'optimisation.
Voici un exemple. Programmation quadratique séquentielle (SQP). Un premier problème d'optimisation est traité par la résolution itérative des conditions d'optimalité de Karush-Kuhn-Tucker, à partir d'un point initial avec un objectif qui est une approximation quadratique du lagrangien du problème, et une linéarisation des contraintes. Le programme quadratique (QP) résultant est résolu. Le QP qui a été résolu a soit des contraintes de région de confiance, soit une recherche de ligne est effectuée de l'itération actuelle à la solution du QP, qui est elle-même un problème d'optimisation, afin de trouver l'itération suivante. Si une méthode Quasi-Newton est utilisée, un problème d'optimisation doit être résolu pour déterminer la mise à jour Quasi-Newton du Hessien du Lagrangien - il s'agit généralement d'une optimisation de forme fermée utilisant des formules fermées telles que BFGS ou SR1, mais cela pourrait être une optimisation numérique. Ensuite, le nouveau QP est résolu, etc. Si le QP est irréalisable, y compris pour démarrer, un problème d'optimisation est résolu pour trouver un point réalisable. Pendant ce temps, il peut y avoir un ou deux niveaux de problèmes d'optimisation interne appelés à l'intérieur du solveur QP. À la fin de chaque itération, un problème de moindres carrés linéaires non négatifs peut être résolu pour déterminer le score d'optimalité. Etc.
S'il s'agit d'un problème d'entiers mixtes, alors tout ce shebang peut être effectué à chaque nœud de branchement, dans le cadre d'un algorithme de niveau supérieur. De même pour un optimiseur global - un problème d'optimisation local est utilisé pour produire une borne supérieure sur la solution globalement optimale, puis un relâchement de certaines contraintes est effectué pour produire un problème d'optimisation de borne inférieure. Des milliers voire des millions de problèmes d'optimisation «faciles» à partir de branches et de liaisons peuvent être résolus afin de résoudre un problème d'optimisation mixte entier ou global.
Cela devrait commencer à vous donner une idée.
Edit : En réponse à la question du poulet et des œufs qui a été ajoutée à la question après ma réponse: s'il y a un problème de poulet et d'œufs, ce n'est pas un algorithme pratique bien défini. Dans les exemples que j'ai donnés, il n'y a ni poulet ni œuf. Les étapes d'algorithme de niveau supérieur invoquent des solveurs d'optimisation, qui sont définis ou existent déjà. SQP appelle de manière itérative un solveur QP pour résoudre des sous-problèmes, mais le solveur QP résout un problème plus simple, QP, que le problème d'origine. S'il existe un algorithme d'optimisation globale de niveau encore plus élevé, il peut invoquer un solveur SQP pour résoudre des sous-problèmes d'optimisation non linéaire locaux, et le solveur SQP appelle à son tour un solveur QP pour résoudre les sous-problèmes QP. Pas de poulet ni d'oeuf.
Remarque: les opportunités d'optimisation sont "partout". Les experts en optimisation, tels que ceux qui développent des algorithmes d'optimisation, sont plus susceptibles de voir ces opportunités d'optimisation, et de les voir comme telles, que le Joe ou Jane moyen. Et étant inclinés algorithmiquement, ils voient tout naturellement des opportunités pour construire des algorithmes d'optimisation à partir d'algorithmes d'optimisation de niveau inférieur. La formulation et la solution des problèmes d'optimisation servent de blocs de construction pour d'autres algorithmes d'optimisation (de niveau supérieur).
Edit 2 : En réponse à une demande de prime qui vient d'être ajoutée par l'OP. Le document décrivant l'optimiseur non linéaire SQP SNOPT https://web.stanford.edu/group/SOL/reports/snopt.pdf mentionne spécifiquement le solveur QP SQOPT, qui est documenté séparément, comme étant utilisé pour résoudre les sous-problèmes QP dans SNOPT.