Class LinearOptimizationService

LinearOptimizationService

El servicio de optimización lineal, que se usa para modelar y resolver cargas lineales y de números enteros mixtos programas. El siguiente ejemplo resuelve el siguiente programa lineal:

Dos variables, x y y:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

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

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

Propiedades

PropiedadTipoDescripción
StatusStatusEstado de la resolución.
VariableTypeVariableTypeTipo de variables creadas por la resolución.

Métodos

MétodoTipo de datos que se muestraDescripción breve
createEngine()LinearOptimizationEngineCrea un motor para resolver programas lineales (posibles programas con números enteros mixtos).

Documentación detallada

createEngine()

Crea un motor para resolver programas lineales (posibles programas con números enteros mixtos).

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

// ...

Volver

LinearOptimizationEngine: Es un motor de optimización lineal.