Optimization Service

Optimierung

Der Dienst für lineare Optimierung, der zum Modellieren und Lösen linearer und gemischt-ganzzahliger linearer Programme verwendet wird.

Klassen

NameKurzbeschreibung
LinearOptimizationConstraintObjekt, in dem eine lineare Einschränkung der Form lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound gespeichert wird, wobei lowerBound und upperBound Konstanten, a(i) konstante Koeffizienten und x(i) Variablen (Unbekannte) sind.
LinearOptimizationEngineDie Engine, die zum Modellieren und Lösen eines linearen Programms verwendet wird.
LinearOptimizationServiceDer Dienst für lineare Optimierung, der zum Modellieren und Lösen linearer und gemischt-ganzzahliger linearer Programme verwendet wird.
LinearOptimizationSolutionDie Lösung eines linearen Programms.
StatusStatus der Lösung.
VariableTypeTyp der von der Engine 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 Einschränkungen im Batch 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 auf die Maximierung der linearen Zielfunktion fest.
setMinimization()LinearOptimizationEngineLegt die Optimierungsrichtung auf 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 dem Standardzeitlimit von 30 Sekunden.
solve(seconds)LinearOptimizationSolutionLöst das aktuelle lineare Programm.

LinearOptimizationService

Properties

AttributTypBeschreibung
StatusStatusStatus des Solvers.
VariableTypeVariableTypeTyp der vom Solver erstellten Variablen.

Methoden

MethodeRückgabetypKurzbeschreibung
createEngine()LinearOptimizationEngineErstellt eine Engine zum Lösen linearer Programme (möglicherweise gemischt-ganzzahliger Programme).

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()BooleanGibt an, ob die Lösung entweder machbar oder optimal ist.

Status

Properties

AttributTypBeschreibung
OPTIMALEnumStatus, wenn eine optimale Lösung gefunden wurde.
FEASIBLEEnumStatus, wenn eine praktikable (nicht unbedingt optimale) Lösung gefunden wurde.
INFEASIBLEEnumStatus, wenn das aktuelle Modell nicht realisierbar ist (keine Lösung hat).
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

Properties

AttributTypBeschreibung
INTEGEREnumVariablentyp, der nur ganzzahlige Werte annehmen kann.
CONTINUOUSEnumVariablentyp, der einen beliebigen reellen Wert annehmen kann.