Optimization Toolbox

Lineare und quadratische Probleme, ganzzahlige sowie nichtlineare Optimierungsprobleme lösen

Optimization Toolbox™ bietet Funktionen zum Bestimmen von Parametern, die eine Zielfunktion minimieren bzw. maximieren und gleichzeitig die Nebenbedingungen erfüllen. Die Toolbox enthält Solver für lineare Programmierung (LP), gemischt-ganzzahlige lineare Programmierung (MILP), quadratische Programmierung (QP), nichtlineare Programmierung (NLP), lineare kleinste Quadrate mit Nebenbedingungen, nichtlineare kleinste Quadrate und nichtlineare Gleichungen. Sie können Ihr Optimierungsproblem mit Funktionen und Matrizen definieren oder Variablenausdrücke angeben, die die zugrunde liegende Mathematik wiedergeben.

Mit den Toolbox-Solvern können Sie optimale Lösungen für kontinuierliche und diskrete Probleme finden, Trade-Off-Analysen ausführen und Optimierungsmethoden in Algorithmen und Anwendungen integrieren. Mit der Toolbox können Sie Entwurfsoptimierungsaufgaben ausführen, wie z. B. Parameterschätzung, Komponentenauswahl und Parameteroptimierung. Sie können damit auch optimale Lösungen in Anwendungen wie Portfolio-Optimierung, Ressourcen-Zuteilung sowie Produktions- und Zeitplanung finden.

Jetzt Loslegen:

Definieren von Optimierungsproblemen

Modellieren Sie ein Entwurfs- oder Entscheidungsproblem als Optimierungsproblem. Legen Sie die Entwurfsparameter und Entscheidungen als Optimierungsvariablen fest. Nutzen Sie sie dann zum Definieren einer zu optimierenden Zielfunktion und begrenzen Sie mögliche Variablenwerte mithilfe von Nebenbedingungen.

Modellierung

Überführen Sie eine Problembeschreibung in eine mathematische Form, indem Sie Optimierungsvariablen, eine Zielfunktion und Nebenbedingungen definieren, sodass das Problem mithilfe von Optimierungsverfahren gelöst werden kann.

Problembasierte Optimierung

Schreiben Sie die Zielfunktion und Nebenbedingungen in MATLAB mithilfe von entsprechenden Ausdrücken zur Darstellung der mathematischen Form. Nutzen Sie dafür Optimierungsvariablen, mathematische Operatoren, Matrixoperationen und Funktionen der Variablen. Wenden Sie dann einen automatisch ausgewählten Solver an.

Solver-basierte Optimierung

Schreiben Sie die Zielfunktion und Nebenbedingungen in MATLAB und nutzen Sie Funktionen für nichtlineare Probleme und Koeffizientenmatrizen für lineare Probleme. In MATLAB stehen dafür Matrixoperationen, mathematische Operatoren und Funktionen zur Verfügung. Wenden Sie dann einen passenden Solver an.

Lösen von Optimierungsproblemen

Wenden Sie einen Solver auf das Optimierungsproblem an, um eine optimale Lösung zu finden: eine Menge aus Optimierungsvariablenwerten, die den optimalen Wert der Zielfunktion liefern und gleichzeitig alle vorhandenen Nebenbedingungen erfüllen.

Auswählen eines Solvers

Nutzen Sie abhängig von der Art der Zielfunktion und der Nebenbedingungen des Optimierungsproblems zur Lösung einen nichtlinearen, quadratischen, linearen, gemischt-ganzzahligen, Kleinste-Quadrate- oder Mehrziel-Solver. Beim problembasierten Ansatz wird der geeignete Solver automatisch ausgewählt.

Evaluierte Punkte während der Optimierung einer nichtlinearen Funktion.

Setzen von Optionen

