Ich bin wirklich verwirrt über die Verwendung von Solver bei der Computeroptimierung. Ich habe mich einen Monat lang umgesehen, um zu sehen, ob ich ein gutes Gefühl dafür bekommen kann, was dieser Begriff bedeutet, aber ich habe immer noch kein gutes Verständnis dafür.
Es scheint, dass ich, wenn ich ein Optimierungsproblem beim maschinellen Lernen oder anderswo lösen möchte, das genaue Berechnungsverfahren als Algorithmus anstatt als Löser bezeichnen würde. Wenn ich beispielsweise ein quadratisches Programm hätte, würde ich die Quadprog-Funktion von MATLAB verwenden, um den QP zu lösen.
Ich persönlich würde die Quadprog-Funktion nicht als QP-Solver bezeichnen, da es sich nur um eine MATLAB-Funktion oder ein Skript handelt. Ich würde den genauen Algorithmus hinter Quadprog nicht als QP-Löser bezeichnen. Es ist mir egal, ob es sich um Gradientenabstieg, Innenpunktmethode, Newton Raphson handelt. Für mich sind das alles Algorithmen. Schließlich würde ich MATLAB nicht als QP-Löser bezeichnen, da dies nicht der einzige Zweck von MATLAB ist. Es scheint also, dass das Wort "Löser" in meinem alltäglichen Wortschatz fehlt, obwohl ich routinemäßig mit Optimierung arbeiten muss. Das verwirrt mich ziemlich, es fühlt sich einfach so an, als wäre ich mit dem Jargon nicht auf dem neuesten Stand.
Nach meiner Überlegung sind Algorithmen und MATLAB also keine Löser. Angenommen, ich habe einige Software wie Gurobi oder YALMIP heruntergeladen, um Optimierungsprobleme zu lösen. Werden diese Software als Löser bezeichnet? Ich habe oft gehört, dass Leute darauf verweisen, welchen "Löser" Sie verwenden, und zwar in demselben Ton wie welche "Software" Sie verwenden. Was unterscheidet Optimierungssoftware und -löser?
Ich weiß, das klingt nach einer wirklich rudimentären Frage, aber ich habe nur in MATLAB optimiert.