Optimization Service

Optimisation

Service d'optimisation linéaire, utilisé pour modéliser et résoudre des programmes linéaires et mixtes en nombres entiers.

Classes

NomBrève description
LinearOptimizationConstraintObjet stockant une contrainte linéaire de la forme lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound, où lowerBound et upperBound sont des constantes, a(i) sont des coefficients constants et x(i) sont des variables (inconnues).
LinearOptimizationEngineMoteur utilisé pour modéliser et résoudre un programme linéaire.
LinearOptimizationServiceService d'optimisation linéaire, utilisé pour modéliser et résoudre des programmes linéaires et mixtes en nombres entiers.
LinearOptimizationSolutionSolution d'un programme linéaire.
StatusÉtat de la solution.
VariableTypeType de variables créées par le moteur.

LinearOptimizationConstraint

Méthodes

MéthodeType renvoyéBrève description
setCoefficient(variableName, coefficient)LinearOptimizationConstraintDéfinit le coefficient d'une variable dans la contrainte.

LinearOptimizationEngine

Méthodes

MéthodeType renvoyéBrève description
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintAjoute une nouvelle contrainte linéaire au modèle.
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineAjoute des contraintes par lot au modèle.
addVariable(name, lowerBound, upperBound)LinearOptimizationEngineAjoute une variable continue au modèle.
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngineAjoute une variable au modèle.
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngineAjoute une variable au modèle.
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngineAjoute des variables groupées au modèle.
setMaximization()LinearOptimizationEngineDéfinit la direction d'optimisation pour maximiser la fonction objectif linéaire.
setMinimization()LinearOptimizationEngineDéfinit la direction d'optimisation sur la minimisation de la fonction objectif linéaire.
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngineDéfinit le coefficient d'une variable dans la fonction d'objectif linéaire.
solve()LinearOptimizationSolutionRésout le programme linéaire en cours avec le délai par défaut de 30 secondes.
solve(seconds)LinearOptimizationSolutionRésout le programme linéaire actuel.

LinearOptimizationService

Propriétés

PropriétéTypeDescription
StatusStatusÉtat du solveur.
VariableTypeVariableTypeType de variables créées par le solveur.

Méthodes

MéthodeType renvoyéBrève description
createEngine()LinearOptimizationEngineCrée un moteur pour résoudre des programmes linéaires (potentiellement des programmes à nombres entiers mixtes).

LinearOptimizationSolution

Méthodes

MéthodeType renvoyéBrève description
getObjectiveValue()NumberRécupère la valeur de la fonction objectif dans la solution actuelle.
getStatus()StatusRécupère l'état de la solution.
getVariableValue(variableName)NumberRécupère la valeur d'une variable dans la solution créée par le dernier appel à LinearOptimizationEngine.solve().
isValid()BooleanDétermine si la solution est réalisable ou optimale.

Status

Propriétés

PropriétéTypeDescription
OPTIMALEnumÉtat lorsque la solution optimale a été trouvée.
FEASIBLEEnumÉtat lorsque qu'une solution réalisable (mais pas nécessairement optimale) a été trouvée.
INFEASIBLEEnumÉtat lorsque le modèle actuel n'est pas réalisable (il n'a pas de solution).
UNBOUNDEDEnumÉtat lorsque le modèle actuel n'est pas lié.
ABNORMALEnumÉtat lorsque la solution n'a pas été trouvée pour des raisons inattendues.
MODEL_INVALIDEnumÉtat lorsque le modèle n'est pas valide.
NOT_SOLVEDEnumÉtat lorsque LinearOptimizationEngine.solve() n'a pas encore été appelé.

VariableType

Propriétés

PropriétéTypeDescription
INTEGEREnumType de variable qui ne peut prendre que des valeurs entières.
CONTINUOUSEnumType de variable pouvant prendre n'importe quelle valeur réelle.