MILP 模型:线性目标 + 线性约束 + 变量类型/上下界。
MilpModel
00 Remarks
建模 API 采用流式写法,便于构造演示与测试问题:
Dim m As New MilpModel With {.ObjectiveSense = "max"}
m.AddVariable("x", 3).AddVariable("y", 5, MilpVarType.GeneralInteger)
m.AddConstraint(New Dictionary(Of String, Double) From {{"x", 1}, {"y", 2}}, "<=", 10)
01 Syntax
Microsoft.VisualBasic.Math.LinearAlgebra.LinearProgramming.MILP.MilpModel
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| AddVariable | 1 | 追加一个变量并返回模型本身(流式建模)。 |
| AddConstraint | 1 | 追加一个约束并返回模型本身(流式建模)。 |
| VariableIndex | 1 | 变量名 → 列索引。 |
| ObjectiveCoefficients | 1 | 目标函数在当前变量顺序下的系数向量。 |
| VariableNames | 1 | 变量名称数组。 |
| Validate | 1 | 模型合法性校验。通过返回 Nothing,否则返回错误消息。 |
| ToLppProblem | 1 | 转换为既有 LP 层的 LppProblem(变量类型信息在此丢失, 仅用于连续 LP 松弛的交叉校验/复用既有入口)。 |
| ToString | 1 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| ObjectiveSense | 1 | 目标方向:"min" 或 "max"。默认 "min"。 |
| Variables | 1 | |
| Constraints | 1 |
04 Members
追加一个变量并返回模型本身(流式建模)。
AddConstraint(
Dictionary(Of String, Double), String, Double)追加一个约束并返回模型本身(流式建模)。
Parameters
| Name | Type | Description |
|---|---|---|
coefficients | Dictionary(Of String, Double) | 变量名 → 系数(缺省视为 0) |
op | String | "<=" / ">=" / "=" |
rhs | Double | 约束右端项 |
VariableIndex
变量名 → 列索引。
ObjectiveCoefficients
目标函数在当前变量顺序下的系数向量。
VariableNames
变量名称数组。
Validate
模型合法性校验。通过返回 Nothing,否则返回错误消息。
ToLppProblem
转换为既有 LP 层的 LppProblem(变量类型信息在此丢失, 仅用于连续 LP 松弛的交叉校验/复用既有入口)。
ObjectiveSense
目标方向:"min" 或 "max"。默认 "min"。
Variables
Constraints
ToString()