Inhalte

# Optionen für Solver-Algorithmen

## DEPS entwickelnder Algorithmus

DEPS besteht aus zwei unabhängigen Algorithmen: Differentielle Entwicklung und Partikelschwarmoptimierung. Beide eignen sich besonders für numerische Probleme wie die nichtlineare Optimierung und ergänzen sich gegenseitig, indem sie die Mängel des anderen ausgleichen.

Einstellung | Beschreibung
--- | ---
Mittlere Wechselrate | Legt die Wahrscheinlichkeit fest, mit der eine Person die differentielle Entwicklungsstrategie wählt.
Variable Zellen nicht negativ | Markieren, um zu erzwingen, dass Variablen nur positiv sind.
DE: Wechselwahrscheinlichkeit | Legt die Wahrscheinlichkeit fest, dass der einzelne mit dem global besten Punkt kombiniert wird. Wenn kein Wechsel angegeben wird, wird der Punkt aus dem Einzelwert ermittelt.
DE: Skalierungsfaktor | Während des Wechsels entscheidet der Skalierungsfaktor über die „Geschwindigkeit“ der Bewegung.
Lernzyklen | Definiert die Anzahl der Wiederholung, die der Algorithmus ausführen soll. Bei jeder Wiederholung erraten alle Individuen die beste Lösung und teilen ihr Wissen.
PS: Kognitive Konstante | Legt die Wichtigkeit des eigenen Speichers fest (insbesondere den bisher am besten erreichten Punkt).
PS: Verengungskoeffizient | Legt die Geschwindigkeit fest, mit der sich die Partikel/Individuen aufeinander zu bewegen.
PS: Mutationswahrscheinlichkeit | Legt die Wahrscheinlichkeit fest, dass eine Komponente des Partikels nicht zum besten Punkt bewegt wird, sondern zufällig einen neuen Wert aus dem gültigen Bereich für diese Variable auswählt.
PS: Soziale Konstante | Legt die Wichtigkeit des global besten Punktes zwischen allen Partikeln/Individuen fest.
Erweiterten Solver-Status anzeigen | Falls aktiviert, wird während des Lösungsprozesses ein zusätzlicher Dialog angezeigt, der Informationen über den aktuellen Fortschritt, den Grad der Stagnation, die derzeit beste Lösung sowie die Möglichkeit zum Anhalten oder Fortsetzen des Solvers enthält.
Schwarmgröße | Legt die Anzahl der Individuen fest, die am Lernprozess teilnehmen sollen. Jedes einzelne findet seine eigenen Lösungen und trägt zum Gesamtwissen bei.
Stagnationsgrenze | Wenn diese Anzahl von Individuen Lösungen in einem engen Bereich gefunden hat, wird die Iteration gestoppt und der beste dieser Werte als optimal ausgewählt.
Stagnations-Toleranz | Legt fest, in welchem Bereich Lösungen als "ähnlich" gelten.
ACR-Komparator verwenden | Wenn deaktiviert (Standard), wird der BCH-Komparator verwendet. Er vergleicht zwei Individuen, indem er zuerst ihre Einschränkungen untersucht und nur dann, wenn diese gleich sind, ihre aktuelle Lösung misst. Wenn aktiviert, wird der ACR-Komparator verwendet. Er vergleicht zwei Individuen, die von der aktuellen Iteration abhängig sind, und misst ihre Güte mit dem Wissen über die schlechtesten bekannten Lösungen der Bibliotheken (im Hinblick auf ihre Einschränkungsverletzungen).
Zufälligen Startpunkt verwenden | Wenn aktiviert, wird die Bibliothek einfach mit zufällig ausgewählten Punkten gefüllt. Wenn deaktiviert, werden die aktuell vorhandenen Werte (wie vom Benutzer angegeben) als Referenzpunkt in die Bibliothek eingefügt.
Variable Grenzen erraten | Wenn aktiviert (Standard), versucht der Algorithmus, anhand der Startwerte variable Grenzen zu finden.
Schwellenwert für variable Grenzen | Beim Erraten variabler Grenzen legt dieser Schwellenwert fest, wie die Anfangswerte verschoben werden, um die Grenzen zu bilden. Ein Beispiel für die Berechnung dieser Werte finden Sie im Handbuch im Wiki.

## SCO-Entwicklungsalgorithmus

Die soziale kognitive Optimierung berücksichtigt das menschliche Verhalten beim Lernen und Teilen von Informationen. Jede Person hat Zugang zu einer gemeinsamen Bibliothek mit Wissen, das von allen Personen geteilt wird.