Geben Sie Optionen zur Feinjustierung des Optimierungsprozesses an, beispielsweise um den vom Solver genutzten Optimierungsalgorithmus zu wählen oder um Abbruchbedingungen festzulegen. Setzen Sie Optionen, um den Fortschritt des Optimierungssolvers zu überwachen und grafisch darzustellen.

Überprüfen und Verbessern von Ergebnissen

Überprüfen Sie die Optimalitätskriterien und die iterative Darstellung zur Beurteilung der Qualität der Lösung. Über die Links in den Abbruchmitteilungen gelangen Sie zu weiteren Informationen. Steigern Sie die Geschwindigkeit bei nichtlinearen Problemen durch Angabe von Gradienten oder durch Gradientenschätzung mittels Parallel Computing.

Überwachung des Solver-Fortschritts mit der iterativen Darstellung.

Nichtlineare Programmierung

Lösen Sie Optimierungsprobleme, die eine nichtlineare Zielfunktion haben oder nichtlinearen Nebenbedingungen unterliegen.

Solver

Wenden Sie Quasi-Newton-, Trust-Region- oder Nelder-Mead-Simplex-Algorithmen an, um Probleme ohne Nebenbedingungen zu lösen. Für Probleme mit Nebenbedingungen stehen hingegen Innere-Punkte-, SQP- (sequentiell quadratische Programmierung) oder Trust-Region-Reflective-Algorithmen zur Verfügung.

Anwendungen

Mithilfe der nichtlinearen Optimierung können Sie Parameter schätzen und anpassen, optimale Entwürfe finden, optimale Trajektorien berechnen, robuste Portfolios zusammenstellen und weitere Problemstellungen lösen, bei denen eine nichtlineare Beziehung zwischen Variablen besteht.

Lineare und quadratische Programmierung

Lösen Sie Optimierungsprobleme, die eine lineare oder konvexe quadratische Zielfunktion haben und linearen Nebenbedingungen unterliegen.

Solver für die lineare Programmierung

Wenden Sie Dual-Simplex- oder Innere-Punkte-Algorithmen an, um lineare Programme zu lösen.

Zulässiges Gebiet und optimale Lösung eines quadratischen Programms.

Solver für die quadratische Programmierung

Wenden Sie Innere-Punkte- oder Trust-Region-Reflective-Algorithmen an, um quadratische Programme zu lösen.

Ausführbares Gebiet und optimale Lösung eines quadratischen Programms.

Anwendungen

Mithilfe der linearen Programmierung lassen sich Probleme wie die Ressourcenzuteilung, Produktionsplanung, Blending und Investmentplanung lösen. Die quadratische Programmierung hingegen eignet sich gut für die Entwurfs- und Portfolio-Optimierung oder die Steuerung hydroelektrischer Dämme.

Bestimmung der optimalen Steuerungsstrategie durch quadratische Programmierung.

Gemischt-ganzzahlige lineare Programmierung

Lösen Sie Optimierungsprobleme mit linearen Zielfunktionen und linearen Nebenbedingungen, bei denen zusätzlich gefordert ist, dass einige oder alle Variablen ganzzahlige Werte annehmen müssen.

Anwendung eines Branch-and-Bound-Algorithmus.

Algorithmen basierend auf der gemischt-ganzzahligen linearen Programmierung

Mit dem Solver für die gemischt-ganzzahlige lineare Programmierung können Sie Algorithmen für spezielle Anwendungsfälle entwickeln

Kürzeste Route, bei der jede Stadt nur einmal besucht wird.

Anwendungen

Modellieren Sie mit ganzzahligen Variablen, wenn Ein/Aus-Entscheidungen getroffen werden sollen oder logische Nebenbedingungen vorliegen und wenn Variablen nur ganzzahlige Werte annehmen dürfen. Zu den typischen Anwendungsfällen zählen Routing, Scheduling, Planung, Zuordnung und die Investitionsplanung.

Zeitplan für zwei Stromgeneratoren bei variierenden Strompreisen.

Mehrziel-Optimierung

