SolverOptions-Funktion

Ermöglicht Ihnen das Angeben erweiterter Optionen für das Solver-Modell. Diese Funktion und ihre Argumente entsprechen den Optionen im Dialogfeld Solver-Optionen.

Hinweis Das Solver-Add-In ist standardmäßig nicht aktiviert. Bevor Sie diese Funktion verwenden können, muss das Solver-Add-In aktiviert und installiert werden. Informationen hierzu finden Sie unter Verwenden der Solver VBA-Funktionen. Nach der Installation des Solver-Add-Ins müssen Sie einen Verweis auf das Solver-Add-In erstellen. Klicken Sie im Visual Basic-Editor mit einem aktiven Modul auf Verweise im Menü Extras, und wählen Sie dann Solver unter Verfügbare Verweise aus. Wenn Solver nicht unter Verfügbare Verweise angezeigt wird, klicken Sie auf Durchsuchen, und öffnen Sie dann "Solver.xlam" im Unterordner "\Programme\Microsoft Office\Office14\Library\SOLVER".

SolverOptions(MaxTime, Iterations, Precision, AssumeLinear, StepThru, Estimates, Derivatives, SearchOption, IntTolerance, Scaling, Convergence, AssumeNonNeg, PopulationSize, RandomSeed, MultiStart, RequireBounds, MutationRate, MaxSubproblems, MaxIntegerSols, SolveWithout, MaxTimeNoImp)

MaxTime Optional Variant. Die maximale Zeitspanne (in Sekunden), die Solver mit dem Lösen des Problems verbringt. Der Wert muss eine positive ganze Zahl sein.

Iterations Optional Variant. Die maximale Anzahl der Iterationen, die Solver zur Lösung des Problems verwendet. Der Wert muss eine positive ganze Zahl sein.

Präzision Optionaler Variant-Wert. Eine Zahl zwischen 0 (null) und 1, die den Grad der Genauigkeit angibt, mit der Einschränkungen (einschließlich ganzzahligen Nebenbedingungen) erfüllt werden müssen. Die Standardgenauigkeit beträgt 0,000001. Eine kleinere Anzahl von Dezimalstellen (z. B. 0,0001) gibt einen niedrigeren Grad der Genauigkeit an. Im Allgemeinen gilt: Je höher der Grad der Genauigkeit (je kleiner die Zahl), desto länger braucht Solver, um Lösungen zu finden.

AssumeLinear Optional Variant. True, damit Solver annimmt, dass das zugrunde liegende Modell linear ist. Dies beschleunigt den Lösungsprozess, sollte aber nur verwendet werden, wenn alle Beziehungen im Modell linear sind. Der Standardwert ist False. StepThru Optional Variant. True, wenn Solver bei jedem Zwischenergebnisse anhalten soll. Sie können Solver ein Makro übergeben, das bei jeder Pause ausgeführt werden soll, indem Sie das ShowRef-Argument der SolverSolve-Funktion verwenden. False, wenn Solver nicht bei jedem Zwischenergebnisse anhalten soll. Der Standardwert ist False.

Schätzungen Optionaler Variant-Wert. Gibt den Ansatz an, der verwendet wird, um erste Schätzungen der grundlegenden Variablen in jeder eindimensionalen Suche zu erhalten: 1 steht für Tangensschätzungen und 2 für quadratische Schätzungen. Tangentenschätzungen verwenden eine lineare Extrapolation aus einem Tangensvektor. Quadratische Schätzungen verwenden quadratische Extrapolation; dies kann die Ergebnisse bei problemen mit sehr viel nichtlinearem Verhalten verbessern. Der Standardwert ist 1 (Tangensschätzungen).

Derivatives Optional Variant. Gibt die Vorwärtsdifferenzierung oder zentrale Differenzierung für Schätzungen von partiellen Ableitungen der Ziel- und Einschränkungsfunktionen an: 1 steht für Vorwärtsdifferenzierung, 2 steht für zentrale Differenzierung. Zentrale Differenzierung erfordert mehr Tabellenneuberechnungen, kann aber bei Problemen hilfreich sein, die eine Meldung generieren, dass Solver die Lösung nicht verbessern konnte. Bei Einschränkungen, deren Werte sich in der Nähe ihrer Grenzwerte schnell ändern, sollten Sie die zentrale Differenzierung verwenden. Der Standardwert ist 1 (Vorwärtsdifferenzierung).

SearchOption Optional Variant. Verwenden Sie die Suchoptionen , um den Suchalgorithmus anzugeben, der bei jeder Iteration verwendet wird, um zu entscheiden, in welcher Richtung gesucht werden soll: 1 steht für die Newton-Suchmethode und 2 für die Konjugatsuchmethode. Die Newton-Methode, die eine Quasi-Newton-Methode verwendet, ist die Standardmethode für die Suche.

IntTolerance Optionaler Variant-Wert. Eine Dezimalzahl zwischen 0 (null) und 100, die die Prozenttoleranz der ganzzahligen Optimalität angibt. Dieses Argument gilt nur, wenn ganzzahlige Einschränkungen definiert wurden. Es gibt an, dass Solver anhalten kann, wenn es eine machbare ganzzahlige Lösung gefunden hat, deren Ziel innerhalb dieses Prozentsatzes der bekanntesten Grenze für das Ziel der true integer optimalen Lösung liegt. Eine größere Prozentuale Toleranz würde den Lösungsprozess tendenziell beschleunigen.

