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