Lösen Sie Optimierungsprobleme, die mehrere Zielfunktionen besitzen, die einer Reihe von Nebenbedingungen unterliegen.

Solver

Formulieren Sie Probleme entweder als Zielerreichungs- oder als Minimax-Aufgabe. Nutzen Sie das Zielerreichungsverfahren, wenn es optional gewichtete Zielwerte für jede der Zielfunktionen gibt. Nutzen Sie hingegen das Minimax-Verfahren, um den ungünstigsten Wert einer Reihe von Zielfunktionen zu minimieren.

Ergebnis des Durchlaufens von Zielfunktionsgewichtungen mit fgoalattain.

Anwendungen

Die Mehrziel-Optimierung bietet sich an, wenn zwei oder mehr gegensätzliche Ziele gewisse Kompromisse erfordern. Beispiele sind das Gewicht und die Festigkeit bei der Bauplanung oder das Risiko und die Rendite bei der Portfolio-Optimierung.

Amplitudengang für anfängliche und optimierte Filterkoeffizienten.

Kleinste-Quadrate-Probleme und Gleichungen

Lösen Sie nichtlineare Kleinste-Quadrate-Probleme und nichtlineare Gleichungssysteme mit oberen und unteren Schranken. Lösen Sie lineare Kleinste-Quadrate-Probleme mit oberen und unteren Schranken und linearen Nebenbedingungen.

Lineare Kleinste-Quadrate-Anwendungen

Nutzen Sie lineare Kleinste-Quadrate-Solver, um ein lineares Modell an erfasste Daten anzupassen oder um ein lineares Gleichungssystem zu lösen, auch wenn die Parameter obere und untere Schranken besitzen und linearen Nebenbedingungen unterliegen.

Wiederherstellung eines unscharfen Bilds durch Lösen eines linearen Kleinste-Quadrate-Problems.

Nichtlineare Kleinste-Quadrate-Anwendungen

Nutzen Sie nichtlineare Kleinste-Quadrate-Solver, um ein nichtlineares Modell an erfasste Daten anzupassen oder um ein nichtlineares Gleichungssystem zu lösen, auch wenn die Parameter obere und untere Schranken besitzen.

Anpassen eines Kreisbogens an das Lorenz-System von gewöhnlichen Differenzialgleichungen.

Deployment

Entwickeln Sie optimierungsbasierte Entscheidungsfindungs- und Entwurfstools.

Unterstützung für MATLAB Compiler

Mit MATLAB Compiler™ und MATLAB Compiler SDK™ können Sie MATLAB-Optimierungsmodelle als eigenständig ausführbare Dateien, Web-Apps, C/C++ Shared Libraries, Microsoft® .NET Assemblies, Java®-Klassen und Python®-Pakete bereitstellen.

App zum Festlegen des optimalen Zeitplans für die Stromerzeugung.

Neue Funktionen

Codegenerierung

Generierung von C/C++-Code zur Lösung von Optimierungsproblemen mit nichtlinearen Bedingungen mit fmincon (erfordert MATLAB Coder)

Optimierungsmodellierung

Formulieren von nichtlinearen Kleinste-Quadrate-Problemen und Systemen nichtlinearer Gleichungen unter Verwendung von Optimierungsvariablen in Funktionen oder rationalen Ausdrücken

Lösen von Optimierungsaufgaben

Lösen von nichtlinearen Kleinste-Quadrate-Problemen und Systemen nichtlinearer Gleichungen mit automatisch ausgewählten Solvern

Details zu diesen Merkmalen und den zugehörigen Funktionen finden Sie in den Versionshinweisen.

Kostenlose Testversion anfordern

30 Tage Ausprobieren zum Greifen nah.

Jetzt downloaden

Bereit zum Kauf?

Fordern Sie ein Angebot an und informieren Sie sich über verwandte Produkte.

Studieren Sie?

Fordern Sie die MATLAB und Simulink Student Software an.

Weitere Informationen