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可接受任何实值的变量类型。