Optimization Service

Otimização

É o serviço de otimização linear, usado para modelar e resolver programas lineares e de números inteiros mistos.

Classes

NomeBreve descrição
LinearOptimizationConstraintObjeto que armazena uma restrição linear da forma lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound, em que lowerBound e upperBound são constantes, a(i) são coeficientes constantes e x(i) são variáveis (desconhecidas).
LinearOptimizationEngineMecanismo usado para modelar e resolver um programa linear.
LinearOptimizationServiceÉ o serviço de otimização linear, usado para modelar e resolver programas lineares e de números inteiros mistos.
LinearOptimizationSolutionA solução de um programa linear.
StatusStatus da solução.
VariableTypeTipo de variáveis criadas pelo mecanismo.

LinearOptimizationConstraint

Métodos

MétodoTipo de retornoBreve descrição
setCoefficient(variableName, coefficient)LinearOptimizationConstraintDefine o coeficiente de uma variável na restrição.

LinearOptimizationEngine

Métodos

MétodoTipo de retornoBreve descrição
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintAdiciona uma nova restrição linear ao modelo.
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineAdiciona restrições em lote ao modelo.
addVariable(name, lowerBound, upperBound)LinearOptimizationEngineAdiciona uma nova variável contínua ao modelo.
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngineAdiciona uma nova variável ao modelo.
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngineAdiciona uma nova variável ao modelo.
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngineAdiciona variáveis em lote ao modelo.
setMaximization()LinearOptimizationEngineDefine a direção de otimização para maximizar a função de objetivo linear.
setMinimization()LinearOptimizationEngineDefine a direção de otimização para minimizar a função de objetivo linear.
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngineDefine o coeficiente de uma variável na função de objetivo linear.
solve()LinearOptimizationSolutionSoluciona o programa linear atual com o prazo padrão de 30 segundos.
solve(seconds)LinearOptimizationSolutionSoluciona o programa linear atual.

LinearOptimizationService

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 com números inteiros).

LinearOptimizationSolution

Métodos

MétodoTipo de retornoBreve descrição
getObjectiveValue()NumberRecebe o valor da função de objetivo na solução atual.
getStatus()StatusRecebe o status da solução.
getVariableValue(variableName)NumberRecebe o valor de uma variável na solução criada pela última chamada para LinearOptimizationEngine.solve().
isValid()BooleanDetermina se a solução é viável ou ideal.

Status

Propriedades

PropriedadeTipoDescrição
OPTIMALEnumStatus quando uma solução ideal é encontrada.
FEASIBLEEnumStatus quando uma solução viável (não necessariamente ideal) é encontrada.
INFEASIBLEEnumStatus quando o modelo atual é inviável (não tem solução).
UNBOUNDEDEnumStatus quando o modelo atual é desvinculado.
ABNORMALEnumStatus quando não foi possível encontrar uma solução por motivos inesperados.
MODEL_INVALIDEnumStatus quando o modelo é inválido.
NOT_SOLVEDEnumStatus quando LinearOptimizationEngine.solve() ainda não foi chamado.

VariableType

Propriedades

PropriedadeTipoDescrição
INTEGEREnumTipo de variável que só pode receber valores inteiros.
CONTINUOUSEnumTipo de variável que pode assumir qualquer valor real.