Class LinearOptimizationService

LinearOptimizationService

The linear optimization service, used to model and solve linear and mixed-integer linear programs. The example below solves the following linear program:

Two variables, x and y:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

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

Objective:
Maximize 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'));
 }
 

Properties

PropertyTypeDescription
StatusStatusStatus of the solver.
VariableTypeVariableTypeType of variables created by the solver.

Methods

MethodReturn typeBrief description
createEngine()LinearOptimizationEngineCreates an engine to to solve linear programs (potentially mixed-integer programs).

Detailed documentation

createEngine()

Creates an engine to to solve linear programs (potentially mixed-integer programs).


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

 // ...
 

Return

LinearOptimizationEngine — a linear optimization engine

Send feedback about...

Apps Script
Apps Script