solve continuous-space linear programming problems by the simplex method.
LPP
00 Remarks
java source: https://github.com/gthole/lpp
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| .ctor | 4 | 从一个模型的xml反序列化结果对象中的数据创建当前的这个LPP算法 |
| makeStandardForm | 2 | Change Signs to = by adding variables |
| ArtificialVariableAssignments | 1 | 根据约束类型和添加的变量系数判断是否需要人工变量 |
| addVariableAt | 1 | Unfortunate copy and pasting going on here. |
| ToString | 1 | |
| solve | 1 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| PIVOT_ITERATION_LIMIT | 1 | |
| USE_SUBSCRIPT_UNICODE | 1 | |
| DecimalFormat | 1 | |
| ObjectFunctionVariables | 1 |
04 Fields
| Name | Overloads | Summary |
|---|---|---|
| variableNames | 1 | 这个变量名称列表之中会添加拓展的新的变量名称 可以使用objectfunction的系数长度来取出原来的输入的变量名称的列表 |
| originalConstraintTypes | 1 | 添加字段保存原始约束类型 |
| sparseConstraints | 1 | 大规模的线性规划问题(例如基因组规模的代谢网络FBA问题)的系数矩阵 以CSR稀疏矩阵的格式进行存储,以避免稠密矩阵所带来的内存溢出问题 |
| lowerBounds | 1 | 变量的下界,默认为零 |
| upperBounds | 1 | 变量的上界,默认为Double |
05 Members
| Name | Type | Description |
|---|---|---|
opt | OptimizationType | 目标函数的类型,是求取极大值还是极小值 |
variableNames | String() | 方程之中的未知变量的名称,可以省略这个函数,程序会默认会自动使用x1, x2, x3...等来自动命名 |
objectiveFunctionCoefficients | Double() | 目标函数之中每一个未知变量所对应的系数 |
constraintCoefficients | Double[0:,0:] | 方程组的左边:系数矩阵 |
constraintTypes | String() | 方程组之中的函数类型:大于,小于,等于 |
constraintRightHandSides | Double() | 方程组的右边:方程组之中每一个方程的结果值 |
objectiveFunctionValue | Double | 目标方程的目标结果值 |
从一个模型的xml反序列化结果对象中的数据创建当前的这个LPP算法
| Name | Type | Description |
|---|---|---|
lppModel | LPPModel | - |
String, String(), Double(), Double()(), String(), Double(), Double, Double(), Double())| Name | Type | Description |
|---|---|---|
objectiveFunctionType | String | 目标函数的类型,是求取极大值还是极小值 |
variableNames | String() | 方程之中的未知变量的名称,可以省略这个函数,程序会默认会自动使用x1, x2, x3...等来自动命名 |
objectiveFunctionCoefficients | Double() | 目标函数之中每一个未知变量所对应的系数 |
constraintCoefficients | Double()() | 方程组的左边:系数矩阵 |
constraintTypes | String() | 方程组之中的函数类型:大于,小于,等于 |
constraintRightHandSides | Double() | 方程组的右边:方程组之中每一个方程的结果值 |
objectiveFunctionValue | Double | 目标方程的目标结果值 |
使用CSR稀疏矩阵的格式构建大规模的线性规划问题
| Name | Type | Description |
|---|---|---|
objectiveFunctionType | String | 目标函数的类型,是求取极大值还是极小值 |
variableNames | String() | 方程之中的未知变量的名称 |
objectiveFunctionCoefficients | Double() | 目标函数之中每一个未知变量所对应的系数 |
constraintCoefficients | LpSparseMatrix | 方程组的左边的系数矩阵,这个矩阵以CSR稀疏矩阵的格式进行存储,用于 大规模的线性规划问题的求解,例如基因组规模的代谢网络的FBA问题 |
constraintTypes | String() | 方程组之中的函数类型:大于,小于,等于 |
constraintRightHandSides | Double() | 方程组的右边:方程组之中每一个方程的结果值 |
objectiveFunctionValue | Double | 目标方程的目标结果值 |
lowerBounds | Double() | 变量的下界,默认为零 |
upperBounds | Double() | 变量的上界,默认为正无穷 |
Change Signs to = by adding variables
List(Of Int32))Change signs to = by adding variables
| Name | Type | Description |
|---|---|---|
artificialVariables | List(Of Int32) | - |
根据约束类型和添加的变量系数判断是否需要人工变量
Int32, Double)Unfortunate copy and pasting going on here.
| Name | Type | Description |
|---|---|---|
constraintIndex | Int32 | - |
value | Double | - |
这个变量名称列表之中会添加拓展的新的变量名称
可以使用objectfunction的系数长度来取出原来的输入的变量名称的列表
添加字段保存原始约束类型
大规模的线性规划问题(例如基因组规模的代谢网络FBA问题)的系数矩阵 以CSR稀疏矩阵的格式进行存储,以避免稠密矩阵所带来的内存溢出问题
变量的下界,默认为零
变量的上界,默认为Double
Boolean, Boolean)