Class LinearOptimizationService

LinearOptimizationService

Usługa optymalizacji liniowej służąca do modelowania i rozwiązywania programów liniowych liniowych i liniowych o różnej liczbie całkowitej. Przykład poniżej rozwiązuje następujący problem z programem liniowym:

2 zmienne, x i y:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

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

Cel:
Maksymalizacja skuteczności (x + y)

var 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
var constraint = engine.addConstraint(0, 10);
constraint.setCoefficient('x', 2);
constraint.setCoefficient('y', 5);

// Create the constraint: 0 <= 10 * x + 3 * y <= 20
var 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
var 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ązania.
VariableTypeVariableTypeRodzaj zmiennych utworzonych przez rozwiązanie.

Metody

MetodaZwracany typKrótki opis
createEngine()LinearOptimizationEngineTworzy mechanizm do rozwiązywania programów liniowych (potencjalnie programów zawierających mieszane liczby całkowite).

Szczegółowa dokumentacja

createEngine()

Tworzy mechanizm do rozwiązywania programów liniowych (potencjalnie programów zawierających mieszane liczby całkowite).

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

// ...

Powroty

LinearOptimizationEngine – liniowy mechanizm optymalizacji,