Optimization Service

Optimierung

Dienst für die lineare Optimierung, der zum Modellieren und Lösen von linearen Modellen mit linearen oder gemischten Ganzzahlen verwendet wird.

Kurse

NameKurzbeschreibung
LinearOptimizationConstraintObjekt, das eine lineare Einschränkung der Form lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound speichert, wobei lowerBound und upperBound Konstanten, a(i) konstante Koeffizienten und x(i) Variablen (unbekannte Werte) sind.
LinearOptimizationEngineDie Engine, die zum Modellieren und Lösen eines linearen Programms verwendet wird.
LinearOptimizationServiceDienst für die lineare Optimierung, der zum Modellieren und Lösen von linearen Modellen mit linearen oder gemischten Ganzzahlen verwendet wird.
LinearOptimizationSolutionDie Lösung eines linearen Programms.
StatusStatus der Lösung.
VariableTypeTyp der von der Suchmaschine erstellten Variablen.

LinearOptimizationConstraint

Methoden

MethodeRückgabetypKurzbeschreibung
setCoefficient(variableName, coefficient)LinearOptimizationConstraintLegt den Koeffizienten einer Variablen in der Einschränkung fest.

LinearOptimizationEngine

Methoden

MethodeRückgabetypKurzbeschreibung
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintFügt dem Modell eine neue lineare Einschränkung hinzu.
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineFügt dem Modell im Batch Einschränkungen hinzu.
addVariable(name, lowerBound, upperBound)LinearOptimizationEngineFügt dem Modell eine neue kontinuierliche Variable hinzu.
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngineFügt dem Modell eine neue Variable hinzu.
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngineFügt dem Modell eine neue Variable hinzu.
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngineFügt dem Modell Variablen im Batch hinzu.
setMaximization()LinearOptimizationEngineLegt die Optimierungsrichtung für die Maximierung der linearen Zielfunktion fest.
setMinimization()LinearOptimizationEngineLegt die Optimierungsrichtung für die Minimierung der linearen Zielfunktion fest.
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngineLegt den Koeffizienten einer Variablen in der linearen Zielfunktion fest.
solve()LinearOptimizationSolutionLöst das aktuelle lineare Programm mit der Standardfrist von 30 Sekunden.
solve(seconds)LinearOptimizationSolutionLöst das aktuelle lineare Programm.

LinearOptimizationService

Attribute

PropertyTypBeschreibung
StatusStatusStatus des Matherechners.
VariableTypeVariableTypeTyp der vom Matherechner erstellten Variablen.

Methoden

MethodeRückgabetypKurzbeschreibung
createEngine()LinearOptimizationEngineErstellt eine Engine zum Lösen linearer Programme (möglicherweise Programme mit gemischten Ganzzahlen).

LinearOptimizationSolution

Methoden

MethodeRückgabetypKurzbeschreibung
getObjectiveValue()NumberRuft den Wert der Zielfunktion in der aktuellen Lösung ab.
getStatus()StatusRuft den Status der Lösung ab.
getVariableValue(variableName)NumberRuft den Wert einer Variablen in der Lösung ab, die durch den letzten Aufruf von LinearOptimizationEngine.solve() erstellt wurde.
isValid()BooleanBestimmt, ob die Lösung entweder durchführbar oder optimal ist.

Status

Attribute

PropertyTypBeschreibung
OPTIMALEnumStatus, wenn eine optimale Lösung gefunden wurde.
FEASIBLEEnumStatus, wenn eine durchführbare (nicht unbedingt optimale) Lösung gefunden wurde.
INFEASIBLEEnumStatus, wenn das aktuelle Modell nicht umsetzbar ist (keine Lösung)
UNBOUNDEDEnumStatus, wenn das aktuelle Modell nicht gebunden ist.
ABNORMALEnumStatus, wenn aus unerwarteten Gründen keine Lösung gefunden werden konnte.
MODEL_INVALIDEnumStatus, wenn das Modell ungültig ist.
NOT_SOLVEDEnumStatus, wenn LinearOptimizationEngine.solve() noch nicht aufgerufen wurde.

VariableType

Attribute

PropertyTypBeschreibung
INTEGEREnumTyp der Variablen, die nur Ganzzahlwerte annehmen kann.
CONTINUOUSEnumTyp der Variablen, die einen beliebigen reellen Wert annehmen kann.