Skalierung Optionaler Variant-Wert. Wenn sich das Ziel oder die Einschränkungen durch mehrere Größenordnungen unterscheiden, z. B. beim Maximieren des prozentualen Gewinns auf Grundlage von Investitionen in Höhe von Millionen US-Dollar, legen Sie diese Option auf True fest, damit Solver die Ziel- und Einschränkungswerte während der Berechnung intern auf ähnliche Größenordnungen skaliert. Wenn diese Option False ist, führt Solver die Berechnungen mit den ursprünglichen Werten des Ziels und der Einschränkungen durch. Der Standardwert ist True.

Convergence Optional Variant. Eine Zahl zwischen 0 (null) und 1, die die Konvergenztoleranz für die GRG Nonlinear Solving - und Evolutionary Solving -Methoden angibt. Wenn für die GRG-Methode die relative Änderung in der Zielzelle kleiner als diese Toleranz für die letzten fünf Iterationen ist, hält Solver an. Wenn bei der Evolutionary-Methode 99 % oder mehr der Mitglieder der Bevölkerung "Fitness"-Werte haben, deren relativer Unterschied (Prozentsatz) kleiner als diese Toleranz ist, hält Solver an. In beiden Fällen wird die Meldung "Solver konvergiert zur aktuellen Projektmappe. Alle Nebenbedingungen wurden eingehalten" angezeigt.

AssumeNonNeg Optional Variant. True , wenn Solver eine untere Grenze von 0 (null) für alle Entscheidungsvariablenzellen annimmt, die keine expliziten unteren Grenzwerte im Listenfeld Einschränkung aufweisen (die Zellen müssen nicht negative Werte enthalten). False, wenn Solver nur die im Listenfeld Einschränkung angegebenen Grenzwerte verwenden soll.

PopulationSize Optional Variant. True , wenn Solver eine untere Grenze von 0 (null) für alle Entscheidungsvariablenzellen annimmt, die keine expliziten unteren Grenzwerte im Listenfeld Einschränkung aufweisen (die Zellen müssen nicht negative Werte enthalten). False, wenn Solver nur die im Listenfeld "Einschränkung" angegebenen Grenzwerte verwendet soll.

RandomSeed Optional Variant. Eine positive ganze Zahl gibt einen festen Ausgangswert für den Zufallszahlengenerator an, der von der Evolutionary Solving -Methode und der Mehrfachstartmethode für die globale Optimierung verwendet wird. Das bedeutet, dass Solver die gleiche Lösung jedes Mal findet, wenn sie für ein Modell ausgeführt wird, das nicht geändert wurde. Der Wert 0 gibt an, dass Solver bei jeder Ausführung einen anderen Ausgangswert für den Zufallszahlengenerator verwenden soll, was jedes Mal zu anderen Lösungen führen kann, wenn er für ein Modell ausgeführt wird, das nicht geändert wurde.

MultiStart Optional Variant. True , wenn Solver die Multistart-Methode für die globale Optimierung mit der GRG Nonlinear Solving-Methode verwendet, wenn SolverSolve aufgerufen wird. False to have Solver run the GRG Solving method only once, without multistart, when SolverSolve is called.

RequireBounds Optional Variant. True , um die Evolutionary Solving-Methode und die Multistart-Methode sofort von einem Aufruf von SolverSolve mit dem Wert 18 zurückzugeben, wenn für eine der Variablen nicht sowohl die Unter- als auch die Obergrenze definiert ist. False, wenn diese Methoden versuchen sollen, das Problem ohne Grenzen für alle Variablen zu lösen.

MutationRate Optional Variant. Eine Zahl zwischen 0 (null) und 1, die die Rate angibt, mit der die Evolutionary Solving -Methode "Mutationen" für vorhandene Grundgesamtheitsmitglieder der Grundgesamtheit erstellt. Eine höhere Mutationsrate neigt dazu, die Vielfalt der Population zu erhöhen und bessere Lösungen zu liefern.

MaxSubproblems Optional Variant. Die maximale Anzahl Teilprobleme, die Solver bei Problemen mit ganzzahligen Einschränkungen und bei Problemen, die über die Evolutionary Solving -Methode gelöst werden, untersucht. Der Wert muss eine positive ganze Zahl sein.

MaxIntegerSols Optional Variant. Die maximale Anzahl von machbaren (oder ganzzahlig machbaren) Lösungen, die Solver bei Problemen mit ganzzahligen Einschränkungen und bei Problemen, die über die Evolutionary Solving -Methode gelöst werden, berücksichtigt. Der Wert muss eine positive ganze Zahl sein.

SolveWithout Optional Variant. True, wenn Solver alle ganzzahligen Einschränkungen ignorieren und die "Relaxation" des Problems lösen soll. False, wenn Solver die ganzzahligen Einschränkungen bei der Problemlösung verwenden soll.

MaxTimeNoImp Optionaler Variant-Wert. Wenn die Evolutionary Solving -Methode verwendet wird, die maximale Zeitdauer (in Sekunden), während der Solver die Lösung fortsetzen soll, ohne deutlich verbesserte Lösungen zum Hinzufügen zur Grundgesamtheit zu finden. Der Wert muss eine positive ganze Zahl sein.

Beispiel

In diesem Beispiel wird die Precision-Option auf 0,001 festgelegt.

Worksheets("Sheet1").Activate 
SolverReset 
SolverOptions Precision:=0.001 
SolverOK SetCell:=Range("TotalProfit"), _ 
    MaxMinVal:=1, _ 
    ByChange:=Range("C4:E6") 
SolverAdd CellRef:=Range("F4:F6"), _ 
    Relation:=1, _ 
    FormulaText:=100 
SolverAdd CellRef:=Range("C4:E6"), _ 
    Relation:=3, _ 
    FormulaText:=0 
SolverAdd CellRef:=Range("C4:E6"), _ 
    Relation:=4 
SolverSolve UserFinish:=False 
SolverSave SaveArea:=Range("A33")

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.