Optimization Service

Optimisation

Service d'optimisation linéaire permettant de modéliser et de résoudre les programmes linéaires et d'entiers mixtes.

Classes

NomBrève description
LinearOptimizationConstraintObjet stockant une contrainte linéaire au format 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 permettant de modéliser et de résoudre les programmes linéaires et d'entiers mixtes.
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 dans le 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 par lot au modèle.
setMaximization()LinearOptimizationEngineDéfinit la direction de l'optimisation de façon à maximiser la fonction d'objectif linéaire.
setMinimization()LinearOptimizationEngineDéfinit la direction de l'optimisation de façon à minimiser la fonction d'objectif linéaire.
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngineDéfinit le coefficient d'une variable dans la fonction d'objectif linéaire.
solve()LinearOptimizationSolutionRésoudre le programme linéaire actuel avec le délai par défaut de 30 secondes
solve(seconds)LinearOptimizationSolutionRésoudre le programme linéaire actuel

LinearOptimizationService

Propriétés

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

Méthodes

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

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 lorsqu'une solution optimale a été trouvée.
FEASIBLEEnumÉtat lorsqu'une solution réalisable (pas nécessairement optimale) a été trouvée.
INFEASIBLEEnumÉtat lorsque le modèle actuel est impossible (il n'y a pas de solution).
UNBOUNDEDEnumÉtat lorsque le modèle actuel n'est pas associé.
ABNORMALEnumÉtat en cas d'échec de la recherche de solution 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 accepter que des valeurs entières.
CONTINUOUSEnumType de variable pouvant accepter n'importe quelle valeur réelle.