Optimization Service

Ottimizzazione

Il servizio di ottimizzazione lineare, utilizzato per modellare e risolvere programmi lineari e lineari interi misti.

Corsi

NomeBreve descrizione
LinearOptimizationConstraintOggetto che memorizza un vincolo lineare della forma lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound dove lowerBound e upperBound sono costanti, a(i) sono coefficienti costanti e x(i) sono variabili (incognite).
LinearOptimizationEngineIl motore utilizzato per modellare e risolvere un programma lineare.
LinearOptimizationServiceIl servizio di ottimizzazione lineare, utilizzato per modellare e risolvere programmi lineari e lineari interi misti.
LinearOptimizationSolutionLa soluzione di un programma lineare.
StatusStato della soluzione.
VariableTypeTipo di variabili create dal motore.

LinearOptimizationConstraint

Metodi

MetodoTipo restituitoBreve descrizione
setCoefficient(variableName, coefficient)LinearOptimizationConstraintImposta il coefficiente di una variabile nel vincolo.

LinearOptimizationEngine

Metodi

MetodoTipo restituitoBreve descrizione
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintAggiunge un nuovo vincolo lineare nel modello.
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineAggiunge vincoli in batch al modello.
addVariable(name, lowerBound, upperBound)LinearOptimizationEngineAggiunge una nuova variabile continua al modello.
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngineAggiunge una nuova variabile al modello.
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngineAggiunge una nuova variabile al modello.
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngineAggiunge variabili in batch al modello.
setMaximization()LinearOptimizationEngineImposta la direzione di ottimizzazione per massimizzare la funzione obiettivo lineare.
setMinimization()LinearOptimizationEngineImposta la direzione di ottimizzazione per ridurre al minimo la funzione obiettivo lineare.
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngineImposta il coefficiente di una variabile nella funzione obiettivo lineare.
solve()LinearOptimizationSolutionRisolve il programma lineare corrente con la scadenza predefinita di 30 secondi.
solve(seconds)LinearOptimizationSolutionRisolve il programma lineare corrente.

LinearOptimizationService

Proprietà

ProprietàTipoDescrizione
StatusStatusStato del risolutore.
VariableTypeVariableTypeTipo di variabili create dal risolutore.

Metodi

MetodoTipo restituitoBreve descrizione
createEngine()LinearOptimizationEngineCrea un motore per risolvere programmi lineari (potenzialmente programmi lineari interi misti).

LinearOptimizationSolution

Metodi

MetodoTipo restituitoBreve descrizione
getObjectiveValue()NumberOttiene il valore della funzione obiettivo nella soluzione corrente.
getStatus()StatusOttiene lo stato della soluzione.
getVariableValue(variableName)NumberOttiene il valore di una variabile nella soluzione creata dall'ultima chiamata a LinearOptimizationEngine.solve().
isValid()BooleanDetermina se la soluzione è fattibile o ottimale.

Status

Proprietà

ProprietàTipoDescrizione
OPTIMALEnumStato quando è stata trovata una soluzione ottimale.
FEASIBLEEnumStato quando è stata trovata una soluzione fattibile (non necessariamente ottimale).
INFEASIBLEEnumStato quando il modello corrente non è fattibile (non ha una soluzione).
UNBOUNDEDEnumStato quando il modello corrente non è associato.
ABNORMALEnumStato quando non è stato possibile trovare una soluzione per motivi imprevisti.
MODEL_INVALIDEnumStato quando il modello non è valido.
NOT_SOLVEDEnumStato quando LinearOptimizationEngine.solve() non è ancora stato chiamato.

VariableType

Proprietà

ProprietàTipoDescrizione
INTEGEREnumTipo di variabile che può assumere solo valori interi.
CONTINUOUSEnumTipo di variabile che può assumere qualsiasi valore reale.