Optimization Service

Оптимизация

Сервис линейной оптимизации, используемый для моделирования и решения линейных и смешанных целочисленных линейных программ.

Классы

Имя Краткое описание
Linear Optimization Constraint Объект, хранящий линейное ограничение вида lower Bound ≤ Sum(a(i) x(i)) ≤ upperBound , где lower Bound и upper Bound — константы, a(i) — постоянные коэффициенты, а x(i) — переменные (неизвестные).
Linear Optimization Engine Программа используется для моделирования и решения задач линейного программирования.
Linear Optimization Service Сервис линейной оптимизации, используемый для моделирования и решения линейных и смешанных целочисленных линейных программ.
Linear Optimization Solution Решение задачи линейного программирования.
Status Состояние решения.
Variable Type Тип переменных, создаваемых движком.

LinearOptimizationConstraint

Методы

Метод Тип возвращаемого значения Краткое описание
set Coefficient(variableName, coefficient) Linear Optimization Constraint Задает коэффициент переменной в ограничении.

LinearOptimizationEngine

Методы

Метод Тип возвращаемого значения Краткое описание
add Constraint(lowerBound, upperBound) Linear Optimization Constraint Добавляет новое линейное ограничение в модель.
add Constraints(lowerBounds, upperBounds, variableNames, coefficients) Linear Optimization Engine Добавляет ограничения к модели в пакетном режиме.
add Variable(name, lowerBound, upperBound) Linear Optimization Engine Добавляет в модель новую непрерывную переменную.
add Variable(name, lowerBound, upperBound, type) Linear Optimization Engine Добавляет новую переменную в модель.
add Variable(name, lowerBound, upperBound, type, objectiveCoefficient) Linear Optimization Engine Добавляет новую переменную в модель.
add Variables(names, lowerBounds, upperBounds, types, objectiveCoefficients) Linear Optimization Engine Добавляет переменные в модель пакетом.
set Maximization() Linear Optimization Engine Задает направление оптимизации для максимизации линейной целевой функции.
set Minimization() Linear Optimization Engine Задает направление оптимизации на минимизацию линейной целевой функции.
set Objective Coefficient(variableName, coefficient) Linear Optimization Engine Задает коэффициент переменной в линейной целевой функции.
solve() Linear Optimization Solution Решает текущую задачу линейного программирования с заданным по умолчанию временем выполнения 30 секунд.
solve(seconds) Linear Optimization Solution Решает текущую задачу линейного программирования.

LinearOptimizationService

Характеристики

Свойство Тип Описание
Status Status Статус решателя.
Variable Type Variable Type Тип переменных, создаваемых решателем.

Методы

Метод Тип возвращаемого значения Краткое описание
create Engine() Linear Optimization Engine Создает механизм для решения задач линейного программирования (возможно, и задач смешанного целочисленного программирования).

LinearOptimizationSolution

Методы

Метод Тип возвращаемого значения Краткое описание
get Objective Value() Number Получает значение целевой функции в текущем решении.
get Status() Status Получает информацию о статусе решения.
get Variable Value(variableName) Number Получает значение переменной в решении, созданном последним вызовом метода Linear Optimization Engine.solve() .
is Valid() Boolean Определяет, является ли решение допустимым или оптимальным.

Status

Характеристики

Свойство Тип Описание
OPTIMAL Enum Статус, когда найдено оптимальное решение.
FEASIBLE Enum Статус, когда найдено приемлемое (не обязательно оптимальное) решение.
INFEASIBLE Enum Статус, когда текущая модель нецелесообразна (не имеет решения).
UNBOUNDED Enum Статус, когда текущая модель не привязана.
ABNORMAL Enum Статус, когда не удалось найти решение по непредвиденным причинам.
MODEL_INVALID Enum Статус, когда модель недействительна.
NOT_SOLVED Enum Статус, когда Linear Optimization Engine.solve() еще не был вызван.

VariableType

Характеристики

Свойство Тип Описание
INTEGER Enum Тип переменной, которая может принимать только целочисленные значения.
CONTINUOUS Enum Тип переменной, которая может принимать любое действительное значение.