Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

GlobalOptimSolution

Optimierungslösung

Beschreibung

Ein GlobalOptimSolution-Objekt enthält Informationen zu einem lokalen Minimum, einschließlich Ort, Zielfunktionswert und Startpunkt oder -punkte, die zum Minimum führen.

GlobalSearch und MultiStart generieren einen Vektor aus GlobalOptimSolution-Objekten. Der Vektor wird nach dem Zielfunktionswert sortiert, vom niedrigsten (besten) zum höchsten (schlechtesten). GlobalSearch und MultiStart kombinieren Lösungen, die innerhalb der Toleranzen mit zuvor gefundenen Lösungen übereinstimmen. Weitere Einzelheiten zu GlobalSearch finden Sie unter Update Solution Set in When fmincon Runs. Weitere Einzelheiten zu MultiStart finden Sie unter Create GlobalOptimSolution Object.

Erstellung

Wenn Sie run ausführen und die solutions-Ausgabe anfordern, erstellen GlobalSearch und MultiStart GlobalOptimSolution-Objekte als Ausgabe.

Eigenschaften

alle erweitern

Beendigungsbedingung des lokalen Solvers, zurückgegeben als Ganzzahl. Im Allgemeinen entspricht ein positives Exitflag einem lokalen Optimum und ein Null- oder negatives Exitflag einer erfolglosen Suche nach einem lokalen Minimum.

Die genaue Bedeutung jedes Exitflag finden Sie in der exitflag-Beschreibung auf der entsprechenden Referenzseite der lokalen Solverfunktion:

Datentypen: double

Zielfunktionswert, zurückgegeben als reeller Skalar. Bei den Lösern lsqnonlin und lsqcurvefit ist Fval die Summe der Quadrate des Residuums.

Datentypen: double

Vom lokalen Solver zurückgegebene Ausgabestruktur. Weitere Einzelheiten finden Sie in der output-Beschreibung auf der entsprechenden Referenzseite zur lokalen Solverfunktion:

Datentypen: struct

Lokale Lösung, zurückgegeben als Array mit den gleichen Dimensionen wie problem.x0.

Datentypen: double

Startpunkte, die zur aktuellen Lösung führen, zurückgegeben als Zellenarray. Steuern Sie den Abstand zwischen Punkten, die als unterschiedlich betrachtet werden, indem Sie die Eigenschaften FunctionTolerance und XTolerance des globalen Solvers festlegen.

Datentypen: cell

Beispiele

alle reduzieren

Verwenden Sie MultiStart, um einen Vektor aus GlobalOptimSolution-Objekten für ein Problem mit mehreren lokalen Minima zu erstellen.

rng default % For reproducibility
ms = MultiStart;
sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3 ...
    + x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4);
problem = createOptimProblem('fmincon','x0',[-1,2],...
    'objective',sixmin,'lb',[-3,-3],'ub',[3,3]);
[xmin,fmin,flag,outpt,allmins] = run(ms,problem,30);
MultiStart completed the runs from all start points. 

All 30 local solver runs converged with a positive local solver exitflag.

allmins ist ein Vektor von GlobalOptimSolution-Objekten.

disp(allmins)
  1x6 GlobalOptimSolution array with properties:

    X
    Fval
    Exitflag
    Output
    X0

Zeichnen Sie die Zielfunktionswerte bei den zurückgegebenen Lösungen auf.

plot(arrayfun(@(x)x.Fval,allmins),'k*')
xlabel('Solution number')
ylabel('Function value')
title('Solution Function Values')

Um die Ausgangspunkte zu untersuchen, die zu den verschiedenen Lösungen führen, siehe Visualize the Basins of Attraction.

Versionsverlauf

Eingeführt in R2010a