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_SOLVEDEnum尚未呼叫 LinearOptimizationEngine.solve() 時的狀態。

VariableType

屬性

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