Class LinearOptimizationService

LinearOptimizationService

Il servizio di ottimizzazione lineare, utilizzato per modellare e risolvere programmi lineari e lineari interi misti. L'esempio seguente 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 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')}`);
}

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 programmi lineari interi misti).

Documentazione dettagliata

createEngine()

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

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

// ...

Indietro

LinearOptimizationEngine : un motore di ottimizzazione lineare