Class LinearOptimizationService

LinearOptimizationService

Service d'optimisation linéaire permettant de modéliser et de résoudre les programmes linéaires et d'entiers mixtes. L'exemple ci-dessous résout le programme linéaire suivant:

Deux variables, x et y:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

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

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

Propriétés

PropriétéTypeDescription
StatusStatusÉtat du résolveur.
VariableTypeVariableTypeType de variables créées par le résolveur.

Méthodes

MéthodeType renvoyéBrève description
createEngine()LinearOptimizationEngineCrée un moteur permettant de résoudre les programmes linéaires (programmes potentiellement mixtes de nombres entiers).

Documentation détaillée

createEngine()

Crée un moteur permettant de résoudre les programmes linéaires (programmes potentiellement mixtes de nombres entiers).

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

// ...

Renvois

LinearOptimizationEngine : moteur d'optimisation linéaire