Class LinearOptimizationService

Servicio deoptimización lineal

El servicio de optimización lineal, que se usa para modelar y resolver programas lineales y lineales de números enteros mixtos En el siguiente ejemplo, se 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

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

Propiedades

PropiedadTipoDescripción
StatusStatusEstado del solucionador.
VariableTypeVariableTypeEs el tipo de variables que crea el solucionador.

Métodos

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

Documentación detallada

createEngine()

Crea un motor para resolver programas lineales (posiblemente programas de números enteros mixtos).

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

// ...

Volver

LinearOptimizationEngine: Un motor de optimización lineal