Global Optimization Toolbox

 

Global Optimization Toolbox

Lösung von nicht glatten Optimierungsproblemen und Optimierungsproblemen mit mehreren Maxima und Minima

Jetzt beginnen:

Lösung von Optimierungsproblemen

Wählen Sie einen Solver, definieren Sie Ihr Optimierungsproblem und legen Sie Optionen für das Algorithmusverhalten sowie für Toleranzen, Stoppkriterien, Visualisierungen und Anpassungen fest.

Modellierung und Auswahl von Optimierungsansätzen

Überführen Sie eine Problembeschreibung in eine mathematische Form, damit Sie das Problem mithilfe von Optimierungsverfahren lösen können. Wählen Sie den problembasierten Ansatz und schreiben Sie Zielfunktionen und Nebenbedingungen mithilfe von Ausdrücken aus Optimierungsvariablen. Wenden Sie dann einen automatisch ausgewählten Solver an. Entscheiden Sie sich alternativ für den Solver-basierten Ansatz, um Zielfunktionen und Nebenbedingungen mithilfe von Funktionen und Koeffizientenmatrizen zu definieren.

Angeben von Solver und Problem

Nutzen Sie den Live Editor Task „Optimize“ mit dem problembasierten oder Solver-basierten Ansatz für die Auswahl eines geeigneten Solvers für den jeweiligen Problemtyp.

Festlegen allgemeiner Optionen

Legen Sie die Stoppkriterien für den ausgewählten Solver fest. Legen Sie Toleranzen für die Optimalität und die Bedingungen fest. Beschleunigen Sie die Lösung durch Parallel Computing.

Beschleunigungen dank Parallel Computing

Beschleunigungen dank Parallel Computing.

Bewerten von Zwischenergebnissen

Verwenden Sie Darstellungsfunktionen, um den Optimierungsfortschritt in Echtzeit zu verfolgen. Schreiben Sie Ihre eigenen oder verwenden Sie die bereitgestellten. Verwenden Sie Ausgabefunktionen, um Ihre eigenen Stoppkriterien zu definieren, schreiben Sie Ergebnisse in Dateien, oder schreiben Sie Ihre eigenen Apps für die Ausführung der Solver.

Benutzerdefinierte Darstellungsfunktion für Pattern Search

Benutzerdefinierte Darstellungsfunktion für Pattern Search.

GlobalSearch und MultiStart

Verwenden Sie gradientenbasierte Solver, um bei der Suche nach globalen Minima lokale Minima von mehreren Startpunkten aus zu finden. Andere lokale oder globale Minima werden zurückgegeben. Lösen Sie glatte Probleme mit und ohne Bedingungen.

Vergleichen von Solvern

Verwenden Sie GlobalSearch, um mehrere Startpunkte zu generieren und sie zu filtern, bevor Sie den nichtlinearen Solver starten. Dies führt häufig zu Lösungen in hoher Qualität. Mit MultiStart können Sie lokale Solver sowie verschiedene Möglichkeiten für die Erstellung von Startpunkten wählen.

Ergebnisse von GlobalSearch und MultiStart

Ergebnisse von GlobalSearch und MultiStart.

Auswählen von Optionen für GlobalSearch

Legen Sie die Anzahl der Testpunkte fest und optimieren Sie die Suche. 

Auswählen von Optionen für MultiStart

Geben Sie den nichtlinearen Solver an. Wählen Sie eine Generierungsmethode für Startpunkte oder verwenden Sie einen benutzerdefinierten Satz. Beschleunigen Sie die Lösung durch Parallel Computing.

Surrogatbasierte Optimierung

Suchen Sie nach globalen Minima in Problemen mit zeitaufwendigen Zielfunktionen. Der Solver erstellt eine Näherung für die Funktion, die schnell evaluiert und minimiert werden kann.

Auswählen von Optionen

Stellen Sie einen Satz von Anfangspunkten und optionalen Zielwerten bereit, um das anfängliche Surrogat zu erstellen. Legen Sie die Anzahl der Punkte fest, die für das Surrogat verwendet werden sollen, sowie einen minimalen Abstand zwischen den Einzelwerten. Beschleunigen Sie die Lösung durch Parallel Computing.

Integrierte grafische Darstellung von Einzel-, Anpassungs- und Bestpunkten

Integrierte grafische Darstellung von Einzel-, Anpassungs- und Bestpunkten.

Pattern Search

Beginnen Sie am aktuellen Punkt und fügen Sie eine Reihe von Vektoren hinzu, um neue Testpunkte zu erhalten.  Bewerten Sie die Zielfunktion der Testpunkte und nutzen Sie diese Informationen zur Aktualisierung des aktuellen Punkts.  Wiederholen Sie den Vorgang, bis der aktuelle Punkt optimal ist.

Angeben des Problems

Lösen Sie Probleme ohne Bedingungen, mit Grenzbedingungen oder mit linearen oder nichtlinearen Bedingungen. Die Zielfunktion und die Bedingungsfunktion müssen nicht differenzierbar oder stetig sein.

Besteigen von Mount Washington in den White Mountains

Besteigen von Mount Washington in den White Mountains.

Auswählen von Optionen

Wählen Sie aus verschiedenen Algorithmusoptionen, um die effizienteste Lösung zu erhalten.  Wählen Sie Diagrammpunkte zur Überwachung der Optimierung.  Beschleunigen Sie den Prozess durch parallele Verarbeitung.

Integrierte grafische Darstellungen für Funktionswert und -evaluierungen

