求解器
求解器步骤根据 PlaidCloud 表求解线性规划和混合整数规划问题。当工作流需要在满足线性约束的同时选取使目标最小化或最大化的值时,请使用它。
求解器在工作流作业 Pod 中运行,并将结果写回项目表。
配置四个输入表。每个输入都有源表、数据映射和筛选器。PlaidCloud 会将这些设置转换为读取每个输入所用的数据库查询,因此选择发生在求解器接收行之前。
每个决策变量一行。
| 列 | 描述 |
|---|---|
variable_id |
其他输入表使用的唯一变量名称。 |
lower_bound |
最小值。留空表示没有下限。 |
upper_bound |
最大值。留空表示没有上限。 |
type |
continuous、integer 或 binary。二元变量的边界为 0 和 1。 |
每个目标系数非零的变量一行。
| 列 | 描述 |
|---|---|
variable_id |
来自“变量”输入的变量。 |
coefficient |
该变量的目标系数。 |
此表中缺失的变量使用系数 0。
每个线性约束一行。
| 列 | 描述 |
|---|---|
constraint_id |
“系数”输入使用的唯一约束名称。 |
lower_bound |
允许的最小活动量。留空表示没有下限。 |
upper_bound |
允许的最大活动量。留空表示没有上限。 |
对于等式约束,请将下限和上限设为相同的值。
约束系数的稀疏矩阵。
| 列 | 描述 |
|---|---|
constraint_id |
来自“约束”输入的约束。 |
variable_id |
来自“变量”输入的变量。 |
coefficient |
该变量在该约束中的系数。 |
| 选项 | 描述 |
|---|---|
| 目标方向 | 选择最小化或最大化。 |
| 时间限制 | 可选的运行时间限制,单位为秒。 |
| MIP 间隙 | 混合整数问题的可选相对 MIP 间隙。 |
| 启用预求解 | 让求解器在求解前简化模型。 |
| 使用自定义资源 | 为作业 Pod 设置 CPU 核心数和内存。 |
求解器写入三个输出表。
每个变量一行,包含求解得到的值、边界、变量类型、目标系数,以及可用时的缩减成本。
每个约束一行,包含活动量、边界、松弛量,以及可用时的对偶值。
一行,包含求解器状态、目标值、运行时间、MIP 间隙、MIP 对偶界、节点数、迭代次数、变量数和约束数。
最优求解会使步骤成功完成。如果求解器返回了可用的解但状态非最优,步骤会带着警告完成,并仍然写入输出表。如果没有可用的解,步骤会失败并给出求解器状态消息。