Optimization Service

Optymalizacja

Usługa optymalizacji liniowej, która służy do modelowania i rozwiązywania programów liniowych i mieszanych liniowych całkowitoliczbowych.

Zajęcia

NazwaKrótki opis
LinearOptimizationConstraintObiekt przechowujący ograniczenie liniowe w formie lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound, gdzie lowerBoundupperBound to stałe, a(i) to stałe współczynniki, a x(i) to zmienne (nieznane).
LinearOptimizationEngineSilnik używany do modelowania i rozwiązywania programu liniowego.
LinearOptimizationServiceUsługa optymalizacji liniowej, która służy do modelowania i rozwiązywania programów liniowych i mieszanych liniowych całkowitoliczbowych.
LinearOptimizationSolutionRozwiązanie programu liniowego.
StatusStan rozwiązania.
VariableTypeTyp zmiennych tworzonych przez silnik.

LinearOptimizationConstraint

Metody

MetodaZwracany typKrótki opis
setCoefficient(variableName, coefficient)LinearOptimizationConstraintUstawia współczynnik zmiennej w ograniczeniu.

LinearOptimizationEngine

Metody

MetodaZwracany typKrótki opis
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintDodaje nowe ograniczenie liniowe w modelu.
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineDodaje do modelu ograniczenia zbiorczo.
addVariable(name, lowerBound, upperBound)LinearOptimizationEngineDodaje do modelu nową zmienną ciągłą.
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngineDodaje nową zmienną do modelu.
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngineDodaje nową zmienną do modelu.
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngineDodaje zmienne zbiorczo do modelu.
setMaximization()LinearOptimizationEngineUstawia kierunek optymalizacji na maksymalizację liniowej funkcji celu.
setMinimization()LinearOptimizationEngineUstawia kierunek optymalizacji na minimalizowanie liniowej funkcji celu.
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngineUstawia współczynnik zmiennej w liniowej funkcji celu.
solve()LinearOptimizationSolutionRozwiązuje bieżący program liniowy z domyślnym terminem 30 sekund.
solve(seconds)LinearOptimizationSolutionRozwiązuje bieżący program liniowy.

LinearOptimizationService

Właściwości

WłaściwośćTypOpis
StatusStatusStan rozwiązywania.
VariableTypeVariableTypeTyp zmiennych utworzonych przez Solvera.

Metody

MetodaZwracany typKrótki opis
createEngine()LinearOptimizationEngineTworzy mechanizm do rozwiązywania programów liniowych (potencjalnie mieszanych programów całkowitych).

LinearOptimizationSolution

Metody

MetodaZwracany typKrótki opis
getObjectiveValue()NumberPobiera wartość funkcji celu w bieżącym rozwiązaniu.
getStatus()StatusPobiera stan rozwiązania.
getVariableValue(variableName)NumberPobiera wartość zmiennej w rozwiązaniu utworzonym przez ostatnie wywołanie funkcji LinearOptimizationEngine.solve().
isValid()BooleanOkreśla, czy rozwiązanie jest możliwe do zastosowania lub optymalne.

Status

Właściwości

WłaściwośćTypOpis
OPTIMALEnumStan, gdy znaleziono optymalne rozwiązanie.
FEASIBLEEnumStan, gdy znaleziono możliwe (niekoniecznie optymalne) rozwiązanie.
INFEASIBLEEnumStan, gdy bieżący model jest nieosiągalny (nie ma rozwiązania).
UNBOUNDEDEnumStan, gdy bieżący model jest niespójny.
ABNORMALEnumStan, gdy nie udało się znaleźć rozwiązania z nieoczekanych powodów.
MODEL_INVALIDEnumStan, gdy model jest nieprawidłowy.
NOT_SOLVEDEnumStan, gdy funkcja LinearOptimizationEngine.solve() nie została jeszcze wywołana.

VariableType

Właściwości

WłaściwośćTypOpis
INTEGEREnumTyp zmiennej, która może przyjmować tylko wartości całkowite.
CONTINUOUSEnumTyp zmiennej, która może przyjmować dowolną wartość rzeczywistą.