Class LinearOptimizationService

LinearOptimizationService

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

2 zmiennych: 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 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).

Szczegółowa dokumentacja

createEngine()

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

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

// ...

Powrót

LinearOptimizationEngine — mechanizm optymalizacji liniowej.