Optimization Service

最佳化

線性最佳化服務,用於模擬及解決線性和混合型整數線性程式。

類別

名稱簡短說明
LinearOptimizationConstraint儲存 lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound 形式線性約束條件的物件,其中 lowerBoundupperBound 為常數、a(i) 為常數係數,而 x(i) 為變數 (未知數)。
LinearOptimizationEngine用於模擬及解決線性程式的引擎。
LinearOptimizationService線性最佳化服務,用於模擬及解決線性和混合型整數線性程式。
LinearOptimizationSolution線性程式的解。
Status解決方案的狀態。
VariableType引擎建立的變數類型。

LinearOptimizationConstraint

方法

方法傳回類型簡短說明
setCoefficient(variableName, coefficient)LinearOptimizationConstraint設定限制中變數的係數。

LinearOptimizationEngine

方法

方法傳回類型簡短說明
addConstraint(lowerBound, upperBound)LinearOptimizationConstraint在模型中新增線性限制。
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngine將限制條件批次新增至模型。
addVariable(name, lowerBound, upperBound)LinearOptimizationEngine在模型中新增連續變數。
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngine在模型中新增變數。
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngine在模型中新增變數。
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngine將變數批次新增至模型。
setMaximization()LinearOptimizationEngine將最佳化方向設為最大化線性目標函式。
setMinimization()LinearOptimizationEngine將最佳化方向設為盡量減少線性目標函式。
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngine設定線性目標函式中變數的係數。
solve()LinearOptimizationSolution以預設的 30 秒期限,解決目前的線性程式。
solve(seconds)LinearOptimizationSolution解開目前的線性程式。

LinearOptimizationService

屬性

屬性類型說明
StatusStatus解算器的狀態。
VariableTypeVariableType解算器建立的變數類型。

方法

方法傳回類型簡短說明
createEngine()LinearOptimizationEngine建立引擎來解析線性程式 (可能為混合型整數程式)。

LinearOptimizationSolution

方法

方法傳回類型簡短說明
getObjectiveValue()Number取得目前解決方案中的目標函式值。
getStatus()Status取得解決方案的狀態。
getVariableValue(variableName)Number取得上次呼叫 LinearOptimizationEngine.solve() 時所建立的解決方案中變數的值。
isValid()Boolean判斷解決方案是否可行或最佳化。

Status

屬性

屬性類型說明
OPTIMALEnum找到最佳解決方案時的狀態。
FEASIBLEEnum找到可行 (但不一定是最佳) 解決方案時的狀態。
INFEASIBLEEnum當前模型無法實現 (沒有解決方案) 時的狀態。
UNBOUNDEDEnum當前模型未綁定時的狀態。
ABNORMALEnum因非預期原因無法找到解決方案時的狀態。
MODEL_INVALIDEnum模型無效時的狀態。
NOT_SOLVEDEnumLinearOptimizationEngine.solve() 尚未呼叫時的狀態。

VariableType

屬性

屬性類型說明
INTEGEREnum只能接受整數值的變數類型。
CONTINUOUSEnum可接受任何實際值的變數類型。