Class LinearOptimizationService

LinearOptimizationService

Usługa optymalizacji liniowej, która służy do modelowania i rozwiązywania programów liniowych i mieszanych całkowitoliczbowych. Poniższy przykład rozwiązuje ten program liniowy:

Dwie zmienne, xy:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

Ograniczenia:
0 ≤ 2 * x + 5 * y ≤ 10
0 ≤ 10 * x + 3 * y ≤ 20

Cel:
Maksymalizacja 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')}`);
}

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).

Szczegółowa dokumentacja

createEngine()

Tworzy silnik do rozwiązywania programów liniowych (potencjalnie programów mieszanych całkowitoliczbowych).

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

// ...

Powrót

LinearOptimizationEngine – mechanizm optymalizacji liniowej,