Class LinearOptimizationSolution Stay organized with collections Save and categorize content based on your preferences.
Page Summary
A
LinearOptimizationSolutionrepresents the solution of a linear program.The solution provides methods to get the objective value, the value of specific variables, the status of the solution, and to check its validity.
An example demonstrates how to define variables, constraints, and an objective function, solve the linear program, and then retrieve the solution details using the provided methods.
The solution of a linear program. The example below solves the following linear program:
Two variables,x andy:0 ≤ x ≤ 100 ≤ y ≤ 5
Constraints:0 ≤ 2 * x + 5 * y ≤ 100 ≤ 10 * x + 3 * y ≤ 20
Objective:
Maximizex + y
constengine=LinearOptimizationService.createEngine();// Add variables, constraints and define the objective with 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 objectiveengine.setMaximization();// Solve the linear programconstsolution=engine.solve();if(!solution.isValid()){Logger.log(`No solution${solution.getStatus()}`);}else{Logger.log(`Objective value:${solution.getObjectiveValue()}`);Logger.log(`Value of x:${solution.getVariableValue('x')}`);Logger.log(`Value of y:${solution.getVariableValue('y')}`);}
Methods
| Method | Return type | Brief description |
|---|---|---|
get | Number | Gets the value of the objective function in the current solution. |
get | Status | Gets the status of the solution. |
get | Number | Gets the value of a variable in the solution created by the last call toLinear. |
is | Boolean | Determines whether the solution is either feasible or optimal. |
Detailed documentation
getObjectiveValue()
Gets the value of the objective function in the current solution.
constengine=LinearOptimizationService.createEngine();// Add variables, constraints and define the objective with addVariable(),// addConstraint(), etcengine.addVariable('x',0,10);// ...// Solve the linear programconstsolution=engine.solve();Logger.log(`ObjectiveValue:${solution.getObjectiveValue()}`);
Return
Number — the value of the objective function
getStatus()
Gets the status of the solution. Before solving a problem, the status will beNOT_SOLVED.
constengine=LinearOptimizationService.createEngine();// Add variables, constraints and define the objective with addVariable(),// addConstraint(), etcengine.addVariable('x',0,10);// ...// Solve the linear programconstsolution=engine.solve();conststatus=solution.getStatus();if(status!==LinearOptimizationService.Status.FEASIBLE&&status!==LinearOptimizationService.Status.OPTIMAL){throw`No solution${status}`;}Logger.log(`Status:${status}`);
Return
Status — the status of the solver
getVariableValue(variableName)
Gets the value of a variable in the solution created by the last call toLinear.
constengine=LinearOptimizationService.createEngine();// Add variables, constraints and define the objective with addVariable(),// addConstraint(), etcengine.addVariable('x',0,10);// ...// Solve the linear programconstsolution=engine.solve();Logger.log(`Value of x:${solution.getVariableValue('x')}`);
Parameters
| Name | Type | Description |
|---|---|---|
variable | String | name of the variable |
Return
Number — the value of the variable in the solution
isValid()
Determines whether the solution is either feasible or optimal.
constengine=LinearOptimizationService.createEngine();// Add variables, constraints and define the objective with addVariable(),// addConstraint(), etcengine.addVariable('x',0,10);// ...// Solve the linear programconstsolution=engine.solve();if(!solution.isValid()){throw`No solution${solution.getStatus()}`;}
Return
Boolean —true if the solution is valid (Status.FEASIBLE orStatus.OPTIMAL);false if not
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.