Integrierte grafische Darstellungen für Funktionswert und -evaluierungen.

Genetischer Algorithmus

Suchen Sie nach globalen Minima, indem die Prinzipien der biologischen Evolution nachgeahmt werden. Dies geschieht durch das wiederholte Ändern einer Population von einzelnen Punkten mithilfe von Regeln, die basierend auf in der biologischen Fortpflanzung vorkommenden Genkombinationen gebildet wurden.

Auswählen von Optionen

Wählen Sie unter Optionen für Erstellung, Fitness-Scaling, Auswahl, Crossover und Mutation. Geben Sie die Populationsgröße, die Anzahl von Elite Children und den Crossover-Anteil an. Beschleunigen Sie die Lösung durch Parallel Computing.

Funktion mit mehreren lokalen Minima

Funktion mit mehreren lokalen Minima.

Anpassen

Stellen Sie Ihre eigenen Funktionen für die Erstellung, die Auswahl und die Mutation bereit. Verwenden Sie benutzerdefinierte Datentypen, um Ihr Problem leichter zu formulieren. Wenden Sie eine zweite Optimierung an, um Lösungen zu verfeinern.

Lösung des Problems des Handlungsreisenden

Lösung des Problems des Handlungsreisenden.

Partikelschwarm

Suchen Sie mit einem Algorithmus nach globalen Minima, der dem Verhalten von Insektenschwärmen nachempfunden ist. Jedes Partikel bewegt sich in einer Geschwindigkeit und Richtung, die vom besten Ort beeinflusst ist, den es bisher gefunden hat, und vom besten Ort, den der Schwarm gefunden hat.

Angeben des Problems

Lösen Sie Probleme ohne Bedingungen oder Probleme mit Grenzbedingungen. Die Zielfunktion muss nicht differenzierbar oder stetig sein.

Anzeigen eines Pfads mit fünf Bewegungen für jedes Partikel

Anzeigen eines Pfads mit fünf Bewegungen für jedes Partikel.

Auswählen von Optionen

Optimieren Sie die Geschwindigkeitsberechnung, indem Sie die Trägheit sowie Gewichtungen für die individuelle und die soziale Anpassung festlegen. Legen Sie die Größe der Nachbarschaft fest. Beschleunigen Sie die Lösung durch Parallel Computing.

Optimierung mit einem Partikelschwarm

Integrierte Darstellungsfunktionen.

Anpassen

Stellen Sie Ihre eigene Funktion für die Erstellung des anfänglichen Schwarms bereit. Wenden Sie eine zweite Optimierung an, um Lösungen zu verfeinern.

Partikelschwarm-Optionen

Partikelschwarm für eine stochastische Funktion.

Simuliertes Annealing

Suchen Sie mit einem wahrscheinlichkeitstheoretischen Suchalgorithmus nach globalen Minima. Der Algorithmus bildet den physikalischen Prozess einer Glühung (Annealing) nach, bei dem ein Material erhitzt und seine Temperatur dann langsam gesenkt wird, um Defekte zu verringern, sodass die Systemenergie minimiert wird.

Angeben des Problems

Lösen Sie Probleme ohne Bedingungen oder Probleme mit Grenzbedingungen. Die Zielfunktion muss nicht differenzierbar oder stetig sein.

Funktion mit vielen lokalen Minima

Funktion mit vielen lokalen Minima.

Auswählen von Optionen

Wählen Sie unter Optionen für Algorithmen für adaptives simuliertes Annealing, Boltzmann-Annealing oder schnelles Annealing.

Optionen für simuliertes Annealing

Visualisierung von simuliertem Annealing.

Anpassen

Erstellen Sie Funktionen, um den Annealing-Prozess, die Akzeptanzkriterien und den Temperaturplan zu definieren. Verwenden Sie benutzerdefinierte Datentypen, um Ihr Problem leichter zu formulieren. Wenden Sie eine zweite Optimierung an, um Lösungen zu verfeinern.

Multiprozessor-Scheduling

Multiprozessor-Scheduling.

Mehrziel-Optimierung

Identifizieren Sie die Pareto-Front – den Satz nicht majorisierter Lösungen – für Probleme mit mehreren Zielen und mit Grenzbedingungen oder linearen oder nichtlinearen Bedingungen. Verwenden Sie als Solver wahlweise Pattern Search oder den genetischen Algorithmus.

Vergleichen von Solvern

Verwenden Sie den Pattern Search-Algorithmus mit mehreren Zielen, um eine Pareto-Front mit weniger Funktionsevaluierungen zu generieren als mit dem genetischen Algorithmus mit mehreren Zielen. Der genetische Algorithmus generiert möglicherweise weiter auseinanderliegende Punkte. 

Auswählen von Optionen für Pattern Search

Stellen Sie einen Satz von Anfangspunkten bereit. Geben Sie die gewünschte Größe der Pareto-Menge, den Polling-Mindestanteil und die Umfangsänderungs-Toleranz an. Stellen Sie automatisch Pareto-Fronten in 2D und 3D dar. Beschleunigen Sie die Lösung durch Parallel Computing.

Pareto-Grenzfläche der drei Ziele

Pareto-Grenzfläche der drei Ziele.

Festlegen von Optionen für den genetischen Algorithmus

Geben Sie den Anteil der Individuen an, die in der Pareto-Front mit höchstem Rang verbleiben sollen. Stellen Sie automatisch Pareto-Fronten in 2D dar. Beschleunigen Sie die Lösung durch Parallel Computing.

Pareto-Front für zwei Ziele

Pareto-Front für zwei Ziele.