Class LinearOptimizationService

  • The LinearOptimizationService is used to model and solve linear and mixed-integer linear programs.

  • You can add variables with upper and lower bounds usingaddVariable().

  • Constraints on linear expressions of variables can be added usingaddConstraint().

  • The objective function to maximize or minimize can be set usingsetObjectiveCoefficient() andsetMaximization()/setMinimization().

  • ThecreateEngine() method is used to create an instance of a linear optimization engine.

LinearOptimizationService

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

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

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

Objective:
Maximizex + y

constengine=LinearOptimizationService.createEngine();// Add variables, constraints and define the objective using addVariable(),// addConstraint(), etc. Add two variables, 0 <= x <= 10 and 0 <= y <= 5engine.addVariable('x',0,10);engine.addVariable('y',0,5);// Create the constraint: 0 <= 2 * x + 5 * y <= 10letconstraint=engine.addConstraint(0,10);constraint.setCoefficient('x',2);constraint.setCoefficient('y',5);// Create the constraint: 0 <= 10 * x + 3 * y <= 20constraint=engine.addConstraint(0,20);constraint.setCoefficient('x',10);constraint.setCoefficient('y',3);// Set the objective to be x + yengine.setObjectiveCoefficient('x',1);engine.setObjectiveCoefficient('y',1);// Engine should maximize the objective.engine.setMaximization();// Solve the linear programconstsolution=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.constengine=LinearOptimizationService.createEngine();engine.addVariable('x',0,10);// ...

Return

LinearOptimizationEngine — a linear optimization engine

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-11 UTC.