Class LinearOptimizationService

LinearOptimizationService

Il servizio di ottimizzazione lineare, utilizzato per modellare e risolvere programmi lineari lineari e misti. L'esempio riportato di seguito risolve il seguente programma lineare:

Due variabili, x e y:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

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

Obiettivo:
Massimizzare il 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'));
}

Proprietà

ProprietàTipoDescrizione
StatusStatusStato del risolutore.
VariableTypeVariableTypeTipo di variabili create dal risolutore.

Metodi

MetodoTipo restituitoBreve descrizione
createEngine()LinearOptimizationEngineCrea un motore per risolvere programmi lineari (potenzialmente numeri interi misti).

Documentazione dettagliata

createEngine()

Crea un motore per risolvere programmi lineari (potenzialmente numeri interi misti).

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

// ...

Ritorni

LinearOptimizationEngine: un motore di ottimizzazione lineare