Einstellung | Beschreibung
--- | ---
Variable Zellen nicht negativ | Markieren, um zu erzwingen, dass Variablen nur positiv sind.
Lernzyklen | Legt die Anzahl der Wiederholungen fest, die der Algorithmus ausführen soll. In jeder Wiederholung erraten alle Individuen die beste Lösung und teilen ihr Wissen.
Erweiterten Solver-Status anzeigen | Falls aktiviert, wird während des Lösungsprozesses ein zusätzlicher Dialog angezeigt, der Informationen über den aktuellen Fortschritt, den Grad der Stagnation, die derzeit beste Lösung sowie die Möglichkeit zum Anhalten oder Fortsetzen des Solvers enthält.
Größe der Bibliothek | Legt die Menge der Informationen fest, die in der öffentlichen Bibliothek gespeichert werden sollen. Jeder Einzelne speichert dort Wissen und bittet um Informationen.
Schwarmgröße | Legt die Anzahl der Individuen fest, die am Lernprozess teilnehmen sollen. Jedes einzelne findet seine eigenen Lösungen und trägt zum Gesamtwissen bei.
Stagnationsgrenze | Wenn diese Anzahl von Individuen Lösungen in einem engen Bereich gefunden hat, wird die Iteration gestoppt und der beste dieser Werte als optimal ausgewählt.
Stagnations-Toleranz | Legt fest, in welchem Bereich Lösungen als "ähnlich" gelten.
ACR-Komparator verwenden | Wenn deaktiviert (Standard), wird der BCH-Komparator verwendet. Er vergleicht zwei Individuen, indem er zuerst ihre Einschränkungen untersucht und nur dann, wenn diese gleich sind, ihre aktuelle Lösung misst. Wenn aktiviert, wird der ACR-Komparator verwendet. Er vergleicht zwei Individuen, die von der aktuellen Iteration abhängig sind, und misst ihre Güte mit dem Wissen über die schlechtesten bekannten Lösungen der Bibliotheken (im Hinblick auf ihre Einschränkungsverletzungen).
Variable Grenzen erraten | Wenn aktiviert (Standard), versucht der Algorithmus, anhand der Startwerte variable Grenzen zu finden.
Schwellenwert für variable Grenzen | Beim Erraten variabler Grenzen legt dieser Schwellenwert fest, wie die Anfangswerte verschoben werden, um die Grenzen zu bilden. Ein Beispiel für die Berechnung dieser Werte finden Sie im Handbuch im Wiki.

## LibreOffice Linearer Solver und CoinMP Linearer Solver

Einstellung | Beschreibung
--- | ---
Variable Zellen als ganze Zahlen | Markieren, um zu erzwingen, dass Variablen nur ganze Zahlen annehmen.
Variable Zellen nicht negativ | Markieren, um zu erzwingen, dass Variablen nur positiv sind.
Epsilon-Level | Epsilon-Level. Gültige Werte liegen im Bereich von 0 (sehr eng) bis 3 (sehr weit). Epsilon ist die Toleranz für Rundungswerte auf Null.
Branch-and-Bound-Tiefe begrenzen | Legt die maximale Tiefe für Verzweigungen und Bindungen fest. Ein positiver Wert bedeutet, dass die Tiefe absolut ist. Ein negativer Wert bedeutet eine relative Tiefengrenze für Verzweigungen und Bindungen.
Zeitlimit des Solvers | Legt die maximale Zeit fest, die der Algorithmus benötigt, um zu einer Lösung zu konvergieren.

## LibreOffice Swarm Nichtlinearer Solver (experimentell)

Einstellung | Beschreibung
--- | ---
Variable Zellen als ganze Zahlen | Markieren, um zu erzwingen, dass Variablen nur ganze Zahlen annehmen.
Variable Zellen nicht negativ | Markieren, um zu erzwingen, dass Variablen nur positiv sind.
Zeitlimit des Solvers | Legt die maximale Zeit fest, die der Algorithmus benötigt, um zu einer Lösung zu konvergieren.
Schwarmalgorithmus | Stellt den Schwarmalgorithmus ein. 0 für die differentielle Evolution und 1 für die Partikelschwarmoptimierung. Standard ist 0.

Verwandte Themen

Solver-Optionen

Solver

Englische Wikiseite zu Solvern und deren Algorithmen

lp_solve Referenzhandbuch in sourceforge.net