Class LinearOptimizationService

LinearOptimizationService

O serviço de otimização linear, usado para modelar e resolver linear e números inteiros mistos programas. O exemplo abaixo resolve o seguinte programa linear:

Duas variáveis, x e y:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

Restrições:
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'));
}

Propriedades

PropriedadeTipoDescrição
StatusStatusStatus do solucionador.
VariableTypeVariableTypeTipo de variáveis criadas pelo solucionador.

Métodos

MétodoTipo de retornoBreve descrição
createEngine()LinearOptimizationEngineCria um mecanismo para resolver programas lineares (possivelmente programas de números inteiros mistos).

Documentação detalhada

createEngine()

Cria um mecanismo para resolver programas lineares (possivelmente programas de números inteiros mistos).

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

// ...

Retornar

LinearOptimizationEngine: um mecanismo de otimização linear