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 una restrizione lineare del tipo lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound dove lowerBound e upperBound sono costanti, a(i) sono coefficienti costanti e x(i) sono variabili (sconosciute).
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 nella limitazione.

LinearOptimizationEngine

Metodi

MetodoTipo restituitoBreve descrizione
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintAggiunge una nuova limitazione 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 le variabili al modello in blocco.
setMaximization()LinearOptimizationEngineImposta la direzione di ottimizzazione per massimizzare la funzione obiettivo lineare.
setMinimization()LinearOptimizationEngineImposta la direzione di ottimizzazione in modo da 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 i programmi lineari (potenzialmente programmi interi misti).

LinearOptimizationSolution

Metodi

MetodoTipo restituitoBreve descrizione
getObjectiveValue()NumberRecupera il valore della funzione obiettivo nella soluzione corrente.
getStatus()StatusRecupera lo stato della soluzione.
getVariableValue(variableName)NumberRecupera 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 praticabile (non necessariamente ottimale).
INFEASIBLEEnumStato quando il modello corrente non è fattibile (non ha soluzione).
UNBOUNDEDEnumStato quando il modello corrente non è vincolato.
ABNORMALEnumStato quando non è stato possibile trovare una soluzione per motivi imprevisti.
MODEL_INVALIDEnumStato quando il modello non è valido.
NOT_SOLVEDEnumStato quando LinearOptimizationEngine.solve() non è stato ancora chiamato.

VariableType

Proprietà

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