Optimization Service

Optymalizacja

Usługa optymalizacji liniowej, która służy do modelowania i rozwiązywania programów liniowych i mieszanych 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 (niewiadome).
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 całkowitoliczbowych.
LinearOptimizationSolutionRozwiązanie programu liniowego.
StatusStan rozwiązania.
VariableTypeTyp zmiennych utworzonych 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 do modelu nowe ograniczenie liniowe.
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineDodaje do modelu ograniczenia w partiach.
addVariable(name, lowerBound, upperBound)LinearOptimizationEngineDodaje do modelu nową zmienną ciągłą.
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngineDodaje do modelu nową zmienną.
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngineDodaje do modelu nową zmienną.
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngineDodaje do modelu zmienne w trybie zbiorczym.
setMaximization()LinearOptimizationEngineUstawia kierunek optymalizacji na maksymalizację liniowej funkcji celu.
setMinimization()LinearOptimizationEngineUstawia kierunek optymalizacji na minimalizację 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 narzędzia do rozwiązywania.
VariableTypeVariableTypeTyp zmiennych utworzonych przez solver.

Metody

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

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 wykonalne lub optymalne.

Status

Właściwości

WłaściwośćTypOpis
OPTIMALEnumStan, gdy znaleziono optymalne rozwiązanie.
FEASIBLEEnumStan, w którym znaleziono wykonalne (niekoniecznie optymalne) rozwiązanie.
INFEASIBLEEnumStan, w którym bieżący model jest niewykonalny (nie ma rozwiązania).
UNBOUNDEDEnumStan, w którym bieżący model jest niepowiązany.
ABNORMALEnumStan, gdy nie udało się znaleźć rozwiązania z nieoczekiwanych 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ą.