Class LinearOptimizationService

LinearOptimizationService

Dienst für die lineare Optimierung, der zum Modellieren und Lösen von linearen Modellen mit linearen oder gemischten Ganzzahlen verwendet wird. Das folgende Beispiel löst das folgende lineare Programm:

Zwei Variablen, x und y:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

Einschränkungen:
0 ≤ 2 * x + 5 * y ≤ 10
0 ≤ 10 * x + 3 * y ≤ 20

Ziel:
x + y maximieren

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'));
}

Attribute

PropertyTypBeschreibung
StatusStatusStatus des Matherechners.
VariableTypeVariableTypeTyp der vom Matherechner erstellten Variablen.

Methoden

MethodeRückgabetypKurzbeschreibung
createEngine()LinearOptimizationEngineErstellt eine Engine zum Lösen linearer Programme (möglicherweise Programme mit gemischten Ganzzahlen).

Detaillierte Dokumentation

createEngine()

Erstellt eine Engine zum Lösen linearer Programme (möglicherweise Programme mit gemischten Ganzzahlen).

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

// ...

Return

LinearOptimizationEngine – eine Engine zur linearen Optimierung