Optimize
Optimieren oder Lösen von Gleichungen im Live-Editor
Beschreibung
Mit dem Task „Optimize“ können Sie zwischen zwei Methoden wählen, um Probleme interaktiv zu optimieren oder nichtlineare Gleichungssysteme zu lösen:
Problembasiert (empfohlen) – Erstellen symbolischer Optimierungsvariablen und Ausdrücke, um die Zielfunktion sowie die Nebenbedingungen oder Gleichungen darzustellen
Solverbasiert – Darstellen der Zielfunktion und der Nebenbedingungen bzw. Gleichungen mithilfe von Standard-MATLAB®-Code
Der Task generiert automatisch MATLAB-Code für Ihr Live-Skript.
Mit der problembasierten Version dieses Tasks können Sie:
Arrays von Optimierungsvariablen angeben, einschließlich ihrer Schranken und Anfangswerte.
den Problemtyp festlegen: Minimierung, Maximierung, Machbarkeit oder Gleichungslösung.
die Zielfunktion und Nebenbedingungen angeben, indem Sie entweder Ausdrücke verfassen oder nach Funktionen suchen.
optional einen Solver auswählen und nicht-standardmäßige Optionen angeben.
die Optimierung durchführen.
Mit der solverbasierten Version dieses Tasks können Sie:
anhand der Eigenschaften Ihres Problems einen geeigneten Solver auswählen. Sofern Sie über die Global Optimization Toolbox verfügen, können Sie auch deren Solver verwenden.
die Zielfunktion und Nebenbedingungen angeben, indem Sie entweder Funktionen verfassen oder nach Funktionen suchen.
Solver-Optionen festlegen.
die Optimierung durchführen.
Einen Leitfaden zum Einstieg in „Optimize“ finden Sie unter Get Started with Solver-Based Optimize Live Editor Task und Erste Schritte mit dem problembasierten Live-Editor Task „Optimize“. Tipps zur Verwendung von „Optimize“ finden Sie unter Use Solver-Based Optimize Live Editor Task Effectively oder Use Problem-Based Optimize Live Editor Task Effectively. Derzeit können Sie die Solver fseminf, GlobalSearch und MultiStart mit „Optimize“ nicht verwenden.
Allgemeine Informationen zu Live-Editor Tasks finden Sie unter Add Interactive Tasks to a Live Script.
Öffnen Sie die Aufgabe
Wählen Sie zum Einfügen des Tasks „Optimize“ in ein Live-Skript im MATLAB-Editor im Live-Editor auf der Registerkarte Insert die Option Task > Optimize aus.

Alternativ können Sie in einem Codeblock des Skripts ein relevantes Schlüsselwort eingeben, beispielsweise optim oder fmincon. Wählen Sie Optimize aus den vorgeschlagenen Befehlsvervollständigungen aus.

Nachdem Sie den Task eingefügt haben, wählen Sie entweder Problem-based (recommended) oder Solver-based aus.
Beispiele
- Get Started with Solver-Based Optimize Live Editor Task
- Erste Schritte mit dem problembasierten Live-Editor Task „Optimize“
- Constrained Nonlinear Problem Using Optimize Live Editor Task or Solver
- Feasibility Using Problem-Based Optimize Live Editor Task
- Optimize Live Editor Task with fmincon Solver
- Optimize Live Editor Task with lsqlin Solver
- Optimize Using the GPS Algorithm (Global Optimization Toolbox)
- Minimize Function with Many Local Minima (Global Optimization Toolbox)
- Pareto Front for Two Objectives (Global Optimization Toolbox)
- Use Problem-Based Optimize Live Editor Task Effectively
- Use Solver-Based Optimize Live Editor Task Effectively
- Solverbasierte Optimierungsproblem-Konfiguration
- So verwenden Sie den solverbasierten Live-Editor Task „Optimize“
- So verwenden Sie den problembasierten Live-Editor Task „Optimize“
Parameter
Einschränkungen
Derzeit gelten für „Optimize“ die folgenden Einschränkungen bei der Mehrzieloptimierung:
Sie müssen Ihre Zielfunktionen mithilfe einer einzigen Funktion mit mehreren Ausgaben angeben. Mit anderen Worten: Ihre Zielfunktion muss einen Vektor von Werten ausgeben, wobei jeder Eintrag einem Ziel entspricht.
Alle Zielfunktionen müssen dieselbe Richtung aufweisen: Minimierung für den solverbasierten Task und entweder Minimierung oder Maximierung für den problembasierten Task.
Tipps
Bei Funktionen mit zusätzlichen Eingaben sind die Anforderungen bei solverbasierten und problembasierten „Optimize“-Tasks etwas unterschiedlich.
Solverbasiert: Wählen Sie die Optimierungsvariable aus und geben Sie an, welche Workspace-Variablen die festen Eingabewerte enthalten. Unter Place Optimization Variables in One Vector and Data in Other Variables finden Sie ein Beispiel mit drei Funktionseingaben:

„Optimize“ generiert erst dann Code, wenn Sie alle Funktionseingaben angegeben haben.
Problembasiert: Geben Sie für jede Funktionseingabe den Namen einer Optimierungsvariablen oder einer Workspace-Variablen an. Wenn der Name eines Eingabearguments in der Funktionssignatur mit dem Namen einer vorhandenen Optimierungsvariablen oder Workspace-Variablen übereinstimmt, wählt „Optimize“ diesen Namen automatisch aus.

„Optimize“ generiert erst dann Code, wenn Sie alle Funktionseingaben angegeben haben.
„Optimize“ kann eine Funktion, die die Eingabe
vararginoder einen Fehler enthält, nicht analysieren.Wenn Sie eine Funktion aus einer Datei auswählen, fügt „Optimize“ den Speicherort der Datei zu Ihrem MATLAB-Pfad hinzu.
Wenn bei „Optimize“ ein Syntaxanalysefehler auftritt oder wenn mehrere lokale Funktionen denselben Namen haben, ist die Liste der verfügbaren lokalen Funktionen leer.
Versionsverlauf
Eingeführt in R2020bSiehe auch
Apps
Funktionen
fmincon|intlinprog|surrogateopt(Global Optimization Toolbox) |patternsearch(Global Optimization Toolbox)
