Class LinearOptimizationService

LinearOptimizationService

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

Две переменные, x и y :
0 ≤ x ≤ 10
0 ≤ y ≤ 5

Ограничения:
0 ≤ 2 * x + 5 * y ≤ 10
0 ≤ 10 * x + 3 * y ≤ 20

Цель:
Максимизировать x + y

const engine = LinearOptimizationService.createEngine();

// Add variables, constraints and define the objective using addVariable(),
// addConstraint(), etc. Add two variables, 0 <= x <= 10 and 0 <= y <= 5
engine.addVariable('x', 0, 10);
engine.addVariable('y', 0, 5);

// Create the constraint: 0 <= 2 * x + 5 * y <= 10
let constraint = engine.addConstraint(0, 10);
constraint.setCoefficient('x', 2);
constraint.setCoefficient('y', 5);

// Create the constraint: 0 <= 10 * x + 3 * y <= 20
constraint = engine.addConstraint(0, 20);
constraint.setCoefficient('x', 10);
constraint.setCoefficient('y', 3);

// Set the objective to be x + y
engine.setObjectiveCoefficient('x', 1);
engine.setObjectiveCoefficient('y', 1);

// Engine should maximize the objective.
engine.setMaximization();

// Solve the linear program
const solution = engine.solve();
if (!solution.isValid()) {
  Logger.log(`No solution ${solution.getStatus()}`);
} else {
  Logger.log(`Value of x: ${solution.getVariableValue('x')}`);
  Logger.log(`Value of y: ${solution.getVariableValue('y')}`);
}

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

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

Методы

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

Подробная документация

createEngine()

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

// Creates a linear optimization engine.
const engine = LinearOptimizationService.createEngine();
engine.addVariable('x', 0, 10);

// ...

Возвращаться

LinearOptimizationEngine — механизм линейной оптимизации